1
- import { Button , Input , Switch } from '@nextui-org/react'
1
+ import { Button , Input , Switch , Tab , Tabs } from '@nextui-org/react'
2
2
import BasePage from '@renderer/components/base/base-page'
3
3
import SettingCard from '@renderer/components/base/base-setting-card'
4
4
import SettingItem from '@renderer/components/base/base-setting-item'
@@ -15,20 +15,22 @@ import { version } from '@renderer/utils/init'
15
15
import useSWR from 'swr'
16
16
import { useState } from 'react'
17
17
import debounce from '@renderer/utils/debounce'
18
+ import { useTheme } from 'next-themes'
18
19
19
20
const Settings : React . FC = ( ) => {
21
+ const { setTheme } = useTheme ( )
20
22
const { data : enable , mutate } = useSWR ( 'checkAutoRun' , checkAutoRun , {
21
23
errorRetryCount : 5 ,
22
24
errorRetryInterval : 200
23
25
} )
24
-
25
26
const { appConfig, patchAppConfig } = useAppConfig ( )
26
27
const {
27
28
silentStart = false ,
28
29
delayTestUrl,
29
30
delayTestTimeout,
30
31
autoCheckUpdate,
31
- userAgent
32
+ userAgent,
33
+ appTheme = 'system'
32
34
} = appConfig || { }
33
35
const [ url , setUrl ] = useState ( delayTestUrl )
34
36
const [ ua , setUa ] = useState ( userAgent )
@@ -72,7 +74,7 @@ const Settings: React.FC = () => {
72
74
} }
73
75
/>
74
76
</ SettingItem >
75
- < SettingItem title = "静默启动" >
77
+ < SettingItem title = "静默启动" divider >
76
78
< Switch
77
79
size = "sm"
78
80
isSelected = { silentStart }
@@ -81,6 +83,24 @@ const Settings: React.FC = () => {
81
83
} }
82
84
/>
83
85
</ SettingItem >
86
+ < SettingItem title = "应用主题" >
87
+ < Tabs
88
+ size = "sm"
89
+ color = "primary"
90
+ selectedKey = { appTheme }
91
+ onSelectionChange = { ( key ) => {
92
+ console . log ( key )
93
+ setTheme ( key as AppTheme )
94
+
95
+ patchAppConfig ( { appTheme : key as AppTheme } )
96
+ } }
97
+ >
98
+ < Tab key = "system" title = "自动" />
99
+ < Tab key = "dark" title = "深色" />
100
+ < Tab key = "gray" title = "灰色" />
101
+ < Tab key = "light" title = "浅色" />
102
+ </ Tabs >
103
+ </ SettingItem >
84
104
</ SettingCard >
85
105
< SettingCard >
86
106
< SettingItem title = "订阅拉取 UA" divider >
0 commit comments