From 90aaf5d523831f445182bbc29d4a82d2d609b86e Mon Sep 17 00:00:00 2001 From: sneurlax Date: Mon, 26 Aug 2024 17:51:20 -0500 Subject: [PATCH] update balance toggle logic see https://github.com/cypherstack/stack_wallet/pull/904 --- .../sub_widgets/wallet_summary_info.dart | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart b/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart index c9b973f5d..9ff8f3950 100644 --- a/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart +++ b/lib/pages/wallet_view/sub_widgets/wallet_summary_info.dart @@ -87,10 +87,12 @@ class WalletSummaryInfo extends ConsumerWidget { final Amount balanceToShow; final String title; - final bool toggleBalance; + final bool useSimpleToggle; + final bool hasMultipleBalances; if (coin is Firo) { - toggleBalance = false; + useSimpleToggle = false; + hasMultipleBalances = true; // Firo always has multiple balance types. final type = ref.watch(publicPrivateBalanceStateProvider.state).state; title = "${_showAvailable ? "Available" : "Full"} ${type.name.capitalize()} balance"; @@ -111,7 +113,9 @@ class WalletSummaryInfo extends ConsumerWidget { break; } } else { - toggleBalance = true; + useSimpleToggle = true; + // Update hasMultipleBalances based on if all of the balances are equal. + hasMultipleBalances = balance.spendable != balance.total; balanceToShow = _showAvailable ? balance.spendable : balance.total; title = _showAvailable ? "Available balance" : "Full balance"; } @@ -144,7 +148,7 @@ class WalletSummaryInfo extends ConsumerWidget { children: [ GestureDetector( onTap: () { - if (toggleBalance) { + if (useSimpleToggle) { if (ref.read(walletBalanceToggleStateProvider) == WalletBalanceToggleState.available) { ref @@ -169,7 +173,7 @@ class WalletSummaryInfo extends ConsumerWidget { .textFavoriteCard, ), ), - if (!toggleBalance) ...[ + if (hasMultipleBalances) ...[ const SizedBox( width: 4, ),