diff --git a/crates/onboarding/src/basics_page.rs b/crates/onboarding/src/basics_page.rs index b5a2f5de365b581b95cb60269918068345474880..b683b13743819bbba692a99a7c559cfd9823a4b4 100644 --- a/crates/onboarding/src/basics_page.rs +++ b/crates/onboarding/src/basics_page.rs @@ -209,8 +209,8 @@ fn render_theme_section(tab_index: &mut isize, cx: &mut App) -> impl IntoElement ) { let fs = ::global(cx); let theme = theme.into(); - update_settings_file(fs, cx, move |settings, cx| { - if theme_mode == ThemeAppearanceMode::System { + update_settings_file(fs, cx, move |settings, cx| match theme_mode { + ThemeAppearanceMode::System => { let (light_theme, dark_theme) = get_theme_family_themes(&theme).unwrap_or((theme.as_ref(), theme.as_ref())); @@ -219,10 +219,19 @@ fn render_theme_section(tab_index: &mut isize, cx: &mut App) -> impl IntoElement light: ThemeName(light_theme.into()), dark: ThemeName(dark_theme.into()), }); - } else { - let appearance = *SystemAppearance::global(cx); - theme::set_theme(settings, theme, appearance, appearance); } + ThemeAppearanceMode::Light => theme::set_theme( + settings, + theme, + Appearance::Light, + *SystemAppearance::global(cx), + ), + ThemeAppearanceMode::Dark => theme::set_theme( + settings, + theme, + Appearance::Dark, + *SystemAppearance::global(cx), + ), }); } }