Modrinth/plugins/1.theme.js
Geometrically 7214b71c29
Bump Nuxt + Minor Fixes (#1065)
* Bump Nuxt + Minor Fixes

* Run lint
2023-03-27 09:20:25 -07:00

24 lines
687 B
JavaScript

export default defineNuxtPlugin((nuxtApp) => {
const themeStore = useTheme()
nuxtApp.hook('app:mounted', () => {
if (process.client && themeStore.value.preference === 'system') {
const colorSchemeQueryList = window.matchMedia('(prefers-color-scheme: light)')
const setColorScheme = (e) => {
if (themeStore.value.preference === 'system') {
if (e.matches) {
updateTheme('light')
} else {
updateTheme('dark')
}
}
}
setColorScheme(colorSchemeQueryList)
colorSchemeQueryList.addEventListener('change', setColorScheme)
}
})
nuxtApp.provide('colorMode', themeStore.value)
})