diff --git a/components/settings/unified/UnifiedSettingsModal.tsx b/components/settings/unified/UnifiedSettingsModal.tsx index 82e20da..88e9d23 100644 --- a/components/settings/unified/UnifiedSettingsModal.tsx +++ b/components/settings/unified/UnifiedSettingsModal.tsx @@ -392,81 +392,84 @@ export default function UnifiedSettingsModal() { className="w-full max-w-3xl h-[85vh] bg-neutral-900/65 backdrop-blur-3xl backdrop-saturate-150 supports-[backdrop-filter]:bg-neutral-900/60 border border-white/[0.08] rounded-2xl shadow-xl shadow-black/20 flex flex-col overflow-hidden" onClick={e => e.stopPropagation()} > - {/* Header */} -
-
-

Settings

- -
- - {/* Context Switcher */} - s.id === activeSiteId)?.domain ?? null} - /> - - {/* Tabs */} -
- -
-
- - {/* Content — only render tab content when open to avoid unnecessary SWR calls */} -
- {isOpen && ( - - - - - - )} -
- - {/* Save bar */} - - {isDirtyVisible && ( - -
- - {hasPendingAction ? 'Save or discard to continue' : 'Unsaved changes'} - -
- {hasPendingAction && ( - - )} - -
+ {/* All content gated by isOpen — empty glass box when closed (GPU keeps blur warm) */} + {isOpen && ( + <> + {/* Header */} +
+
+

Settings

+
- - )} - + + {/* Context Switcher */} + s.id === activeSiteId)?.domain ?? null} + /> + + {/* Tabs */} +
+ +
+
+ + {/* Content */} +
+ + + + + +
+ + {/* Save bar */} + + {isDirtyVisible && ( + +
+ + {hasPendingAction ? 'Save or discard to continue' : 'Unsaved changes'} + +
+ {hasPendingAction && ( + + )} + +
+
+
+ )} +
+ + )}