@@ -46,6 +46,7 @@ pub fn setup(env: &mut Env, state: &AppState) {
46
46
match state. config . theme {
47
47
Theme :: Light => setup_light_theme ( env) ,
48
48
Theme :: Dark => setup_dark_theme ( env) ,
49
+ Theme :: System => setup_system_theme ( env) ,
49
50
} ;
50
51
51
52
env. set ( WINDOW_BACKGROUND_COLOR , env. get ( GREY_700 ) ) ;
@@ -69,6 +70,11 @@ pub fn setup(env: &mut Env, state: &AppState) {
69
70
env. set ( BUTTON_LIGHT , env. get ( GREY_600 ) ) ;
70
71
env. set ( BUTTON_DARK , env. get ( GREY_700 ) ) ;
71
72
}
73
+ //TODO: fix this?
74
+ Theme :: System => {
75
+ env. set ( BUTTON_LIGHT , env. get ( GREY_600 ) ) ;
76
+ env. set ( BUTTON_DARK , env. get ( GREY_700 ) ) ;
77
+ }
72
78
}
73
79
74
80
env. set ( BORDER_LIGHT , env. get ( GREY_400 ) ) ;
@@ -165,3 +171,12 @@ fn setup_dark_theme(env: &mut Env) {
165
171
env. set ( LINK_ACTIVE_COLOR , Color :: rgba ( 1.0 , 1.0 , 1.0 , 0.025 ) ) ;
166
172
env. set ( LINK_COLD_COLOR , Color :: rgba ( 1.0 , 1.0 , 1.0 , 0.0 ) ) ;
167
173
}
174
+
175
+ fn setup_system_theme ( env : & mut Env ) {
176
+ let current_theme = dark_light:: detect ( ) ;
177
+ if current_theme == dark_light:: Mode :: Dark {
178
+ setup_dark_theme ( env) ;
179
+ } else {
180
+ setup_light_theme ( env) ;
181
+ }
182
+ }
0 commit comments