From 8358f5fcfbff412859f4b0c06b27b37cef846bae Mon Sep 17 00:00:00 2001 From: puriphatt Date: Wed, 26 Jun 2024 06:45:28 +0000 Subject: [PATCH] feat: theme local storage --- src/components/ProfileMenu.vue | 2 ++ src/layouts/MainLayout.vue | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/components/ProfileMenu.vue b/src/components/ProfileMenu.vue index bcfd1ab9..4574bfac 100644 --- a/src/components/ProfileMenu.vue +++ b/src/components/ProfileMenu.vue @@ -68,9 +68,11 @@ watch( if ($q.dark.isActive) { themeMode.value[1].isActive = true; themeMode.value[0].isActive = false; + localStorage.setItem('currentTheme', 'dark'); } else { themeMode.value[0].isActive = true; themeMode.value[1].isActive = false; + localStorage.setItem('currentTheme', 'light'); } }, ); diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 66adc8eb..50a1234e 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -149,6 +149,9 @@ onMounted(async () => { setLocale('th'); } + const getCurTheme = localStorage.getItem('currentTheme'); + if (getCurTheme === 'dark') $q.dark.toggle(); + const resultOption = await fetch('/option/option.json'); rawOption.value = await resultOption.json(); if (locale.value === 'en-US') optionStore.globalOption = rawOption.value.eng;