diff --git a/crates/onboarding_ui/src/onboarding_ui.rs b/crates/onboarding_ui/src/onboarding_ui.rs index 8ae2c4fe65ab20b0e4bfcb1ed952611f6be26ff9..7b12df04448c61b88651e285b0521029b7281180 100644 --- a/crates/onboarding_ui/src/onboarding_ui.rs +++ b/crates/onboarding_ui/src/onboarding_ui.rs @@ -100,15 +100,23 @@ impl OnboardingPage { } #[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum OnboardingFocus { - Navigation, - Page, +pub enum NavigationFocusItem { + SignIn, + Basics, + Editing, + AiSetup, + Welcome, + Next, } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct PageFocusItem(pub usize); + pub struct OnboardingUI { focus_handle: FocusHandle, current_page: OnboardingPage, - current_focus: OnboardingFocus, + nav_focus: NavigationFocusItem, + page_focus: [PageFocusItem; 4], completed_pages: [bool; 4], // Workspace reference for Item trait @@ -173,7 +181,7 @@ impl OnboardingUI { Self { focus_handle: cx.focus_handle(), current_page: OnboardingPage::Basics, - current_focus: OnboardingFocus::Page, + current_focus: OnboardingFocus::default(), completed_pages: [false; 4], workspace: workspace.weak_handle(), workspace_id: workspace.database_id(), @@ -324,10 +332,15 @@ impl OnboardingUI { .py(px(24.)) .pl(px(24.)) .pr(px(12.)) - .child(Vector::new(VectorName::ZedLogo, rems(2.), rems(2.))) + .child( + Vector::new(VectorName::ZedLogo, rems(2.), rems(2.)) + .color(Color::Custom(cx.theme().colors().icon.opacity(0.5))), + ) .child( Button::new("sign_in", "Sign in") + .color(Color::Muted) .label_size(LabelSize::Small) + .size(ButtonSize::Compact) .on_click(cx.listener(move |_, _, window, cx| { let client = client.clone(); window @@ -346,6 +359,7 @@ impl OnboardingUI { v_flex() .gap_px() .py(px(16.)) + .gap(px(12.)) .child(self.render_nav_item( OnboardingPage::Basics, "The Basics", @@ -416,7 +430,7 @@ impl OnboardingUI { window: &mut gpui::Window, cx: &mut Context, ) -> impl gpui::IntoElement { - h_flex().w_full().p_4().child( + h_flex().w_full().p(px(12.)).pl(px(24.)).child( Button::new( "next", if self.current_page == OnboardingPage::Welcome {