aboutsummaryrefslogtreecommitdiff
path: root/src/ui/theme/theme.store.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/theme/theme.store.ts')
-rw-r--r--src/ui/theme/theme.store.ts20
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';
+ },
+ },
+});