@@ -10,8 +10,8 @@ import {
1010 createThemeToken ,
1111 getNaiveTheme ,
1212 initThemeSettings ,
13- toggleCssDarkMode ,
14- toggleGrayscaleMode
13+ toggleAuxiliaryColorModes ,
14+ toggleCssDarkMode
1515} from './shared' ;
1616
1717/** Theme store */
@@ -33,6 +33,9 @@ export const useThemeStore = defineStore(SetupStoreId.Theme, () => {
3333 /** grayscale mode */
3434 const grayscaleMode = computed ( ( ) => settings . value . grayscale ) ;
3535
36+ /** colourWeakness mode */
37+ const colourWeaknessMode = computed ( ( ) => settings . value . colourWeakness ) ;
38+
3639 /** Theme colors */
3740 const themeColors = computed ( ( ) => {
3841 const { themeColor, otherColor, isInfoFollowPrimary } = settings . value ;
@@ -79,6 +82,15 @@ export const useThemeStore = defineStore(SetupStoreId.Theme, () => {
7982 settings . value . grayscale = isGrayscale ;
8083 }
8184
85+ /**
86+ * Set colourWeakness value
87+ *
88+ * @param isColourWeakness
89+ */
90+ function setColourWeakness ( isColourWeakness : boolean ) {
91+ settings . value . colourWeakness = isColourWeakness ;
92+ }
93+
8294 /** Toggle theme scheme */
8395 function toggleThemeScheme ( ) {
8496 const themeSchemes : UnionKey . ThemeScheme [ ] = [ 'light' , 'dark' , 'auto' ] ;
@@ -167,9 +179,9 @@ export const useThemeStore = defineStore(SetupStoreId.Theme, () => {
167179 ) ;
168180
169181 watch (
170- grayscaleMode ,
182+ [ grayscaleMode , colourWeaknessMode ] ,
171183 val => {
172- toggleGrayscaleMode ( val ) ;
184+ toggleAuxiliaryColorModes ( val [ 0 ] , val [ 1 ] ) ;
173185 } ,
174186 { immediate : true }
175187 ) ;
@@ -197,6 +209,7 @@ export const useThemeStore = defineStore(SetupStoreId.Theme, () => {
197209 naiveTheme,
198210 settingsJson,
199211 setGrayscale,
212+ setColourWeakness,
200213 resetStore,
201214 setThemeScheme,
202215 toggleThemeScheme,
0 commit comments