use new syntax for vuetify theme change

This commit is contained in:
Gauthier Roebroeck 2025-08-06 15:24:47 +08:00
parent 37b734d380
commit 19ce6c8a10

View file

@ -1,24 +1,19 @@
import { useTheme } from 'vuetify'
import { useAppStore } from '@/stores/app'
import { usePreferredDark } from '@vueuse/core'
export function useThemeWatcher() {
const appStore = useAppStore()
const theme = useTheme()
const prefersDark = usePreferredDark()
function updateTheme(selectedTheme: string, prefersDark: boolean) {
if (selectedTheme === 'system') {
theme.global.name.value = prefersDark ? 'dark' : 'light'
} else {
theme.global.name.value = selectedTheme
}
function updateTheme(selectedTheme: string) {
theme.change(selectedTheme)
}
watch([() => appStore.theme, prefersDark], ([selectedTheme, prefersDark]) =>
updateTheme(selectedTheme, prefersDark),
watch(
() => appStore.theme,
(selectedTheme) => updateTheme(selectedTheme),
)
// trigger an update on startup to get the proper theme loaded
updateTheme(appStore.theme, prefersDark.value)
updateTheme(appStore.theme)
}