import HomeSponsorsGroup from './HomeSponsorsGroup.vue'
import sponsors from './sponsors.json'
import { nextTick, onMounted } from 'vue'
-import { isDark } from '../theme/dark-theme'
+import { darkStorageConfig } from '../theme/dark-theme'
+import { useDark } from '@vueuse/core'
+
+const isDark = useDark(darkStorageConfig)
onMounted(() => {
// wait to ticks to fix the problem of SSR with no color scheme
<script setup lang="ts">
import sponsors from './sponsors.json'
-import { isDark } from '../theme/dark-theme'
import { computed } from 'vue'
import type { PropType } from 'vue'
+import { darkStorageConfig } from '../theme/dark-theme'
+import { useDark } from '@vueuse/core'
+
+const isDark = useDark(darkStorageConfig)
const props = defineProps({
name: {
<script lang="ts" setup>
import { computed } from 'vue'
-import { isDark } from '../theme/dark-theme'
+import { darkStorageConfig } from '../theme/dark-theme'
+import { useDark } from '@vueuse/core'
+
+const isDark = useDark(darkStorageConfig)
const label = computed(() =>
isDark.value ? 'Switch to light mode' : 'Switch to dark mode'
import type { FunctionalComponent } from 'vue'
import sponsors from '../components/sponsors.json'
import './sponsors.css'
-import { isDark } from './dark-theme'
+import { darkStorageConfig } from '../theme/dark-theme'
+import { useDark } from '@vueuse/core'
-export const Layout: FunctionalComponent = () =>
- h(
+export const Layout: FunctionalComponent = () => {
+ const isDark = useDark(darkStorageConfig)
+ return h(
Theme.Layout,
{
onVnodeMounted() {
]),
}
)
+}
Layout.displayName = 'CustomLayout'
-import { useDark } from '@vueuse/core'
+import type { UseDarkOptions } from '@vueuse/core'
-export const isDark = useDark({
+export const darkStorageConfig: UseDarkOptions = {
storageKey: 'pinia-color-scheme',
valueLight: 'light',
-})
+}