docs(header): add color picker

This commit is contained in:
Benjamin Canac
2024-08-21 16:12:38 +02:00
parent ac0267b14c
commit b7382f2057
4 changed files with 125 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
export default defineNuxtPlugin({
enforce: 'post',
setup() {
const appConfig = useAppConfig()
if (import.meta.client) {
if (window.localStorage.getItem('nuxt-ui-primary')) {
appConfig.ui.colors.primary = window.localStorage.getItem('nuxt-ui-primary')
}
if (window.localStorage.getItem('nuxt-ui-gray')) {
appConfig.ui.colors.gray = window.localStorage.getItem('nuxt-ui-gray')
}
}
if (import.meta.server) {
useHead({
script: [
{
innerHTML: `
let html = document.querySelector('style#nuxt-ui-colors').innerHTML;
if (localStorage.getItem('nuxt-ui-primary')) {
html = html.replaceAll('${appConfig.ui.colors.primary}', localStorage.getItem('nuxt-ui-primary'))
}
if (localStorage.getItem('nuxt-ui-gray')) {
html = html.replaceAll('${appConfig.ui.colors.gray}', localStorage.getItem('nuxt-ui-gray'))
}
document.querySelector('style#nuxt-ui-colors').innerHTML = html
`.replace(/\s+/g, ' '),
type: 'text/javascript',
tagPriority: -1
}
]
})
}
}
})