diff --git a/src/components/WalletViewer.tsx b/src/components/WalletViewer.tsx index 23e7e8e..acf0d0f 100644 --- a/src/components/WalletViewer.tsx +++ b/src/components/WalletViewer.tsx @@ -52,7 +52,7 @@ import { } from "@/components/ui/tooltip"; import ConnectWalletDialog from "./ConnectWalletDialog"; import { RelayLink } from "@/components/nostr/RelayLink"; -import { parseZapRequest } from "@/lib/wallet-utils"; +import { parseZapRequest, getInvoiceDescription } from "@/lib/wallet-utils"; import { Zap } from "lucide-react"; import { useNostrEvent } from "@/hooks/useNostrEvent"; import { KindRenderer } from "./nostr/kinds"; @@ -312,14 +312,14 @@ function ZapTransactionDetail({ transaction }: { transaction: Transaction }) { function TransactionLabel({ transaction }: { transaction: Transaction }) { const zapInfo = parseZapRequest(transaction); - // Not a zap - use original description or default label + // Not a zap - use original description, invoice description, or default label if (!zapInfo) { - return ( - - {transaction.description || - (transaction.type === "incoming" ? "Received" : "Payment")} - - ); + const description = + transaction.description || + getInvoiceDescription(transaction) || + (transaction.type === "incoming" ? "Received" : "Payment"); + + return {description}; } // It's a zap! Show username + message on one line @@ -1260,17 +1260,24 @@ export default function WalletViewer() {
- {selectedTransaction.description && - !parseZapRequest(selectedTransaction) && ( -
- -

- {selectedTransaction.description} -

-
- )} + {(() => { + const description = + selectedTransaction.description || + getInvoiceDescription(selectedTransaction); + const isZap = parseZapRequest(selectedTransaction); + + return ( + description && + !isZap && ( +
+ +

{description}

+
+ ) + ); + })()}