diff options
Diffstat (limited to 'packages/app')
| -rw-r--r-- | packages/app/src/components/titlebar.tsx | 5 | ||||
| -rw-r--r-- | packages/app/src/context/platform.tsx | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx index 001f7a567..affb68541 100644 --- a/packages/app/src/components/titlebar.tsx +++ b/packages/app/src/components/titlebar.tsx @@ -24,6 +24,8 @@ export function Titlebar() { const mac = createMemo(() => platform.platform === "desktop" && platform.os === "macos") const windows = createMemo(() => platform.platform === "desktop" && platform.os === "windows") const web = createMemo(() => platform.platform === "web") + const zoom = () => platform.webviewZoom?.() ?? 1 + const minHeight = () => (mac() ? `${40 / zoom()}px` : undefined) const [history, setHistory] = createStore({ stack: [] as string[], @@ -134,6 +136,7 @@ export function Titlebar() { return ( <header class="h-10 shrink-0 bg-background-base relative grid grid-cols-[auto_minmax(0,1fr)_auto] items-center" + style={{ "min-height": minHeight() }} data-tauri-drag-region > <div @@ -145,7 +148,7 @@ export function Titlebar() { data-tauri-drag-region > <Show when={mac()}> - <div class="w-[72px] h-full shrink-0" data-tauri-drag-region /> + <div class="h-full shrink-0" style={{ width: `${72 / zoom()}px` }} data-tauri-drag-region /> <div class="xl:hidden w-10 shrink-0 flex items-center justify-center"> <IconButton icon="menu" diff --git a/packages/app/src/context/platform.tsx b/packages/app/src/context/platform.tsx index f6fb157f0..591bd9c9f 100644 --- a/packages/app/src/context/platform.tsx +++ b/packages/app/src/context/platform.tsx @@ -1,5 +1,6 @@ import { createSimpleContext } from "@opencode-ai/ui/context" import { AsyncStorage, SyncStorage } from "@solid-primitives/storage" +import type { Accessor } from "solid-js" export type Platform = { /** Platform discriminator */ @@ -55,6 +56,9 @@ export type Platform = { /** Parse markdown to HTML using native parser (desktop only, returns unprocessed code blocks) */ parseMarkdown?(markdown: string): Promise<string> + + /** Webview zoom level (desktop only) */ + webviewZoom?: Accessor<number> } export const { use: usePlatform, provider: PlatformProvider } = createSimpleContext({ |
