Files
yaak/apps/yaak-client/font.ts
2026-05-07 15:50:10 -07:00

22 lines
822 B
TypeScript

// Listen for settings changes, the re-compute theme
import { listen } from "@tauri-apps/api/event";
import type { ModelPayload, Settings } from "@yaakapp-internal/models";
import { fireAndForget } from "./lib/fireAndForget";
import { getSettings } from "./lib/settings";
function setFonts(settings: Settings) {
document.documentElement.style.setProperty("--font-family-editor", settings.editorFont ?? "");
document.documentElement.style.setProperty(
"--font-family-interface",
settings.interfaceFont ?? "",
);
}
listen<ModelPayload>("model_write", async (event) => {
if (event.payload.change.type !== "upsert") return;
if (event.payload.model.model !== "settings") return;
setFonts(event.payload.model);
}).catch(console.error);
fireAndForget(getSettings().then((settings) => setFonts(settings)));