diff options
| author | Adam <[email protected]> | 2026-03-25 06:25:57 -0500 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-25 06:25:57 -0500 |
| commit | 1041ae91d1a39401fe099747e3bc093bdcdaa079 (patch) | |
| tree | ca5515910ad01f76639577ef8e3a991b644a5ade /packages/app/src/context/settings.tsx | |
| parent | 898456a25cf2edbfc4ae4961b37424f633419dd6 (diff) | |
| download | opencode-1041ae91d1a39401fe099747e3bc093bdcdaa079.tar.gz opencode-1041ae91d1a39401fe099747e3bc093bdcdaa079.zip | |
Reapply "fix(app): startup efficiency"
This reverts commit 898456a25cf2edbfc4ae4961b37424f633419dd6.
Diffstat (limited to 'packages/app/src/context/settings.tsx')
| -rw-r--r-- | packages/app/src/context/settings.tsx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/packages/app/src/context/settings.tsx b/packages/app/src/context/settings.tsx index 48788fe8e..eddd752eb 100644 --- a/packages/app/src/context/settings.tsx +++ b/packages/app/src/context/settings.tsx @@ -104,6 +104,13 @@ function withFallback<T>(read: () => T | undefined, fallback: T) { return createMemo(() => read() ?? fallback) } +let font: Promise<typeof import("@opencode-ai/ui/font-loader")> | undefined + +function loadFont() { + font ??= import("@opencode-ai/ui/font-loader") + return font +} + export const { use: useSettings, provider: SettingsProvider } = createSimpleContext({ name: "Settings", init: () => { @@ -111,7 +118,11 @@ export const { use: useSettings, provider: SettingsProvider } = createSimpleCont createEffect(() => { if (typeof document === "undefined") return - document.documentElement.style.setProperty("--font-family-mono", monoFontFamily(store.appearance?.font)) + const id = store.appearance?.font ?? defaultSettings.appearance.font + if (id !== defaultSettings.appearance.font) { + void loadFont().then((x) => x.ensureMonoFont(id)) + } + document.documentElement.style.setProperty("--font-family-mono", monoFontFamily(id)) }) return { |
