Files
yaak/src-web/font.ts
2026-03-13 09:27:56 -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)));