UNPKG

@bg-dev/nuxt-naiveui

Version:

Unofficial Naive UI module for Nuxt

20 lines (19 loc) 766 B
import { defineNuxtPlugin, useNaiveColorMode, useRouter } from "#imports"; export default defineNuxtPlugin((nuxtApp) => { const { colorModePreference, colorModeForced } = useNaiveColorMode(); const colorModePage = useRouter().currentRoute.value?.meta.colorMode; colorModeForced.value = colorModePage || false; colorModePreference.sync(); nuxtApp.hook("page:loading:end", () => colorModePreference.sync()); useRouter().afterEach((to) => { const colorModePage2 = to?.meta.colorMode; colorModeForced.value = colorModePage2 || false; }); nuxtApp.hook("app:mounted", () => { document.addEventListener("visibilitychange", () => { if (document.visibilityState === "visible") { colorModePreference.sync(); } }); }); });