| import { defineStore } from 'pinia' |
| import type { AppState, Language, Theme } from './helper' |
| import { getLocalSetting, setLocalSetting } from './helper' |
| import { store } from '@/store' |
|
|
| export const useAppStore = defineStore('app-store', { |
| state: (): AppState => getLocalSetting(), |
| actions: { |
| setSiderCollapsed(collapsed: boolean) { |
| this.siderCollapsed = collapsed |
| this.recordState() |
| }, |
|
|
| setTheme(theme: Theme) { |
| this.theme = theme |
| this.recordState() |
| }, |
|
|
| setLanguage(language: Language) { |
| if (this.language !== language) { |
| this.language = language |
| this.recordState() |
| } |
| }, |
|
|
| recordState() { |
| setLocalSetting(this.$state) |
| }, |
| }, |
| }) |
|
|
| export function useAppStoreWithOut() { |
| return useAppStore(store) |
| } |
|
|