wip

Nate Butler created

Change summary

crates/onboarding_ui/src/onboarding_ui.rs | 28 ++++++++++++++++++------
1 file changed, 21 insertions(+), 7 deletions(-)

Detailed changes

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<Self>,
     ) -> 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 {