From 6017eebaed78775a84462cbe92d64826a4a5406e Mon Sep 17 00:00:00 2001 From: reya Date: Mon, 27 Oct 2025 08:20:37 +0700 Subject: [PATCH] chore: update gpui & components --- Cargo.lock | 40 +- crates/coop/src/views/account.rs | 20 +- crates/coop/src/views/chat/mod.rs | 8 +- crates/coop/src/views/login.rs | 9 - crates/coop/src/views/new_account.rs | 9 - crates/coop/src/views/onboarding.rs | 5 - crates/coop/src/views/sidebar/mod.rs | 10 +- crates/coop/src/views/welcome.rs | 10 - crates/ui/src/actions.rs | 12 +- crates/ui/src/button.rs | 157 ++- crates/ui/src/dropdown.rs | 10 +- crates/ui/src/input/element.rs | 15 +- crates/ui/src/input/state.rs | 15 +- crates/ui/src/input/text_input.rs | 1 + crates/ui/src/input/text_wrapper.rs | 16 +- crates/ui/src/kbd.rs | 312 ++++++ crates/ui/src/lib.rs | 8 +- crates/ui/src/list/list.rs | 24 +- crates/ui/src/menu/app_menu_bar.rs | 244 +++++ crates/ui/src/{ => menu}/context_menu.rs | 105 +- crates/ui/src/menu/menu_item.rs | 122 +++ crates/ui/src/menu/mod.rs | 14 + crates/ui/src/menu/popup_menu.rs | 1176 ++++++++++++++++++++++ crates/ui/src/styled.rs | 4 + 24 files changed, 2112 insertions(+), 234 deletions(-) create mode 100644 crates/ui/src/kbd.rs create mode 100644 crates/ui/src/menu/app_menu_bar.rs rename crates/ui/src/{ => menu}/context_menu.rs (69%) create mode 100644 crates/ui/src/menu/menu_item.rs create mode 100644 crates/ui/src/menu/mod.rs create mode 100644 crates/ui/src/menu/popup_menu.rs diff --git a/Cargo.lock b/Cargo.lock index 0d26faa..40eb67c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -810,9 +810,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" +checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" dependencies = [ "memchr", "serde", @@ -1157,7 +1157,7 @@ dependencies = [ [[package]] name = "collections" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "indexmap", "rustc-hash 2.1.1", @@ -1597,7 +1597,7 @@ dependencies = [ [[package]] name = "derive_refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "proc-macro2", "quote", @@ -2494,7 +2494,7 @@ dependencies = [ [[package]] name = "gpui" version = "0.2.2" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "as-raw-xcb-connection", @@ -2589,7 +2589,7 @@ dependencies = [ [[package]] name = "gpui_macros" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -2600,7 +2600,7 @@ dependencies = [ [[package]] name = "gpui_tokio" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "gpui", @@ -2829,7 +2829,7 @@ dependencies = [ [[package]] name = "http_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "async-compression", @@ -2854,7 +2854,7 @@ dependencies = [ [[package]] name = "http_client_tls" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "rustls", "rustls-platform-verifier", @@ -3672,7 +3672,7 @@ dependencies = [ [[package]] name = "media" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "bindgen 0.71.1", @@ -3789,9 +3789,9 @@ dependencies = [ [[package]] name = "moxcms" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40" +checksum = "692af879e4d9383c0fd9dec15524af6b6977c8bf1c6b278a4526d5341347c574" dependencies = [ "num-traits", "pxfm", @@ -4514,7 +4514,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "perf" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "collections", "serde", @@ -5130,7 +5130,7 @@ dependencies = [ [[package]] name = "refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "derive_refineable", ] @@ -5237,7 +5237,7 @@ dependencies = [ [[package]] name = "reqwest_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "bytes", @@ -5291,7 +5291,7 @@ dependencies = [ [[package]] name = "rope" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "arrayvec", "log", @@ -5759,7 +5759,7 @@ checksum = "16c2f82143577edb4921b71ede051dac62ca3c16084e918bf7b40c96ae10eb33" [[package]] name = "semantic_version" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "serde", @@ -6203,7 +6203,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sum_tree" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "arrayvec", "log", @@ -7239,7 +7239,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "util" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "anyhow", "async-fs", @@ -7274,7 +7274,7 @@ dependencies = [ [[package]] name = "util_macros" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b7cc597d28409b67c7985f8b983bc28241255f09" +source = "git+https://github.com/zed-industries/zed#fd3ca0303ff1dfc552119878724eb151bc94b49c" dependencies = [ "perf", "quote", diff --git a/crates/coop/src/views/account.rs b/crates/coop/src/views/account.rs index 5ca73d6..74b67db 100644 --- a/crates/coop/src/views/account.rs +++ b/crates/coop/src/views/account.rs @@ -21,7 +21,6 @@ use ui::avatar::Avatar; use ui::button::{Button, ButtonVariants}; use ui::dock_area::panel::{Panel, PanelEvent}; use ui::indicator::Indicator; -use ui::popup_menu::PopupMenu; use ui::{h_flex, v_flex, ContextModal, Sizable, StyledExt}; use crate::actions::{reset, CoopAuthUrlHandler}; @@ -197,14 +196,6 @@ impl Panel for Account { fn title(&self, _cx: &App) -> AnyElement { self.name.clone().into_any_element() } - - fn popup_menu(&self, menu: PopupMenu, _cx: &App) -> PopupMenu { - menu.track_focus(&self.focus_handle) - } - - fn toolbar_buttons(&self, _window: &Window, _cx: &App) -> Vec