diff --git a/assets/fonts/plex-sans/ZedPlexSans-Medium.ttf b/assets/fonts/plex-sans/ZedPlexSans-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fb75072d87cd07ec19d5a9e05df64ed26f430fe9 Binary files /dev/null and b/assets/fonts/plex-sans/ZedPlexSans-Medium.ttf differ diff --git a/assets/fonts/plex-sans/ZedPlexSans-MediumItalic.ttf b/assets/fonts/plex-sans/ZedPlexSans-MediumItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1b059bebd5de8f312e3cab5b53ddac640ce948e0 Binary files /dev/null and b/assets/fonts/plex-sans/ZedPlexSans-MediumItalic.ttf differ diff --git a/crates/onboarding_ui/src/onboarding_ui.rs b/crates/onboarding_ui/src/onboarding_ui.rs index ea71a584f8f54cfde6b6200aaf7a5253a1e92142..6a8b75fe387c94394a03085648298200ff1b6722 100644 --- a/crates/onboarding_ui/src/onboarding_ui.rs +++ b/crates/onboarding_ui/src/onboarding_ui.rs @@ -20,7 +20,10 @@ use settings::{Settings, SettingsStore}; use settings_ui::SettingsUiFeatureFlag; use std::sync::Arc; use theme::{Theme, ThemeRegistry, ThemeSettings}; -use ui::{KeybindingHint, ListItem, Ring, ToggleState, Vector, VectorName, prelude::*}; +use ui::{ + CheckboxWithLabel, ContentGroup, KeybindingHint, ListItem, Ring, ToggleState, Vector, + VectorName, prelude::*, +}; use util::ResultExt; use vim_mode_setting::VimModeSetting; use welcome::BaseKeymap; @@ -1124,38 +1127,32 @@ impl OnboardingUI { v_flex() .h_full() .w_full() - .items_center() - .justify_center() .gap_4() .child( - Label::new("AI Assistant Setup") - .size(LabelSize::Large) - .color(Color::Default), + h_flex() + .justify_start() + .child( + CheckboxWithLabel::new( + "disable_ai", + Label::new("Enable AI Features"), + ToggleState::Selected, + |_, _, cx| todo!("implement ai toggle"), + ))) + .child( + v_container() + .p_3() + .child(Label::new("We don't use your code to train AI models").weight(FontWeight::MEDIUM)) + .child(Label::new("You choose which providers you enable, and they have their own privacy policies.") + .size(LabelSize::Small).color(Color::Muted)) + .child(Label::new("Read more about our privacy practices in our Privacy Policy.") + .size(LabelSize::Small).color(Color::Muted)) ) .child( - v_flex() - .gap_2() - .mt_4() - .child( - Button::new("configure_ai", "Configure AI Provider") - .style(ButtonStyle::Filled) - .when(is_page_focused && focused_item == 0, |this| { - this.color(Color::Accent) - }) - .on_click(cx.listener(|_, _, _, cx| { - cx.notify(); - })), - ) - .child( - Button::new("try_ai_chat", "Try AI Chat") - .style(ButtonStyle::Filled) - .when(is_page_focused && focused_item == 1, |this| { - this.color(Color::Accent) - }) - .on_click(cx.listener(|_, _, _, cx| { - cx.notify(); - })), - ), + h_flex() + .h(px(32.)) + .w_full() + .justify_between() + .child(Label::new("Choose your AI Providers")), ) .into_any_element() } diff --git a/crates/ui/src/components/ring.rs b/crates/ui/src/components/ring.rs index 59047d2d6df381de903a86d985f8fdb734d0eed4..22081d03df21aa7c5037ae2703bcc28b27ed86fa 100644 --- a/crates/ui/src/components/ring.rs +++ b/crates/ui/src/components/ring.rs @@ -41,7 +41,7 @@ impl Ring { } impl RenderOnce for Ring { - fn render(self, window: &mut gpui::Window, cx: &mut gpui::App) -> impl IntoElement { + fn render(self, _window: &mut gpui::Window, cx: &mut gpui::App) -> impl IntoElement { let border_color = if self.focused && self.active { cx.theme().colors().border_focused.opacity(0.48) } else if self.focused {