Files
vue3-element-admin/src/store/modules/settings.ts
april 07f189f585 feat: 登录提示语根据语言设置&&主题颜色保存
Former-commit-id: d31b3c6adc4e620b4509e46119c43e64b53e48ad
2023-09-26 18:24:04 +08:00

56 lines
1.3 KiB
TypeScript

import { defineStore } from "pinia";
import defaultSettings from "@/settings";
export const useSettingsStore = defineStore("setting", () => {
// state
const tagsView = useStorage<boolean>("tagsView", defaultSettings.tagsView);
const showSettings = ref<boolean>(defaultSettings.showSettings);
const sidebarLogo = ref<boolean>(defaultSettings.sidebarLogo);
const fixedHeader = useStorage<boolean>(
"fixedHeader",
defaultSettings.fixedHeader
);
const layout = useStorage<string>("layout", defaultSettings.layout);
const themeColor = useStorage<string>(
"themeColor",
defaultSettings.themeColor
);
// actions
function changeSetting(param: { key: string; value: any }) {
const { key, value } = param;
switch (key) {
case "showSettings":
showSettings.value = value;
break;
case "fixedHeader":
fixedHeader.value = value;
break;
case "tagsView":
tagsView.value = value;
break;
case "sidevarLogo":
sidebarLogo.value = value;
break;
case "layout":
layout.value = value;
break;
case "themeColor":
themeColor.value = value;
break;
}
}
return {
showSettings,
tagsView,
fixedHeader,
sidebarLogo,
layout,
themeColor,
changeSetting,
};
});