migrate to gpui-component

This commit is contained in:
2026-06-02 18:15:54 +07:00
parent 5d4c8634ef
commit bac04ab4da
116 changed files with 1165 additions and 24445 deletions

View File

@@ -8,10 +8,10 @@ publish.workspace = true
common = { path = "../common" }
state = { path = "../state" }
person = { path = "../person" }
ui = { path = "../ui" }
theme = { path = "../theme" }
gpui.workspace = true
gpui-component.workspace = true
nostr-sdk.workspace = true
anyhow.workspace = true

View File

@@ -9,14 +9,13 @@ use gpui::{
App, AppContext, Context, Entity, EventEmitter, Global, IntoElement, ParentElement,
SharedString, Styled, Subscription, Task, Window, div, relative,
};
use gpui_component::avatar::Avatar;
use gpui_component::button::Button;
use gpui_component::notification::{Notification, NotificationType};
use gpui_component::{ActiveTheme, Disableable, Sizable, StyledExt, WindowExt, h_flex, v_flex};
use nostr_sdk::prelude::*;
use person::PersonRegistry;
use state::{Announcement, CLIENT_NAME, NostrRegistry, StateEvent, TIMEOUT};
use theme::ActiveTheme;
use ui::avatar::Avatar;
use ui::button::Button;
use ui::notification::{Notification, NotificationKind};
use ui::{Disableable, Sizable, StyledExt, WindowExtension, h_flex, v_flex};
const IDENTIFIER: &str = "coop:device";
const MSG: &str = "You've requested an encryption key from another device. \
@@ -553,7 +552,7 @@ impl DeviceRegistry {
match task.await {
Ok(_) => {
cx.update(|window, cx| {
window.clear_notification_by_id::<DeviceNotification>(id, cx);
window.remove_notification1::<DeviceNotification>(id, cx);
})
.ok();
}
@@ -595,9 +594,9 @@ impl DeviceRegistry {
let key = SharedString::from(event.id.to_hex());
Notification::new()
.type_id::<DeviceNotification>(key)
.id1::<DeviceNotification>(key)
.autohide(false)
.with_kind(NotificationKind::Info)
.with_type(NotificationType::Info)
.title("Encryption Key Request")
.content(move |_this, _window, cx| {
v_flex()
@@ -620,7 +619,7 @@ impl DeviceRegistry {
div()
.font_semibold()
.text_xs()
.text_color(cx.theme().text_muted)
.text_color(cx.theme().muted_foreground)
.child(SharedString::from("From:")),
)
.child(
@@ -629,11 +628,16 @@ impl DeviceRegistry {
.w_full()
.px_2()
.rounded(cx.theme().radius)
.bg(cx.theme().elevated_surface_background)
.bg(cx.theme().muted)
.child(
h_flex()
.gap_2()
.child(Avatar::new(profile.avatar()).xsmall())
.child(
Avatar::new()
.src(profile.avatar())
.name(profile.name())
.xsmall(),
)
.child(profile.name()),
),
),
@@ -646,7 +650,7 @@ impl DeviceRegistry {
div()
.font_semibold()
.text_xs()
.text_color(cx.theme().text_muted)
.text_color(cx.theme().muted_foreground)
.child(SharedString::from("Client:")),
)
.child(
@@ -655,7 +659,7 @@ impl DeviceRegistry {
.w_full()
.px_2()
.rounded(cx.theme().radius)
.bg(cx.theme().elevated_surface_background)
.bg(cx.theme().muted)
.child(request.client_name()),
),
),