53 lines
1.3 KiB
TypeScript
Raw Normal View History

import { defineStore } from 'pinia'
import layoutSettings from '@/config/layout'
interface ISettingsState {
fixedHeader: boolean
showSettings: boolean
showTagsView: boolean
showSidebarLogo: boolean
showThemeSwitch: boolean
showScreenfull: boolean
}
export const useSettingsStore = defineStore({
id: 'settings',
state: (): ISettingsState => {
return {
fixedHeader: layoutSettings.fixedHeader,
showSettings: layoutSettings.showSettings,
showTagsView: layoutSettings.showTagsView,
showSidebarLogo: layoutSettings.showSidebarLogo,
showThemeSwitch: layoutSettings.showThemeSwitch,
showScreenfull: layoutSettings.showScreenfull
}
},
actions: {
changeSetting(payload: { key: string, value: any }) {
const { key, value } = payload
switch (key) {
case 'fixedHeader':
this.fixedHeader = value
break
case 'showSettings':
this.showSettings = value
break
case 'showSidebarLogo':
this.showSidebarLogo = value
break
case 'showTagsView':
this.showTagsView = value
break
case 'showThemeSwitch':
this.showThemeSwitch = value
break
case 'showScreenfull':
this.showScreenfull = value
break
default:
break
}
}
}
})