clean up
Some checks failed
Rust / build (ubuntu-latest, stable) (push) Failing after 1m24s
Rust / build (ubuntu-latest, stable) (pull_request) Failing after 1m26s
Rust / build (macos-latest, stable) (push) Has been cancelled
Rust / build (windows-latest, stable) (push) Has been cancelled
Rust / build (macos-latest, stable) (pull_request) Has been cancelled
Rust / build (windows-latest, stable) (pull_request) Has been cancelled

This commit is contained in:
2026-02-22 16:54:51 +07:00
parent 67ccfcb132
commit 31df6d7937
13 changed files with 148 additions and 176 deletions

View File

@@ -1,4 +1,4 @@
use chat::ChatRegistry;
use chat::{ChatRegistry, InboxState};
use gpui::prelude::FluentBuilder;
use gpui::{
div, relative, svg, AnyElement, App, AppContext, Context, Entity, EventEmitter, FocusHandle,
@@ -83,15 +83,16 @@ impl Render for GreeterPanel {
const DESCRIPTION: &str = "Chat Freely, Stay Private on Nostr.";
let chat = ChatRegistry::global(cx);
let nip17_state = chat.read(cx).relay_state(cx);
let nip17 = chat.read(cx).state(cx);
let nostr = NostrRegistry::global(cx);
let nip65_state = nostr.read(cx).relay_list_state();
let nip65 = nostr.read(cx).relay_list_state();
let signer = nostr.read(cx).signer();
let owned = signer.owned();
let required_actions =
nip65_state == RelayState::NotConfigured || nip17_state == RelayState::NotConfigured;
nip65 == RelayState::NotConfigured || nip17 == InboxState::RelayNotAvailable;
h_flex()
.size_full()
@@ -152,7 +153,7 @@ impl Render for GreeterPanel {
v_flex()
.gap_2()
.w_full()
.when(nip65_state.not_configured(), |this| {
.when(nip65.not_configured(), |this| {
this.child(
Button::new("relaylist")
.icon(Icon::new(IconName::Relay))
@@ -170,7 +171,7 @@ impl Render for GreeterPanel {
}),
)
})
.when(nip17_state.not_configured(), |this| {
.when(nip17.not_configured(), |this| {
this.child(
Button::new("import")
.icon(Icon::new(IconName::Relay))

View File

@@ -1,6 +1,6 @@
use std::sync::Arc;
use chat::{ChatEvent, ChatRegistry};
use chat::{ChatEvent, ChatRegistry, InboxState};
use gpui::prelude::FluentBuilder;
use gpui::{
div, rems, App, AppContext, Axis, Context, Entity, InteractiveElement, IntoElement,
@@ -233,13 +233,13 @@ impl Workspace {
),
_ => this,
})
.map(|this| match chat.read(cx).relay_state(cx) {
RelayState::Checking => {
.map(|this| match chat.read(cx).state(cx) {
InboxState::Checking => {
this.child(div().text_xs().text_color(cx.theme().text_muted).child(
SharedString::from("Fetching user's messaging relay list..."),
))
}
RelayState::NotConfigured => this.child(
InboxState::RelayNotAvailable => this.child(
h_flex()
.h_6()
.w_full()