forked from natuka/web.puabadge.com
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
792 B
30 lines
792 B
<script setup lang="ts"> |
|
import type { ConfigProviderTheme } from 'vant' |
|
import { localStorage } from '@/utils/local-storage' |
|
import { useStore } from '@/stores' |
|
|
|
const store = useStore() |
|
const theme = ref<ConfigProviderTheme>('light') |
|
const mode = computed(() => store.mode) |
|
|
|
watch(mode, (val) => { |
|
if (val === 'dark' || localStorage.get('theme') === 'dark') { |
|
theme.value = 'dark' |
|
document.querySelector('html') |
|
.setAttribute('data-theme', 'dark') |
|
} |
|
else { |
|
theme.value = 'light' |
|
document.querySelector('html') |
|
.setAttribute('data-theme', 'light') |
|
} |
|
}, { immediate: true }) |
|
|
|
provide('isRealDark', computed(() => theme.value === 'dark')) |
|
</script> |
|
|
|
<template> |
|
<van-config-provider :theme="theme"> |
|
<router-view /> |
|
</van-config-provider> |
|
</template>
|
|
|