import { defineStore } from 'pinia'; import { useColorMode } from '@vueuse/core'; import { i18n } from '@/plugin'; import { LocalStorageApi } from '@/util/Cookies.ts'; export const UseSettingStore = defineStore('setting', { state: () => { const { store, state } = useColorMode(); return { themeMode: store, theme: state, appName: '', appVersion: '', language: 'zh-cn', }; }, persist: { storage: LocalStorageApi.StorageApi, pick: ['themeMode', 'appName', 'appVersion', 'language'], }, actions: { setLanguage(data: string | null) { if (data == null) { i18n.global.locale.value = this.language; return; } this.language = data; i18n.global.locale.value = data; }, }, });