fix: persist dark mode across refresh

This commit is contained in:
supalerk-ar66 2026-01-23 13:27:19 +07:00
parent 5d6cab229f
commit 73a4ea6562
2 changed files with 11 additions and 1 deletions

View file

@ -3,11 +3,19 @@
const { fetchUserProfile, isAuthenticated } = useAuth()
// เมื่อ App เริ่มทำงาน (Mounted)
// หากผู้ใช้ Login ค้างไว้ (มี Token) ให้ดึงข้อมูล Profile ล่าสุดทันที
onMounted(() => {
// 1. หากผู้ใช้ Login ค้างไว้ (มี Token) ให้ดึงข้อมูล Profile ล่าสุดทันที
if (isAuthenticated.value) {
fetchUserProfile()
}
// 2. ตรวจสอบและคืนค่า Theme (Dark/Light) จาก LocalStorage
const savedTheme = localStorage.getItem('theme')
if (savedTheme === 'dark' || (!savedTheme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
})
</script>

View file

@ -67,8 +67,10 @@ const toggleDarkMode = () => {
isDarkMode.value = !isDarkMode.value
if (isDarkMode.value) {
document.documentElement.classList.add('dark')
localStorage.setItem('theme', 'dark')
} else {
document.documentElement.classList.remove('dark')
localStorage.setItem('theme', 'light')
}
}