diff --git a/crates/notedeck/src/name.rs b/crates/notedeck/src/name.rs index 950b9009..83496fb4 100644 --- a/crates/notedeck/src/name.rs +++ b/crates/notedeck/src/name.rs @@ -19,6 +19,16 @@ impl<'a> NostrName<'a> { } } + pub fn username_or_displayname(&self) -> &'a str { + if let Some(name) = self.username { + name + } else if let Some(name) = self.display_name { + name + } else { + self.nip05.unwrap_or("??") + } + } + pub fn unknown() -> Self { Self { username: None, diff --git a/crates/notedeck_ui/src/mention.rs b/crates/notedeck_ui/src/mention.rs index 5a570803..9dd46b39 100644 --- a/crates/notedeck_ui/src/mention.rs +++ b/crates/notedeck_ui/src/mention.rs @@ -77,7 +77,10 @@ fn mention_ui( ui.horizontal(|ui| { let profile = ndb.get_profile_by_pubkey(txn, pk).ok(); - let name: String = format!("@{}", get_display_name(profile.as_ref()).name()); + let name: String = format!( + "@{}", + get_display_name(profile.as_ref()).username_or_displayname() + ); let resp = ui.add( egui::Label::new(egui::RichText::new(name).color(link_color).size(size))