diff --git a/index.js b/index.js index dd0e699..b5ae314 100644 --- a/index.js +++ b/index.js @@ -358,6 +358,37 @@ async function initUI() { } }); + // Reset FAB positions button + $('#rpg-reset-fab-positions').on('click', function() { + console.log('[RPG Companion] Resetting FAB positions to defaults'); + + // Reset to defaults (top-left stacked) + extensionSettings.mobileFabPosition = { + top: 'calc(var(--topBarBlockSize) + 20px)', + left: '12px' + }; + extensionSettings.mobileRefreshPosition = { + top: 'calc(var(--topBarBlockSize) + 80px)', + left: '12px' + }; + extensionSettings.debugFabPosition = { + top: 'calc(var(--topBarBlockSize) + 140px)', + left: '12px' + }; + + // Save settings + saveSettings(); + + // Apply positions immediately to visible buttons + $('#rpg-mobile-toggle').css(extensionSettings.mobileFabPosition); + $('#rpg-manual-update-mobile').css(extensionSettings.mobileRefreshPosition); + $('#rpg-debug-toggle').css(extensionSettings.debugFabPosition); + + // Show success feedback + toastr.success('Button positions reset to defaults', 'RPG Companion'); + console.log('[RPG Companion] FAB positions reset successfully'); + }); + $('#rpg-stat-bar-color-low').on('change', function() { extensionSettings.statBarColorLow = String($(this).val()); saveSettings(); diff --git a/style.css b/style.css index e947926..a03ec60 100644 --- a/style.css +++ b/style.css @@ -2054,6 +2054,34 @@ body:has(.rpg-panel.rpg-position-left) #sheld { transform: translateY(0); } +.rpg-btn-reset-fab { + width: 100%; + padding: 0.625em; + background: rgba(52, 152, 219, 0.2); + border: 2px solid rgba(52, 152, 219, 0.5); + border-radius: 0.5em; + color: #5dade2; + font-size: 1.2vw; + font-weight: 600; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + gap: 0.5em; + transition: all 0.3s ease; +} + +.rpg-btn-reset-fab:hover { + background: rgba(52, 152, 219, 0.3); + border-color: rgba(52, 152, 219, 0.8); + color: #85c1e9; + transform: translateY(-0.062rem); +} + +.rpg-btn-reset-fab:active { + transform: translateY(0); +} + /* ============================================ THEME VARIATIONS ============================================ */ @@ -4091,6 +4119,10 @@ body:has(.rpg-panel.rpg-position-left) #sheld { .rpg-btn-clear-cache { font-size: clamp(13px, 3.3vw, 17px) !important; } + + .rpg-btn-reset-fab { + font-size: clamp(13px, 3.3vw, 17px) !important; + } } /* Very narrow screens - single column layout for all stats */ diff --git a/template.html b/template.html index b5c9247..b72fb5e 100644 --- a/template.html +++ b/template.html @@ -237,6 +237,16 @@ Clear Extension Cache + + +
+ + + Resets all floating action buttons (toggle, refresh, debug) to default top-left positions. Useful if buttons are off-screen. + +