feat(desktop): macOS vibrancy for the left sidebar with a toggle
Add native macOS vibrancy behind the left sidebar (the only translucent surface; header/chat/right sidebar stay opaque), plus a setting to turn it off. - Window created with vibrancy applied after first show (avoids the cold-launch no-composite quirk); minimize/restore suppress the frost during the genie animation. Renderer frosts the sidebar via --sidebar-vibrancy-overlay once data-oc-vibrancy[-ready] are set; project-actions pill matches when open. - data-oc-vibrancy-ready defaults are set in cssGenerator (DOM guaranteed), not the preload (document-start race left the sidebar un-frosted on launch). - prefers-reduced-transparency falls back to solid surfaces. - Appearance settings (macOS desktop only): a checkbox to enable/disable vibrancy, persisted to settings.json and applied via a Save & restart button (vibrancy is a window-creation option, so it needs a relaunch).
This commit is contained in:
@@ -345,7 +345,9 @@ export function ThemeSystemProvider({ children, defaultThemeId }: ThemeSystemPro
|
||||
if (typeof document === 'undefined') {
|
||||
return;
|
||||
}
|
||||
const chromeColor = theme.colors.surface.background;
|
||||
const hasMacVibrancy = document.documentElement.hasAttribute('data-oc-vibrancy')
|
||||
|| window.__OPENCHAMBER_ELECTRON__?.macVibrancy === true;
|
||||
const chromeColor = hasMacVibrancy ? 'transparent' : theme.colors.surface.background;
|
||||
|
||||
document.body.style.backgroundColor = chromeColor;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user