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>
This commit is contained in:
@@ -21,15 +21,17 @@ 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 {
|
||||||
|
if let pubkey {
|
||||||
damus_state.nav.push(route: Route.ProfileByKey(pubkey: pubkey))
|
damus_state.nav.push(route: Route.ProfileByKey(pubkey: pubkey))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Image(txType)
|
Image(txType)
|
||||||
.resizable()
|
.resizable()
|
||||||
@@ -84,17 +86,15 @@ struct TransactionView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func userDisplayName(pubkey: Pubkey) -> String {
|
func userDisplayName(pubkey: Pubkey?) -> String {
|
||||||
|
guard let pubkey else {
|
||||||
|
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_txn = damus_state.profiles.lookup(id: pubkey, txn_name: "txview-profile")
|
||||||
let profile = profile_txn?.unsafeUnownedValue
|
let profile = profile_txn?.unsafeUnownedValue
|
||||||
|
|
||||||
if let display_name = profile?.display_name {
|
return Profile.displayName(profile: profile, pubkey: pubkey).displayName
|
||||||
return display_name
|
|
||||||
} else if let name = profile?.name {
|
|
||||||
return "@" + name
|
|
||||||
} else {
|
|
||||||
return NSLocalizedString("Unknown", comment: "A name label for an unknown user")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user