onboarding: Link git clone button with action (#35999)

Anthony Eid created

Release Notes:

- N/A

Change summary

Cargo.lock                       | 1 +
crates/git_ui/src/git_panel.rs   | 2 +-
crates/git_ui/src/git_ui.rs      | 4 ----
crates/onboarding/Cargo.toml     | 1 +
crates/onboarding/src/welcome.rs | 5 ++---
5 files changed, 5 insertions(+), 8 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -11157,6 +11157,7 @@ dependencies = [
  "feature_flags",
  "fs",
  "fuzzy",
+ "git",
  "gpui",
  "itertools 0.14.0",
  "language",

crates/git_ui/src/git_panel.rs 🔗

@@ -2105,7 +2105,7 @@ impl GitPanel {
                 Ok(_) => cx.update(|window, cx| {
                     window.prompt(
                         PromptLevel::Info,
-                        "Git Clone",
+                        &format!("Git Clone: {}", repo_name),
                         None,
                         &["Add repo to project", "Open repo in new project"],
                         cx,

crates/git_ui/src/git_ui.rs 🔗

@@ -181,10 +181,6 @@ pub fn init(cx: &mut App) {
             workspace.toggle_modal(window, cx, |window, cx| {
                 GitCloneModal::show(panel, window, cx)
             });
-
-            // panel.update(cx, |panel, cx| {
-            //     panel.git_clone(window, cx);
-            // });
         });
         workspace.register_action(|workspace, _: &git::OpenModifiedFiles, window, cx| {
             open_modified_files(workspace, window, cx);

crates/onboarding/Cargo.toml 🔗

@@ -26,6 +26,7 @@ editor.workspace = true
 feature_flags.workspace = true
 fs.workspace = true
 fuzzy.workspace = true
+git.workspace = true
 gpui.workspace = true
 itertools.workspace = true
 language.workspace = true

crates/onboarding/src/welcome.rs 🔗

@@ -1,6 +1,6 @@
 use gpui::{
     Action, App, Context, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement,
-    NoAction, ParentElement, Render, Styled, Window, actions,
+    ParentElement, Render, Styled, Window, actions,
 };
 use menu::{SelectNext, SelectPrevious};
 use ui::{ButtonLike, Divider, DividerColor, KeyBinding, Vector, VectorName, prelude::*};
@@ -38,8 +38,7 @@ const CONTENT: (Section<4>, Section<3>) = (
             SectionEntry {
                 icon: IconName::CloudDownload,
                 title: "Clone a Repo",
-                // TODO: use proper action
-                action: &NoAction,
+                action: &git::Clone,
             },
             SectionEntry {
                 icon: IconName::ListCollapse,