Files
AstralRinth/apps/frontend/src/plugins/theme/preferred-theme.ts
Cal H. 2aabcf36ee refactor: migrate to common eslint+prettier configs (#4168)
* refactor: migrate to common eslint+prettier configs

* fix: prettier frontend

* feat: config changes

* fix: lint issues

* fix: lint

* fix: type imports

* fix: cyclical import issue

* fix: lockfile

* fix: missing dep

* fix: switch to tabs

* fix: continue switch to tabs

* fix: rustfmt parity

* fix: moderation lint issue

* fix: lint issues

* fix: ui intl

* fix: lint issues

* Revert "fix: rustfmt parity"

This reverts commit cb99d2376c321d813d4b7fc7e2a213bb30a54711.

* feat: revert last rs
2025-08-14 20:48:38 +00:00

33 lines
720 B
TypeScript

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,
})
}