diff options
Diffstat (limited to 'src/ui/theme/theme.store.ts')
-rw-r--r-- | src/ui/theme/theme.store.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ui/theme/theme.store.ts b/src/ui/theme/theme.store.ts new file mode 100644 index 0000000..e2457fc --- /dev/null +++ b/src/ui/theme/theme.store.ts @@ -0,0 +1,20 @@ +import { defineStore } from 'pinia'; + +export const useThemeStore = defineStore('ui-theme', { + state: () => ({ + themeType: useStorage<'dark' | 'light'>('ui-store:theme-type', 'dark') as Ref<'dark' | 'light'>, + }), + getters: { + isDarkTheme(): boolean { + return this.themeType === 'dark'; + }, + isLightTheme(): boolean { + return this.themeType === 'light'; + }, + }, + actions: { + toggleTheme() { + this.themeType = this.isDarkTheme ? 'light' : 'dark'; + }, + }, +}); |