diff --git a/packages/theme/src/client/composables/darkMode.ts b/packages/theme/src/client/composables/darkMode.ts index 7071f727..acd3115c 100644 --- a/packages/theme/src/client/composables/darkMode.ts +++ b/packages/theme/src/client/composables/darkMode.ts @@ -1,4 +1,4 @@ -import { inject, provide, ref } from 'vue' +import { inject, onMounted, provide, ref } from 'vue' import type { InjectionKey, Ref } from 'vue' export type DarkModeRef = Ref @@ -23,11 +23,10 @@ export const useDarkMode = (): DarkModeRef => { */ export const setupDarkMode = (): void => { const isDark = ref(false) - if ( - typeof document !== 'undefined' && - document.documentElement.classList.contains('dark') - ) { - isDark.value = true - } + onMounted(() => { + if (document.documentElement.classList.contains('dark')) { + isDark.value = true + } + }) provide(darkModeSymbol, isDark) } diff --git a/packages/theme/src/client/styles/code.scss b/packages/theme/src/client/styles/code.scss index 01e73c19..5b068535 100644 --- a/packages/theme/src/client/styles/code.scss +++ b/packages/theme/src/client/styles/code.scss @@ -276,8 +276,8 @@ div[class*='language-'] { } } - .code-tabs-nav { - margin-bottom: -0.85rem; + .plume-content .vp-code-tabs-nav { + margin: 0 -1.5rem -0.85rem; } } diff --git a/packages/theme/src/node/defaultOptions.ts b/packages/theme/src/node/defaultOptions.ts index e8fdbacb..345da96d 100644 --- a/packages/theme/src/node/defaultOptions.ts +++ b/packages/theme/src/node/defaultOptions.ts @@ -19,16 +19,21 @@ export const mergeLocaleOptions = (options: PlumeThemeLocaleOptions) => { if (!options.locales) { options.locales = {} } - if (!options.locales['/']) { - options.locales['/'] = {} + const { locales, ...otherOptions } = options + + if (!locales['/']) { + locales['/'] = {} } Object.assign(options, { ...defaultLocaleOption, ...options, }) - Object.assign(options.locales['/'], { + + Object.assign(locales['/'], { ...defaultLocaleOption, - ...options.locales['/'], + ...JSON.parse(JSON.stringify(otherOptions)), + ...locales['/'], }) + return options }