diff options
| author | Luke Parker <[email protected]> | 2026-03-12 16:38:56 +1000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-12 16:38:56 +1000 |
| commit | d481f64bdeaca91226e66c0e7888c7a10ba631f7 (patch) | |
| tree | 8700aaad0363342015ffc49cb962620186e1f7f0 /packages/app | |
| parent | 54e7baa6cfff86627e5555842560b4a20e4be424 (diff) | |
| download | opencode-d481f64bdeaca91226e66c0e7888c7a10ba631f7.tar.gz opencode-d481f64bdeaca91226e66c0e7888c7a10ba631f7.zip | |
fix(electron): theme Windows titlebar overlay (#16843)
Co-authored-by: Brendan Allan <[email protected]>
Diffstat (limited to 'packages/app')
| -rw-r--r-- | packages/app/src/app.tsx | 9 | ||||
| -rw-r--r-- | packages/app/src/components/titlebar.tsx | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx index 52a1dac6a..2790e7d3c 100644 --- a/packages/app/src/app.tsx +++ b/packages/app/src/app.tsx @@ -62,6 +62,9 @@ declare global { deepLinks?: string[] wsl?: boolean } + api?: { + setTitlebar?: (theme: { mode: "light" | "dark" }) => Promise<void> + } } } @@ -115,7 +118,11 @@ export function AppBaseProviders(props: ParentProps) { return ( <MetaProvider> <Font /> - <ThemeProvider> + <ThemeProvider + onThemeApplied={(_, mode) => { + void window.api?.setTitlebar?.({ mode }) + }} + > <LanguageProvider> <UiI18nBridge> <ErrorBoundary fallback={(error) => <ErrorPage error={error} />}> diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index b45f81150..3e2374f43 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -1,4 +1,4 @@ -import { createEffect, createMemo, Show, untrack } from "solid-js" +import { createEffect, createMemo, onCleanup, Show, untrack } from "solid-js" import { createStore } from "solid-js/store" import { useLocation, useNavigate, useParams } from "@solidjs/router" import { IconButton } from "@opencode-ai/ui/icon-button" @@ -282,7 +282,7 @@ export function Titlebar() { > <div id="opencode-titlebar-right" class="flex items-center gap-1 shrink-0 justify-end" /> <Show when={windows()}> - <div class="w-6 shrink-0" /> + {!tauriApi() && <div class="w-36 shrink-0" />} <div data-tauri-decorum-tb class="flex flex-row" /> </Show> </div> |
