1
0
mirror of synced 2026-03-22 20:54:47 +08:00

feat: sharedComposable for dark mode

This commit is contained in:
YunYouJun
2025-10-06 21:37:23 +08:00
parent b53d6ae23a
commit 0c79b3d0a7
8 changed files with 36 additions and 28 deletions

View File

@@ -1,9 +1,15 @@
export const color = useColorMode()
export const isDark = computed(() => color.value === 'dark')
import { ionDarkClass } from '~/constants'
export const ionDarkClass = 'ion-palette-dark'
export const useDarkMode = createSharedComposable(() => {
const color = useColorMode()
const isDark = computed(() => color.value === 'dark')
export function toggleDark() {
color.preference = color.value === 'dark' ? 'light' : 'dark'
document.documentElement.classList.toggle(ionDarkClass, !isDark.value)
}
return {
color,
isDark,
toggleDark() {
color.preference = color.value === 'dark' ? 'light' : 'dark'
document.documentElement.classList.toggle(ionDarkClass, !isDark.value)
},
}
})