/* * @Author: wei.li * @Date: 2021-12-23 17:33:20 * @LastEditors: levi7754 levi7754@163.com * @LastEditTime: 2024-12-17 18:53:00 * @Description: file content */ import { store } from '../index'; import { defineStore } from 'pinia'; import { getConfig, responsiveStorageNameSpace } from '../../config'; import { storageLocal } from '@utogether/utils'; export const useEpThemeStore = defineStore('udp-epTheme', { state: () => ({ epThemeColor: storageLocal.getItem(`${responsiveStorageNameSpace()}-layout`)?.epThemeColor ?? getConfig().EpThemeColor, epTheme: storageLocal.getItem(`${responsiveStorageNameSpace()}-layout`)?.theme ?? getConfig().Theme }), getters: { getEpThemeColor() { return this.epThemeColor; }, // 用于mix菜单布局下hamburger-svg的fill属性 fill() { if (this.epTheme === 'light') { return '#409eff'; } else if (this.epTheme === 'yellow') { return '#d25f00'; } else { return '#fff'; } } }, actions: { setEpThemeColor(newColor: string): void { const layout = storageLocal.getItem(`${responsiveStorageNameSpace()}layout`); this.epTheme = layout?.theme; this.epThemeColor = newColor; if (!layout) return; layout.epThemeColor = newColor; storageLocal.setItem(`${responsiveStorageNameSpace()}layout`, layout); } } }); export function useEpThemeStoreHook() { return useEpThemeStore(store); }