diff --git a/theme/src/client/components/Home/VPHomeHero.vue b/theme/src/client/components/Home/VPHomeHero.vue index d3435e25..192864c9 100644 --- a/theme/src/client/components/Home/VPHomeHero.vue +++ b/theme/src/client/components/Home/VPHomeHero.vue @@ -46,7 +46,9 @@ function noTransition() { let defaultTheme: string | undefined watch(() => props.forceDark, () => { - if (inBrowser && props.forceDark) { + if (!inBrowser || __VUEPRESS_SSR__) + return + if (props.forceDark) { defaultTheme ??= document.documentElement.dataset.theme document.documentElement.dataset.theme = 'dark' document.documentElement.classList.add('force-dark') diff --git a/theme/src/client/composables/css-var.ts b/theme/src/client/composables/css-var.ts index a47e356e..e24dfac8 100644 --- a/theme/src/client/composables/css-var.ts +++ b/theme/src/client/composables/css-var.ts @@ -15,7 +15,7 @@ export function useCssVar( function updateCssVar() { const _window = typeof window ? window : null - const target = _window?.document.documentElement + const target = _window?.document?.documentElement const key = toValue(prop) if (target && key) { const value = _window.getComputedStyle(target).getPropertyValue(key)?.trim()