File tree Expand file tree Collapse file tree 4 files changed +44
-0
lines changed
views/components/AppSetting Expand file tree Collapse file tree 4 files changed +44
-0
lines changed Original file line number Diff line number Diff line change 22const globalSettingsDefault : RecursiveRequired < Settings . all > = {
33 app : {
44 colorScheme : 'light' ,
5+ enableMournMode : false ,
6+ enableColorAmblyopiaMode : false ,
57 enablePermission : false ,
68 } ,
79 menu : {
Original file line number Diff line number Diff line change @@ -37,6 +37,23 @@ export const useSettingsStore = defineStore(
3737 break
3838 }
3939 }
40+ watch ( [
41+ ( ) => settings . value . app . enableMournMode ,
42+ ( ) => settings . value . app . enableColorAmblyopiaMode ,
43+ ] , ( val ) => {
44+ document . documentElement . style . removeProperty ( 'filter' )
45+ if ( val [ 0 ] && val [ 1 ] ) {
46+ document . documentElement . style . setProperty ( 'filter' , 'grayscale(100%) invert(80%)' )
47+ }
48+ else if ( val [ 0 ] ) {
49+ document . documentElement . style . setProperty ( 'filter' , 'grayscale(100%)' )
50+ }
51+ else if ( val [ 1 ] ) {
52+ document . documentElement . style . setProperty ( 'filter' , 'invert(80%)' )
53+ }
54+ } , {
55+ immediate : true ,
56+ } )
4057
4158 watch ( ( ) => settings . value . menu . mode , ( val ) => {
4259 document . body . setAttribute ( 'data-menu-mode' , val )
Original file line number Diff line number Diff line change @@ -14,6 +14,16 @@ declare namespace Settings {
1414 * @可选值 `'dark'` 暗黑模式
1515 */
1616 colorScheme ?: '' | 'light' | 'dark'
17+ /**
18+ * 是否开启哀悼模式
19+ * @默认值 `false`
20+ */
21+ enableMournMode ?: boolean
22+ /**
23+ * 是否开启色弱模式
24+ * @默认值 `false`
25+ */
26+ enableColorAmblyopiaMode ?: boolean
1727 /**
1828 * 是否开启权限功能
1929 * @默认值 `false`
Original file line number Diff line number Diff line change @@ -244,6 +244,21 @@ function handleCopy() {
244244 </div >
245245 <HToggle v-model =" settingsStore.settings.app.enablePermission" />
246246 </div >
247+ <div class =" setting-item" >
248+ <div class =" label" >
249+ 哀悼模式
250+ <HTooltip text =" 该功能开启时,整站会变为灰色" >
251+ <SvgIcon name =" i-ri:question-line" />
252+ </HTooltip >
253+ </div >
254+ <HToggle v-model =" settingsStore.settings.app.enableMournMode" />
255+ </div >
256+ <div class =" setting-item" >
257+ <div class =" label" >
258+ 色弱模式
259+ </div >
260+ <HToggle v-model =" settingsStore.settings.app.enableColorAmblyopiaMode" />
261+ </div >
247262 <template v-if =" isSupported " #footer >
248263 <HButton block @click =" handleCopy" >
249264 <SvgIcon name =" i-ep:document-copy" />
You can’t perform that action at this time.
0 commit comments