kun-galgame-vue/src/store/modules/settings.ts

52 lines
1.4 KiB
TypeScript
Raw Normal View History

2023-05-12 18:23:22 +00:00
// KUNGalgame 设置面板的 store
import { defineStore } from 'pinia'
2023-05-26 09:07:35 +00:00
2023-06-15 15:51:50 +00:00
// 网站的默认设置
import { lang, mode } from '@/utils/getDefaultEnv'
2023-05-26 09:07:35 +00:00
// 设置面板配置
interface KUNGalgameSettings {
// 是否显示设置面板
showKUNGalgamePanel: boolean
2023-06-06 16:58:09 +00:00
// 白天黑夜模式切换
showKUNGalgameMode: string
// 网站显示语言
showKUNGalgameLanguage: string
2023-05-26 09:07:35 +00:00
// 主页宽度
showKUNGalgameMainPageWidth: string
2023-05-27 02:39:57 +00:00
// 背景图
showKUNGalgameBackground: string
2023-05-30 14:06:30 +00:00
// 自定义背景图
showKUNGalgameCustomBackground: string
2023-05-26 09:07:35 +00:00
}
export const useKUNGalgameSettingsStore = defineStore({
id: 'KUNGalgame-settings',
persist: true,
// 默认值
state: (): KUNGalgameSettings => ({
showKUNGalgamePanel: false,
2023-06-15 15:51:50 +00:00
showKUNGalgameMode: mode,
showKUNGalgameLanguage: lang,
showKUNGalgameMainPageWidth: '61.8',
showKUNGalgameBackground: 'none',
showKUNGalgameCustomBackground: '',
}),
actions: {
// 恢复出厂设置()
restoreSettings() {
this.showKUNGalgamePanel = false
2023-06-06 16:58:09 +00:00
this.setKUNGalgameTheme('light')
this.showKUNGalgameLanguage = 'en'
this.showKUNGalgameMainPageWidth = '61.8'
this.showKUNGalgameBackground = 'none'
this.showKUNGalgameCustomBackground = ''
},
2023-06-06 16:58:09 +00:00
// 设置主题,只有两种模式 light 和 darklight 为 ''
setKUNGalgameTheme(theme: string) {
this.showKUNGalgameMode = theme
document.documentElement.className = theme
},
},
2023-05-12 18:23:22 +00:00
})