1
1
<!-- docs/.vitepress /theme/Layout.vue -->
2
- <script setup lang="ts">
2
+ <script lang="ts" setup >
3
3
import DefaultTheme from 'vitepress/theme'
4
- import {inBrowser, useData} from 'vitepress'
5
- import {ref, watchEffect} from 'vue'
6
- import {darkTheme, lightTheme} from 'naive-ui'
7
-
8
- import {useDark, useToggle} from '@vueuse/core'
9
- import {useColorMode} from '@vueuse/core'
4
+ import { inBrowser, useData } from 'vitepress'
5
+ import { watchEffect } from 'vue'
6
+ import { darkTheme, lightTheme } from 'naive-ui'
7
+ import { useQuasar } from 'quasar'
10
8
11
9
// const isDark = ref(false)
12
10
// isDark.value = useColorMode().value === 'dark';
@@ -15,19 +13,23 @@ import {useColorMode} from '@vueuse/core'
15
13
// todo x: dark theme change
16
14
// - https://vitepress.dev/guide/extending-default-theme#using-view-transitions-api
17
15
//
18
- const {isDark} = useData()
19
- const {lang} = useData()
20
-
16
+ const { isDark } = useData()
17
+ const { lang } = useData()
18
+ const $q = useQuasar()
21
19
22
20
watchEffect(() => {
21
+ //
22
+ // todo x: fix: dark mode change
23
+ //
24
+ $q.dark.set(isDark.value)
25
+
23
26
if (inBrowser) {
24
27
document.cookie = `nf_lang=${lang.value}; expires=Mon, 1 Jan 2050 00:00:00 UTC; path=/`
25
28
}
26
29
})
27
30
</script>
28
31
29
32
<template>
30
-
31
33
<!-- todo x:
32
34
- 此文件相当于 app.vue
33
35
- naive ui 的一些涉及 全局样式的设置, 都在此修改
@@ -42,7 +44,7 @@ watchEffect(() => {
42
44
<n-config-provider :theme="isDark ? darkTheme : lightTheme">
43
45
<n-message-provider>
44
46
<!-- 默认-->
45
- <DefaultTheme.Layout/>
47
+ <DefaultTheme.Layout />
46
48
</n-message-provider>
47
49
</n-config-provider>
48
50
</template>
0 commit comments