elearning/Frontend-Learner/plugins/theme.client.ts

21 lines
689 B
TypeScript

export default defineNuxtPlugin((nuxtApp) => {
const { $q } = useQuasar()
// ฟังก์ชันสลับโหมดและ Sync กับ Quasar
const updateTheme = (isDark: boolean) => {
if (isDark) {
document.documentElement.classList.add('dark')
if ($q) $q.dark.set(true)
} else {
document.documentElement.classList.remove('dark')
if ($q) $q.dark.set(false)
}
}
// ตอนเริ่มทำงานบน Client
if (process.client) {
const savedTheme = localStorage.getItem('theme')
const isDark = savedTheme === 'dark' || (!savedTheme && window.matchMedia('(prefers-color-scheme: dark)').matches)
}
})