Bonsai-Chat-WebGPU / src /app /theme.ts
Valeriy Selitskiy
Release v1.2.1 adaptive chat workspace
6c62075
Raw
History Blame Contribute Delete
495 Bytes
export type ThemeMode = 'system' | 'light' | 'dark';
export type ResolvedTheme = Exclude<ThemeMode, 'system'>;
export const THEME_STORAGE_KEY = 'bonsai-theme';
export function normalizeThemeMode(value: string | null | undefined): ThemeMode {
return value === 'light' || value === 'dark' || value === 'system' ? value : 'system';
}
export function resolveThemeMode(mode: ThemeMode, systemDark: boolean): ResolvedTheme {
return mode === 'system' ? (systemDark ? 'dark' : 'light') : mode;
}