import { type DarkTheme, isDarkTheme } from './themes.ts' export function usePreferredThemes() { // TODO: migrate theme preferences out of cosmetics to theme settings const cosmetics = useCosmetics() const dark = computed({ get(): DarkTheme { const theme = cosmetics.value?.preferredDarkTheme if (theme == null) { console.warn('[theme] cosmetics.preferredDarkTheme is not defined') return 'dark' } if (!isDarkTheme(theme)) { console.warn(`[theme] cosmetics.preferredDarkTheme contains invalid value: ${theme}`) return 'dark' } return theme }, set(value) { cosmetics.value.preferredDarkTheme = value }, }) return reactive({ dark, light: 'light' as const, }) }