mirror of
https://github.com/mountain-loop/yaak.git
synced 2025-12-23 22:48:55 -05:00
21 lines
754 B
TypeScript
21 lines
754 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 { 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);
|
|
|
|
getSettings().then((settings) => setFonts(settings));
|