mirror of
https://github.com/ArthurDanjou/website-old.git
synced 2026-01-24 17:00:33 +01:00
Fix footer + Add Posts preview + fix header + about + blog + index page
This commit is contained in:
34
build/color-mode/plugin.server.js
Normal file
34
build/color-mode/plugin.server.js
Normal file
@@ -0,0 +1,34 @@
|
||||
import Vue from 'vue'
|
||||
import colorSchemeComponent from './color-scheme'
|
||||
|
||||
Vue.component('ColorScheme', colorSchemeComponent)
|
||||
|
||||
export default function (ctx, inject) {
|
||||
const preference = 'system'
|
||||
|
||||
const colorMode = {
|
||||
preference,
|
||||
value: preference,
|
||||
unknown: true,
|
||||
forced: false
|
||||
}
|
||||
|
||||
if (ctx.route.matched[0]) {
|
||||
const pageColorMode = ctx.route.matched[0].components.default.options.colorMode
|
||||
if (pageColorMode && pageColorMode !== 'system') {
|
||||
colorMode.value = pageColorMode
|
||||
colorMode.forced = true
|
||||
|
||||
ctx.app.head.bodyAttrs = ctx.app.head.bodyAttrs || {}
|
||||
ctx.app.head.bodyAttrs['data-color-mode-forced'] = pageColorMode
|
||||
} else if (pageColorMode === 'system') {
|
||||
console.warn('You cannot force the colorMode to system at the page level.')
|
||||
}
|
||||
}
|
||||
|
||||
ctx.beforeNuxtRender(({ nuxtState }) => {
|
||||
nuxtState.colorMode = colorMode
|
||||
})
|
||||
|
||||
inject('colorMode', colorMode)
|
||||
}
|
||||
Reference in New Issue
Block a user