1
0
mirror of https://github.com/1Panel-dev/1Panel.git synced 2025-03-15 10:14:44 +08:00
真心 1a9182bfde
faet: 设置默认主题为 auto (#3634)
* faet: set default theme to `auto`
2024-01-17 18:12:52 +08:00

88 lines
2.5 KiB
Go

import { defineStore } from 'pinia';
import { GlobalState, ThemeConfigProp } from './interface';
import { createPinia } from 'pinia';
import piniaPersistConfig from '@/config/pinia-persist';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
import { DeviceType } from '@/enums/app';
import i18n from '@/lang';
export const GlobalStore = defineStore({
id: 'GlobalState',
state: (): GlobalState => ({
isLoading: false,
loadingText: '',
isLogin: false,
csrfToken: '',
entrance: '',
language: '',
themeConfig: {
panelName: '',
primary: '#005EEB',
theme: 'auto',
footer: true,
},
isFullScreen: false,
isOnRestart: false,
agreeLicense: false,
hasNewVersion: false,
ignoreCaptcha: true,
device: DeviceType.Desktop,
lastFilePath: '',
currentDB: '',
showEntranceWarn: true,
defaultNetwork: 'all',
}),
getters: {},
actions: {
setScreenFull() {
this.isFullScreen = !this.isFullScreen;
},
setLogStatus(login: boolean) {
this.isLogin = login;
},
setGlobalLoading(loading: boolean) {
this.isLoading = loading;
},
setLoadingText(text: string) {
this.loadingText = i18n.global.t('commons.loadingText.' + text);
},
setCsrfToken(token: string) {
this.csrfToken = token;
},
updateLanguage(language: any) {
this.language = language;
localStorage.setItem('lang', language);
},
setThemeConfig(themeConfig: ThemeConfigProp) {
this.themeConfig = themeConfig;
},
setAgreeLicense(agree: boolean) {
this.agreeLicense = agree;
},
toggleDevice(value: DeviceType) {
this.device = value;
},
isMobile() {
return this.device === DeviceType.Mobile;
},
setLastFilePath(path: string) {
this.lastFilePath = path;
},
setCurrentDB(name: string) {
this.currentDB = name;
},
setShowEntranceWarn(show: boolean) {
this.showEntranceWarn = show;
},
setDefaultNetwork(net: string) {
this.defaultNetwork = net;
},
},
persist: piniaPersistConfig('GlobalState'),
});
const pinia = createPinia();
pinia.use(piniaPluginPersistedstate);
export default pinia;