diff --git a/Cargo.lock b/Cargo.lock index 423cc86..7588ab7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -285,7 +285,7 @@ dependencies = [ [[package]] name = "assets" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "gpui-component", @@ -1863,7 +1863,7 @@ dependencies = [ [[package]] name = "dock" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "gpui-base", "gpui-component", @@ -5562,7 +5562,7 @@ dependencies = [ [[package]] name = "metadata" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "flume 0.11.1", @@ -6654,7 +6654,7 @@ dependencies = [ [[package]] name = "paths" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "dirs 6.0.0", ] @@ -8237,7 +8237,7 @@ dependencies = [ [[package]] name = "settings" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "gpui-pre", @@ -8334,7 +8334,7 @@ dependencies = [ [[package]] name = "signed" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "assets", "dock", @@ -8356,7 +8356,7 @@ dependencies = [ [[package]] name = "signed_core" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "nostr", "serde", @@ -8365,7 +8365,7 @@ dependencies = [ [[package]] name = "signed_git" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "diffy", @@ -8383,7 +8383,7 @@ dependencies = [ [[package]] name = "signed_nostr" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "nostr-connect", @@ -8395,7 +8395,7 @@ dependencies = [ [[package]] name = "signed_state" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "bitcoin_hashes 1.2.0", @@ -8419,7 +8419,7 @@ dependencies = [ [[package]] name = "signed_ui" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "assets", "futures", @@ -10018,7 +10018,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utils" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "nostr", ] @@ -11267,7 +11267,7 @@ checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] name = "workspace" -version = "0.2.0-alpha" +version = "0.2.0" dependencies = [ "anyhow", "assets", diff --git a/crates/workspace/src/views/sidebar/mod.rs b/crates/workspace/src/views/sidebar/mod.rs index 1888d12..1036276 100644 --- a/crates/workspace/src/views/sidebar/mod.rs +++ b/crates/workspace/src/views/sidebar/mod.rs @@ -514,10 +514,13 @@ impl SidebarPanel { cx: &mut Context, ) -> impl IntoElement { let name = announcement.name().map(SharedString::from); - // The sidebar rows are compact, so the avatar matches the 16px nav icons. - let avatar = Avatar::new(format!("{}:{}", announcement.owner, announcement.id)).xsmall(); - let announcement = announcement.clone(); + let owner = self.directory.read(cx).profile(&announcement.owner, cx); + let avatar = Avatar::new(announcement.owner) + .name(owner.name()) + .picture(owner.picture()) + .xsmall(); + let announcement = announcement.clone(); let addr = announcement.addr(); let unpushed = self.unpushed.get(&addr).copied().unwrap_or(0); let unsynced = self.sync_directory.read(cx).unsynced(&addr, cx); @@ -773,32 +776,24 @@ pub(super) fn server_host(relay: &RelayUrl) -> SharedString { .unwrap_or_else(|| SharedString::from(relay.to_string())) } -/// The repository's pixel avatar, with the bound owner's avatar at its bottom right. +/// The bound owner's avatar, falling back to the repo's pixel avatar when unowned. fn local_avatar( entry: &ResolvedLocalRepo, directory: &Entity, cx: &App, ) -> AnyElement { - // Matches the other sidebar rows, and the badge below sits at its corner. - let avatar = Avatar::new(entry.path.to_string_lossy()).xsmall(); - let Some(owner) = entry.nip34.as_ref().and_then(|binding| binding.owner) else { - return avatar.into_any_element(); + return Avatar::new(entry.path.to_string_lossy()) + .xsmall() + .into_any_element(); }; let profile = directory.read(cx).profile(&owner, cx); - div() - .relative() - .child(avatar) - .child( - div().absolute().bottom_neg_0p5().right_neg_0p5().child( - Avatar::new(owner) - .name(profile.name()) - .picture(profile.picture()) - .size(px(14.)), - ), - ) + Avatar::new(owner) + .name(profile.name()) + .picture(profile.picture()) + .xsmall() .into_any_element() }