Add option to sign in to copilot from welcome screen (#8853)

Fixes: https://github.com/zed-industries/zed/issues/8851


https://github.com/zed-industries/zed/assets/19867440/5d391289-34e8-4abc-9337-b7e253f4e513

Release Notes:

- Added GitHub Copilot sign in on welcome screen
([#8851](https://github.com/zed-industries/zed/issues/8851)).
This commit is contained in:
Joseph T. Lyons 2024-03-04 14:38:28 -05:00 committed by GitHub
parent d7b5c883fe
commit 95e532c56d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 15 additions and 2 deletions

1
Cargo.lock generated
View file

@ -11937,6 +11937,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"client",
"copilot_ui",
"db",
"editor",
"fuzzy",

View file

@ -332,7 +332,7 @@ fn hide_copilot(fs: Arc<dyn Fs>, cx: &mut AppContext) {
});
}
fn initiate_sign_in(cx: &mut WindowContext) {
pub fn initiate_sign_in(cx: &mut WindowContext) {
let Some(copilot) = Copilot::global(cx) else {
return;
};

View file

@ -1,4 +1,4 @@
mod copilot_button;
pub mod copilot_button;
mod sign_in;
pub use copilot_button::*;

View file

@ -14,6 +14,7 @@ test-support = []
[dependencies]
anyhow.workspace = true
client.workspace = true
copilot_ui.workspace = true
db.workspace = true
fuzzy.workspace = true
gpui.workspace = true

View file

@ -2,6 +2,7 @@ mod base_keymap_picker;
mod base_keymap_setting;
use client::{telemetry::Telemetry, TelemetrySettings};
use copilot_ui;
use db::kvp::KEY_VALUE_STORE;
use gpui::{
svg, AnyElement, AppContext, EventEmitter, FocusHandle, FocusableView, InteractiveElement,
@ -134,6 +135,16 @@ impl Render for WelcomePage {
})
.detach_and_log_err(cx);
})),
)
.child(
Button::new("sign-in-to-copilot", "Sign in to GitHub Copilot")
.full_width()
.on_click(cx.listener(|this, _, cx| {
this.telemetry.report_app_event(
"welcome page: sign in to copilot".to_string(),
);
copilot_ui::initiate_sign_in(cx);
})),
),
)
.child(