Compare commits

...

1 Commits

Author SHA1 Message Date
a6835b835b Fix wallet transactions to always show profile display name unless there is no pubkey
Changelog-Fixed: Fixed wallet transactions to always show profile display name unless there is no pubkey
Signed-off-by: Terry Yiu <git@tyiu.xyz>
2025-05-31 14:46:18 -04:00

View File

@@ -21,14 +21,16 @@ struct TransactionView: View {
let formatter = RelativeDateTimeFormatter() let formatter = RelativeDateTimeFormatter()
let relativeDate = formatter.localizedString(for: created_at, relativeTo: Date.now) let relativeDate = formatter.localizedString(for: created_at, relativeTo: Date.now)
let event = decode_nostr_event_json(transaction.description ?? "") ?? transaction.metadata?.nostr let event = decode_nostr_event_json(transaction.description ?? "") ?? transaction.metadata?.nostr
let pubkey = self.pubkeyToDisplay(for: event, isIncomingTransaction: isIncomingTransaction) ?? ANON_PUBKEY let pubkey = self.pubkeyToDisplay(for: event, isIncomingTransaction: isIncomingTransaction)
VStack(alignment: .leading) { VStack(alignment: .leading) {
HStack(alignment: .center) { HStack(alignment: .center) {
ZStack { ZStack {
ProfilePicView(pubkey: pubkey, size: 45, highlight: .custom(.damusAdaptableBlack, 0.1), profiles: damus_state.profiles, disable_animation: damus_state.settings.disable_animation) ProfilePicView(pubkey: pubkey ?? ANON_PUBKEY, size: 45, highlight: .custom(.damusAdaptableBlack, 0.1), profiles: damus_state.profiles, disable_animation: damus_state.settings.disable_animation)
.onTapGesture { .onTapGesture {
damus_state.nav.push(route: Route.ProfileByKey(pubkey: pubkey)) if let pubkey {
damus_state.nav.push(route: Route.ProfileByKey(pubkey: pubkey))
}
} }
Image(txType) Image(txType)
@@ -84,17 +86,15 @@ struct TransactionView: View {
} }
} }
func userDisplayName(pubkey: Pubkey) -> String { func userDisplayName(pubkey: Pubkey?) -> String {
let profile_txn = damus_state.profiles.lookup(id: pubkey, txn_name: "txview-profile") guard let pubkey else {
let profile = profile_txn?.unsafeUnownedValue
if let display_name = profile?.display_name {
return display_name
} else if let name = profile?.name {
return "@" + name
} else {
return NSLocalizedString("Unknown", comment: "A name label for an unknown user") return NSLocalizedString("Unknown", comment: "A name label for an unknown user")
} }
let profile_txn = damus_state.profiles.lookup(id: pubkey, txn_name: "txview-profile")
let profile = profile_txn?.unsafeUnownedValue
return Profile.displayName(profile: profile, pubkey: pubkey).displayName
} }
} }