| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { defineStore } from 'pinia';
- import defaultSettings from '@/settings';
- import { useDynamicTitle } from '@/utils/dynamicTitle';
- export const useSettingsStore = defineStore('setting', () => {
- const storageSetting = useStorage<LayoutSetting>('layout-setting', {
- topNav: defaultSettings.topNav,
- tagsView: defaultSettings.tagsView,
- fixedHeader: defaultSettings.fixedHeader,
- sidebarLogo: defaultSettings.sidebarLogo,
- dynamicTitle: defaultSettings.dynamicTitle,
- sideTheme: defaultSettings.sideTheme,
- theme: defaultSettings.theme
- });
- const title = ref<string>(defaultSettings.title);
- const theme = ref<string>(storageSetting.value.theme);
- const sideTheme = ref<string>(storageSetting.value.sideTheme);
- const showSettings = ref<boolean>(defaultSettings.showSettings);
- const topNav = ref<boolean>(storageSetting.value.topNav);
- const tagsView = ref<boolean>(storageSetting.value.tagsView);
- const fixedHeader = ref<boolean>(storageSetting.value.fixedHeader);
- const sidebarLogo = ref<boolean>(storageSetting.value.sidebarLogo);
- const dynamicTitle = ref<boolean>(storageSetting.value.dynamicTitle);
- const animationEnable = ref<boolean>(defaultSettings.animationEnable);
- const dark = ref<boolean>(defaultSettings.dark);
- const setTitle = (value: string) => {
- title.value = value;
- useDynamicTitle();
- };
- return {
- title,
- theme,
- sideTheme,
- showSettings,
- topNav,
- tagsView,
- fixedHeader,
- sidebarLogo,
- dynamicTitle,
- animationEnable,
- dark,
- setTitle
- };
- });
- export default useSettingsStore;
|