From 643ead6f53e373c13d9561d662bd67e2076d8f4e Mon Sep 17 00:00:00 2001 From: brooklyn! Date: Wed, 9 Sep 2026 19:42:35 -0500 Subject: [PATCH] fix(desktop): keep settings search opaque under Glass MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the existing opaque-surface contract on the search pill, which sits outside the raised card. Preserve the current theme tokens and palette handoff. Co-authored-by: Moisés Valero --- apps/desktop/src/app/settings/index.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/app/settings/index.tsx b/apps/desktop/src/app/settings/index.tsx index c019f82b43..8ca5de1dfe 100644 --- a/apps/desktop/src/app/settings/index.tsx +++ b/apps/desktop/src/app/settings/index.tsx @@ -334,8 +334,8 @@ export function SettingsView({ onClose, onConfigSaved, onMainModelChanged }: Set // Fake search pill riding the card's top edge, dead-center and half off it. // Clicking (or just typing) opens the ⌘K palette scoped to settings; while // the palette is up the pill hands over to it — grows slightly and fades, - // then fades back when the palette closes. It renders as chrome, not an - // input — no border, recessed fill, live ⌘K hint. + // then fades back when the palette closes. It sits outside the raised card, + // so it needs its own opaque glass surface to mask the content underneath. const searchCombo = bindingsFor('nav.commandPalette')[0] const paletteOpen = useStore($commandPaletteOpen) @@ -345,6 +345,7 @@ export function SettingsView({ onClose, onConfigSaved, onMainModelChanged }: Set 'flex h-(--titlebar-control-height) items-center gap-1.5 rounded-full border border-(--ui-stroke-secondary) bg-(--ui-chat-surface-background) px-2.5 text-(--ui-text-tertiary) shadow-sm transition-all duration-200 ease-out hover:text-foreground motion-reduce:transition-none', paletteOpen && 'pointer-events-none scale-110 opacity-0' )} + data-glass-opaque="" onClick={() => { triggerHaptic('open') openCommandPalettePage('settings')