diff --git a/lib/background/payment_hash_poller.dart b/lib/background/payment_hash_poller.dart index 7a852a7ae..c601ab116 100644 --- a/lib/background/payment_hash_poller.dart +++ b/lib/background/payment_hash_poller.dart @@ -40,8 +40,9 @@ class PaymentHashPoller { ); for (var payment in paymentList) { final detailsData = payment.details.data; - final isPaymentReceived = - payment.status != PaymentStatus.Pending && detailsData is LnPaymentDetails && detailsData.paymentHash == paymentHash; + final isPaymentReceived = payment.status == PaymentStatus.Complete && + detailsData is LnPaymentDetails && + detailsData.paymentHash == paymentHash; if (isPaymentReceived) { print("Payment received! Stop polling."); timer.cancel(); diff --git a/lib/models/payment_minutiae.dart b/lib/models/payment_minutiae.dart index 60f417ff1..9d73f3bc1 100644 --- a/lib/models/payment_minutiae.dart +++ b/lib/models/payment_minutiae.dart @@ -29,7 +29,7 @@ class PaymentMinutiae { final int amountSat; final bool hasMetadata; final bool isKeySend; - final bool isPending; + final PaymentStatus status; const PaymentMinutiae({ required this.id, @@ -49,7 +49,7 @@ class PaymentMinutiae { required this.amountSat, required this.hasMetadata, required this.isKeySend, - required this.isPending, + required this.status, }); factory PaymentMinutiae.fromPayment(Payment payment, BreezTranslations texts) { @@ -72,7 +72,7 @@ class PaymentMinutiae { amountSat: factory._amountSat(), hasMetadata: factory._hasMetadata(), isKeySend: factory._isKeySend(), - isPending: payment.status == PaymentStatus.Pending, + status: payment.status, ); } } diff --git a/lib/routes/home/widgets/payments_list/dialog/closed_channel_payment_details.dart b/lib/routes/home/widgets/payments_list/dialog/closed_channel_payment_details.dart index 57759f715..0eb4ed9c5 100644 --- a/lib/routes/home/widgets/payments_list/dialog/closed_channel_payment_details.dart +++ b/lib/routes/home/widgets/payments_list/dialog/closed_channel_payment_details.dart @@ -1,3 +1,4 @@ +import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/models/payment_minutiae.dart'; import 'package:c_breez/routes/home/widgets/payments_list/dialog/tx_widget.dart'; @@ -16,7 +17,7 @@ class ClosedChannelPaymentDetailsWidget extends StatelessWidget { final themeData = Theme.of(context); final texts = context.texts(); - if (!paymentMinutiae.isPending) { + if (paymentMinutiae.status == PaymentStatus.Complete) { return Column( mainAxisSize: MainAxisSize.min, children: [ diff --git a/lib/routes/home/widgets/payments_list/dialog/payment_details_closed_channel_dialog.dart b/lib/routes/home/widgets/payments_list/dialog/payment_details_closed_channel_dialog.dart index 26eefe87b..e31743273 100644 --- a/lib/routes/home/widgets/payments_list/dialog/payment_details_closed_channel_dialog.dart +++ b/lib/routes/home/widgets/payments_list/dialog/payment_details_closed_channel_dialog.dart @@ -1,3 +1,4 @@ +import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/models/payment_minutiae.dart'; import 'package:c_breez/routes/home/widgets/payments_list/dialog/closed_channel_payment_details.dart'; @@ -19,7 +20,7 @@ class PaymentDetailsDialogClosedChannelDialog extends StatelessWidget { return AlertDialog( titlePadding: const EdgeInsets.fromLTRB(24, 22, 0, 16), title: Text( - paymentMinutiae.isPending + paymentMinutiae.status == PaymentStatus.Pending ? texts.payment_details_dialog_closed_channel_title_pending : texts.payment_details_dialog_closed_channel_title, style: themeData.dialogTheme.titleTextStyle, diff --git a/lib/routes/home/widgets/payments_list/dialog/payment_details_dialog_expiration.dart b/lib/routes/home/widgets/payments_list/dialog/payment_details_dialog_expiration.dart index c4b9b03a2..c25b2b848 100644 --- a/lib/routes/home/widgets/payments_list/dialog/payment_details_dialog_expiration.dart +++ b/lib/routes/home/widgets/payments_list/dialog/payment_details_dialog_expiration.dart @@ -1,4 +1,5 @@ import 'package:auto_size_text/auto_size_text.dart'; +import 'package:breez_sdk/bridge_generated.dart'; import 'package:breez_translations/breez_translations_locales.dart'; import 'package:c_breez/models/payment_minutiae.dart'; import 'package:flutter/material.dart'; @@ -18,7 +19,7 @@ class PaymentDetailsDialogExpiration extends StatelessWidget { final texts = context.texts(); final themeData = Theme.of(context); - if (!paymentMinutiae.isPending) { + if (paymentMinutiae.status == PaymentStatus.Complete) { return Container(); } diff --git a/lib/routes/home/widgets/payments_list/payment_item_amount.dart b/lib/routes/home/widgets/payments_list/payment_item_amount.dart index 671eb71cf..1c9ce3fa1 100644 --- a/lib/routes/home/widgets/payments_list/payment_item_amount.dart +++ b/lib/routes/home/widgets/payments_list/payment_item_amount.dart @@ -46,9 +46,10 @@ class PaymentItemAmount extends StatelessWidget { ); return Column( - mainAxisAlignment: _paymentMinutiae.feeMilliSat == 0 || _paymentMinutiae.isPending - ? MainAxisAlignment.center - : MainAxisAlignment.spaceAround, + mainAxisAlignment: + _paymentMinutiae.feeMilliSat == 0 || _paymentMinutiae.status == PaymentStatus.Pending + ? MainAxisAlignment.center + : MainAxisAlignment.spaceAround, crossAxisAlignment: CrossAxisAlignment.end, children: [ Text( @@ -59,7 +60,7 @@ class PaymentItemAmount extends StatelessWidget { : texts.wallet_dashboard_payment_item_balance_negative(amount), style: themeData.paymentItemAmountTextStyle, ), - (fee == 0 || _paymentMinutiae.isPending) + (fee == 0 || _paymentMinutiae.status == PaymentStatus.Pending) ? const SizedBox() : Text( hideBalance diff --git a/lib/routes/home/widgets/payments_list/payment_item_subtitle.dart b/lib/routes/home/widgets/payments_list/payment_item_subtitle.dart index 6e5f8e925..8f9db7e36 100644 --- a/lib/routes/home/widgets/payments_list/payment_item_subtitle.dart +++ b/lib/routes/home/widgets/payments_list/payment_item_subtitle.dart @@ -29,7 +29,7 @@ class PaymentItemSubtitle extends StatelessWidget { BreezDateUtils.formatTimelineRelative(_paymentMinutiae.paymentTime), style: subtitleTextStyle, ), - _paymentMinutiae.isPending + _paymentMinutiae.status == PaymentStatus.Pending ? Text( texts.wallet_dashboard_payment_item_balance_pending_suffix, style: subtitleTextStyle.copyWith(