From 0bab2ec444dfb4c3ecfaa911fb5cfe70a451503c Mon Sep 17 00:00:00 2001 From: padreug Date: Thu, 18 Sep 2025 22:01:35 +0200 Subject: [PATCH] Enhance ReceiveDialog.vue with improved invoice handling and payment status display - Updated invoice assignment to ensure reactivity by using Object.assign, improving state management. - Enhanced QR code generation logic to utilize either payment_request or bolt11 for better flexibility. - Added conditional rendering for payment status messages, providing clear feedback for confirmed and failed payments. - Improved input handling for displaying payment request and hash, ensuring accurate data representation. These changes enhance the user experience by providing clearer feedback on payment statuses and improving invoice management functionality. --- .../wallet/components/ReceiveDialog.vue | 46 ++++++++++++++++--- src/modules/wallet/services/WalletService.ts | 8 ---- 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/src/modules/wallet/components/ReceiveDialog.vue b/src/modules/wallet/components/ReceiveDialog.vue index 5897e2e..421437f 100644 --- a/src/modules/wallet/components/ReceiveDialog.vue +++ b/src/modules/wallet/components/ReceiveDialog.vue @@ -101,9 +101,15 @@ const onSubmit = form.handleSubmit(async (formValues) => { }) if (invoice) { - createdInvoice.value = invoice - console.log(createdInvoice.value) - await generateQRCode(invoice.payment_request) + // Force reactivity by using Object.assign with a new object + createdInvoice.value = Object.assign({}, invoice) + console.log('Created invoice assigned:', createdInvoice.value) + + // Use the invoice's payment_request or bolt11 for QR generation + const paymentRequest = invoice.payment_request || invoice.bolt11 + if (paymentRequest) { + await generateQRCode(paymentRequest) + } toastService?.success('Invoice created successfully!') } } catch (error) { @@ -269,7 +275,7 @@ function formatExpiry(seconds: number): string { -
+
@@ -285,19 +291,44 @@ function formatExpiry(seconds: number): string {
+ +
+
+ +
+

Payment Received!

+

{{ createdInvoice.amount }} sats

+
+
+
+ + +
+
+ + + +
+

Payment Failed

+

Invoice has expired or failed

+
+
+
+