| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import defaultSettings from '@/settings'
- import {useDynamicTitle} from '@/utils/dynamicTitle'
- const {sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle} = defaultSettings
- const storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''
- const useSettingsStore = defineStore(
- 'settings',
- {
- state: () => ({
- title: '',
- theme: storageSetting.theme || '#FF0066',
- sideTheme: storageSetting.sideTheme || sideTheme,
- showSettings: showSettings,
- topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
- tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
- fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
- sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
- dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle,
- isDark: false
- }),
- actions: {
- // レイアウト設定を変更
- changeSetting(data) {
- const {key, value} = data
- if (this.hasOwnProperty(key)) {
- this[key] = value
- }
- },
- // ウェブページタイトルを設定
- setTitle(title) {
- this.title = title
- useDynamicTitle()
- }
- }
- })
- export default useSettingsStore
|