@@ -8,26 +8,46 @@ export default function Settings() {
88 const setPreference = usePreferencesStore ( ( s ) => s . setPreference ) ;
99
1010 const themes = [
11- {
12- color : colors . indigo [ 400 ] ,
13- selected : theme === "indigo" ,
14- onClick : ( ) => setPreference ( "theme" , "indigo" ) ,
15- } ,
1611 {
1712 color : colors . red [ 400 ] ,
1813 selected : theme === "red" ,
1914 onClick : ( ) => setPreference ( "theme" , "red" ) ,
2015 } ,
2116 {
22- color : colors . blue [ 400 ] ,
23- selected : theme === "blue" ,
24- onClick : ( ) => setPreference ( "theme" , "blue" ) ,
17+ color : colors . orange [ 400 ] ,
18+ selected : theme === "orange" ,
19+ onClick : ( ) => setPreference ( "theme" , "orange" ) ,
20+ } ,
21+ {
22+ color : colors . green [ 400 ] ,
23+ selected : theme === "green" ,
24+ onClick : ( ) => setPreference ( "theme" , "green" ) ,
2525 } ,
2626 {
2727 color : colors . emerald [ 400 ] ,
2828 selected : theme === "emerald" ,
2929 onClick : ( ) => setPreference ( "theme" , "emerald" ) ,
3030 } ,
31+ {
32+ color : colors . teal [ 400 ] ,
33+ selected : theme === "teal" ,
34+ onClick : ( ) => setPreference ( "theme" , "teal" ) ,
35+ } ,
36+ {
37+ color : colors . blue [ 400 ] ,
38+ selected : theme === "blue" ,
39+ onClick : ( ) => setPreference ( "theme" , "blue" ) ,
40+ } ,
41+ {
42+ color : colors . indigo [ 400 ] ,
43+ selected : theme === "indigo" ,
44+ onClick : ( ) => setPreference ( "theme" , "indigo" ) ,
45+ } ,
46+ {
47+ color : colors . purple [ 400 ] ,
48+ selected : theme === "purple" ,
49+ onClick : ( ) => setPreference ( "theme" , "purple" ) ,
50+ } ,
3151 {
3252 color : colors . fuchsia [ 400 ] ,
3353 selected : theme === "fuchsia" ,
@@ -55,18 +75,16 @@ interface ThemeSelectorProps {
5575}
5676
5777function ThemeSelector ( { selected, color, onClick } : ThemeSelectorProps ) {
58- const classes = classNames ( "rounded-full cursor-pointer" , ! selected ? "size-8" : "size-6" ) ;
78+ const classes = classNames ( "rounded-full cursor-pointer size-6" ) ;
79+ const borderColor = selected ? color : "transparent" ;
5980
60- if ( selected ) {
61- return (
62- < div
63- style = { { borderColor : color } }
64- className = "flex items-center justify-center border-2 size-8 rounded-full"
65- >
66- < div className = { classes } style = { { backgroundColor : color } } />
67- </ div >
68- ) ;
69- }
70-
71- return < button className = { classes } style = { { backgroundColor : color } } onClick = { onClick } /> ;
81+ return (
82+ < div
83+ style = { { borderColor } }
84+ className = "flex items-center justify-center border-2 size-8 rounded-full"
85+ onClick = { onClick }
86+ >
87+ < div className = { classes } style = { { backgroundColor : color } } />
88+ </ div >
89+ ) ;
7290}
0 commit comments