1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2026-01-10 02:00:22 +08:00

feat: 增加设置主题色功能

This commit is contained in:
zclzone
2024-05-10 20:02:55 +08:00
parent 621c34a1fb
commit cf3c4b9020
15 changed files with 3259 additions and 2714 deletions

View File

@@ -8,13 +8,15 @@
import { defineStore } from 'pinia'
import { useDark } from '@vueuse/core'
import { defaultLayout, naiveThemeOverrides } from '@/settings'
import { generate, getRgbStr } from '@arco-design/color'
import { defaultLayout, defaultPrimaryColor, naiveThemeOverrides } from '@/settings'
export const useAppStore = defineStore('app', {
state: () => ({
collapsed: false,
isDark: useDark(),
layout: defaultLayout,
primaryColor: defaultPrimaryColor,
naiveThemeOverrides,
}),
actions: {
@@ -30,9 +32,25 @@ export const useAppStore = defineStore('app', {
setLayout(v) {
this.layout = v
},
setPrimaryColor(color) {
this.primaryColor = color
},
setThemeColor(color = this.primaryColor, isDark = this.isDark) {
const colors = generate(color, {
list: true,
dark: isDark,
})
document.body.style.setProperty('--primary-color', getRgbStr(colors[5]))
this.naiveThemeOverrides.common = Object.assign(this.naiveThemeOverrides.common || {}, {
primaryColor: colors[5],
primaryColorHover: colors[4],
primaryColorSuppl: colors[4],
primaryColorPressed: colors[6],
})
},
},
persist: {
paths: ['collapsed', 'naiveThemeOverrides'],
paths: ['collapsed', 'layout', 'primaryColor', 'naiveThemeOverrides'],
storage: sessionStorage,
},
})