Hide available balance in send card (#2662)

* hide available balance on send page when balance is hidden * hide available balance on send page when balance is hidden * allow show/hide of balance from send card

malik1004x committed Nov 21, 2025 at 22:15 UTC 7172928e1ecd643fb06953b9256aac537b815c89
30 files changed +62 -9
lib/src/screens/send/widgets/send_card.dart
+31 -7
@@ -1,6 +1,7 @@
1 import 'dart:async';
2
3 import 'package:cake_wallet/core/open_crypto_pay/open_cryptopay_service.dart';
4 +import 'package:cake_wallet/entities/balance_display_mode.dart';
5 import 'package:cake_wallet/entities/priority_for_wallet_type.dart';
6 import 'package:cake_wallet/src/screens/receive/widgets/currency_input_field.dart';
7 import 'package:cake_wallet/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart';
@@ -536,13 +537,36 @@ class SendCardState extends State<SendCard> with AutomaticKeepAliveClientMixin<S
537 FutureBuilder<String>(
538 future: sendViewModel.sendingBalance,
539 builder: (context, snapshot) {
539 - return Text(
540 - snapshot.data ??
541 - sendViewModel.balance, // default to balance while loading
542 - style: Theme.of(context).textTheme.bodySmall!.copyWith(
543 - fontWeight: FontWeight.w600,
544 - color: Theme.of(context).colorScheme.onSurfaceVariant,
545 - ),
540 + return GestureDetector(
541 + onTap: () {
542 + sendViewModel.balanceViewModel
543 + .switchBalanceValue();
544 + },
545 + child: Observer(builder: (_) {
546 + final hidden = sendViewModel
547 + .balanceViewModel.displayMode ==
548 + BalanceDisplayMode.hiddenBalance;
549 + return Text(
550 + hidden
551 + ? S.of(context).show_balance_send_page
552 + : (snapshot.data ??
553 + sendViewModel.balance),
554 + // default to balance while loading
555 + style: Theme.of(context)
556 + .textTheme
557 + .bodySmall!
558 + .copyWith(
559 + fontWeight: FontWeight.w600,
560 + color: hidden
561 + ? Theme.of(context)
562 + .colorScheme
563 + .primary
564 + : Theme.of(context)
565 + .colorScheme
566 + .onSurfaceVariant,
567 + ),
568 + );
569 + }),
570 );
571 },
572 )
res/values/strings_ar.arb
+1
@@ -871,6 +871,7 @@
871 "show": "يعرض",
872 "show_address_book_popup": "عرض دفتر العناوين المنبثقة",
873 "show_balance": "اضغط لفترة طويلة لإظهار التوازن",
874 + "show_balance_send_page": "انقر للكشف",
875 "show_balance_toast": "اضغط لفترة طويلة لإخفاء أو إظهار التوازن",
876 "show_details": "اظهر التفاصيل",
877 "show_keys": "اظهار السييد / المفاتيح",
res/values/strings_bg.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Показване",
872 "show_address_book_popup": "Показване на изскачащ прозорец на адресна книга",
873 "show_balance": "Дълго натиснете, за да покажете баланса",
874 + "show_balance_send_page": "Докоснете, за да разкриете",
875 "show_balance_toast": "Дълго натискане, за да се скрие или покаже баланс",
876 "show_details": "Показване на подробностите",
877 "show_keys": "Покажи seed/keys",
res/values/strings_cs.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Show",
872 "show_address_book_popup": "Zobrazit vyskakovací okno",
873 "show_balance": "Dlouhý stisknutí zobrazí rovnováhu",
874 + "show_balance_send_page": "Klepnutím zobrazíte",
875 "show_balance_toast": "Dlouhý stiskněte pro skrytí nebo zobrazení rovnováhy",
876 "show_details": "Zobrazit detaily",
877 "show_keys": "Zobrazit seed/klíče",
res/values/strings_de.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Zeigen",
873 "show_address_book_popup": "Popup \"zum Adressbuch hinzufügen\" nach dem Senden anzeigen",
874 "show_balance": "Lange drücken, um das Kontoguthaben zu zeigen",
875 + "show_balance_send_page": "Zum Enthüllen tippen",
876 "show_balance_toast": "Langes drücken, um das Kontoguthaben zu verbergen oder zu zeigen",
877 "show_details": "Details anzeigen",
878 "show_keys": "Seed/Schlüssel anzeigen",
res/values/strings_en.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Show",
873 "show_address_book_popup": "Show Address Book popup",
874 "show_balance": "Long Press to Show Balance",
875 + "show_balance_send_page": "Tap to reveal",
876 "show_balance_toast": "Long press to hide or show balance",
877 "show_details": "Show Details",
878 "show_keys": "Show seed/keys",
res/values/strings_es.arb
+2 -1
@@ -366,8 +366,8 @@
366 "estimated_new_fee": "Nueva tarifa estimada",
367 "estimated_receive_amount": "Cantidad estimada a recibir",
368 "eta": "ETA",
369 - "etherscan_history": "Historial de Etherscan",
369 "ethereum_ecosystem": "Ecosistema Etereum",
370 + "etherscan_history": "Historial de Etherscan",
371 "event": "Evento",
372 "events": "Eventos",
373 "evm_ecosystem_description": "Si es necesario, modifica la red y el token que deseas utilizar para este pago.",
@@ -872,6 +872,7 @@
872 "show": "Mostrar",
873 "show_address_book_popup": "Mostrar la ventana emergente de la libreta de direcciones",
874 "show_balance": "Mantén pulsado para mostrar saldo",
875 + "show_balance_send_page": "Toca para revelar",
876 "show_balance_toast": "Mantén pulsado para ocultar o mostrar el saldo",
877 "show_details": "Mostrar detalles",
878 "show_keys": "Mostrar semilla/claves",
res/values/strings_fr.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Montrer",
872 "show_address_book_popup": "Afficher la fenêtre contextuelle du carnet d'adresses",
873 "show_balance": "Appuyez longtemps pour afficher votre solde",
874 + "show_balance_send_page": "Appuyez pour révéler",
875 "show_balance_toast": "Appuyez longtemps pour masquer ou afficher votre solde",
876 "show_details": "Afficher les détails",
877 "show_keys": "Visualiser la phrase secrète (seed) et les clefs",
res/values/strings_gn.arb
+1
@@ -667,6 +667,7 @@
667 "setup_your_debit_card": "Emohenda nde tarjeta débito",
668 "share": "Mbohasa",
669 "share_address": "Mbohasa dirección",
670 + "show_balance_send_page": "Tap ojekuaa haguã .",
671 "show_details": "Hechauka umi mba’e",
672 "show_keys": "Hechauka ñe’ẽñemi",
673 "show_market_place": "Hechauka ñemuha renda",
res/values/strings_ha.arb
+1
@@ -873,6 +873,7 @@
873 "show": "Nuna",
874 "show_address_book_popup": "Nuna littafin littafin adireshi",
875 "show_balance": "Dogon latsawa don nuna ma'auni",
876 + "show_balance_send_page": "Matsa don bayyana",
877 "show_balance_toast": "Latsa latsawa don ɓoye ko nuna ma'auni",
878 "show_details": "Nuna Cikakkun bayanai",
879 "show_keys": "Nuna iri/maɓallai",
res/values/strings_hi.arb
+1
@@ -873,6 +873,7 @@
873 "show": "दिखाओ",
874 "show_address_book_popup": "पता बुक पॉपअप दिखाएं",
875 "show_balance": "बैलेंस दिखाने के लिए लॉन्ग प्रेस",
876 + "show_balance_send_page": "प्रकट करने के लिए टैप करें",
877 "show_balance_toast": "संतुलन को छिपाने या दिखाने के लिए लॉन्ग प्रेस",
878 "show_details": "विवरण दिखाएं",
879 "show_keys": "बीज / कुंजियाँ दिखाएँ",
res/values/strings_hr.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Pokazati",
872 "show_address_book_popup": "Prikaži Popup adresara",
873 "show_balance": "Dugački pritisak za pokazivanje ravnoteže",
874 + "show_balance_send_page": "Dodirnite za otkrivanje",
875 "show_balance_toast": "Dugo pritisnite da biste sakrili ili pokazali ravnotežu",
876 "show_details": "Prikaži pojedinosti",
877 "show_keys": "Prikaži pristupni izraz/ključ",
res/values/strings_hy.arb
+1
@@ -869,6 +869,7 @@
869 "show": "Ցուցահանդես",
870 "show_address_book_popup": "Show ուցադրել հասցեի գրքի թռուցիկ",
871 "show_balance": "Երկար մամուլ, հավասարակշռությունը ցույց տալու համար",
872 + "show_balance_send_page": "Հպեք՝ բացահայտելու համար",
873 "show_balance_toast": "Երկար սեղմեք `հավասարակշռությունը թաքցնելու կամ ցույց տալու համար",
874 "show_details": "Ցուցադրել մանրամասներ",
875 "show_keys": "Ցուցադրել բանալիներ",
res/values/strings_id.arb
+1
@@ -874,6 +874,7 @@
874 "show": "Menunjukkan",
875 "show_address_book_popup": "Tampilkan Alamat Buku Popup",
876 "show_balance": "PRESS PANJANG UNTUK MENUNJUKKAN Balance",
877 + "show_balance_send_page": "Ketuk untuk mengungkapkan",
878 "show_balance_toast": "Tekan panjang untuk menyembunyikan atau menunjukkan keseimbangan",
879 "show_details": "Tampilkan Rincian",
880 "show_keys": "Tampilkan seed/kunci",
res/values/strings_it.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Mostra",
873 "show_address_book_popup": "Mostra popup della rubrica",
874 "show_balance": "Tieni premuto per mostrare l'importo",
875 + "show_balance_send_page": "Tocca per rivelare",
876 "show_balance_toast": "Tieni premuto per nascondere o mostrare l'importo",
877 "show_details": "Mostra dettagli",
878 "show_keys": "Mostra seme/chiavi",
res/values/strings_ja.arb
+1
@@ -872,6 +872,7 @@
872 "show": "見せる",
873 "show_address_book_popup": "アドレス帳のポップアップを表示します",
874 "show_balance": "バランスを示すためにロングプレス",
875 + "show_balance_send_page": "タップして表示します",
876 "show_balance_toast": "バランスを隠したり表示したりするためにロングプレス",
877 "show_details": "詳細を表示",
878 "show_keys": "シード/キーを表示する",
res/values/strings_ko.arb
+1
@@ -872,6 +872,7 @@
872 "show": "표시",
873 "show_address_book_popup": "주소록 팝업 표시",
874 "show_balance": "길게 눌러 잔액 표시",
875 + "show_balance_send_page": "공개하려면 탭하세요.",
876 "show_balance_toast": "길게 눌러 잔액 숨기기 또는 표시",
877 "show_details": "세부 정보 표시",
878 "show_keys": "시드/키 표시",
res/values/strings_my.arb
+1
@@ -871,6 +871,7 @@
871 "show": "ပြသ",
872 "show_address_book_popup": "လိပ်စာစာအုပ် popup ပြပါ",
873 "show_balance": "ချိန်ခွင်လျှာကိုပြသရန်ရှည်လျားသောစာနယ်ဇင်း",
874 + "show_balance_send_page": "ထုတ်ဖေါ်ဖို့ကိုအသာပုတ်ပါ",
875 "show_balance_toast": "ချိန်ခွင်လျှာကိုဖျောက်ရန်သို့မဟုတ်ပြသရန်ရှည်လျားသောစာနယ်ဇင်း",
876 "show_details": "အသေးစိတ်ပြ",
877 "show_keys": "မျိုးစေ့ /သော့များကို ပြပါ။",
res/values/strings_nl.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Show",
872 "show_address_book_popup": "Toon adresboek pop -up",
873 "show_balance": "Lange pers om evenwicht te tonen",
874 + "show_balance_send_page": "Tik om te onthullen",
875 "show_balance_toast": "Lange pers om evenwicht te verbergen of te tonen",
876 "show_details": "Toon details",
877 "show_keys": "Toon zaad/sleutels",
res/values/strings_pl.arb
+2 -1
@@ -366,8 +366,8 @@
366 "estimated_new_fee": "Szacowana nowa opłata",
367 "estimated_receive_amount": "Szacowana kwota otrzymania",
368 "eta": "ETA",
369 - "etherscan_history": "Historia Etherscan",
369 "ethereum_ecosystem": "Ekosystem Ethereum",
370 + "etherscan_history": "Historia Etherscan",
371 "event": "Zdarzenie",
372 "events": "Zdarzenia",
373 "exchange": "Wymiana",
@@ -870,6 +870,7 @@
870 "show": "Pokaż",
871 "show_address_book_popup": "Pokaż wyskakujące okno książki adresowej",
872 "show_balance": "Przytrzymaj, aby wyświetlić saldo",
873 + "show_balance_send_page": "Kliknij, aby odsłonić",
874 "show_balance_toast": "Przytrzymaj, aby ukryć lub pokazać saldo",
875 "show_details": "Pokaż Szczegóły",
876 "show_keys": "Pokaż seed/klucze",
res/values/strings_pt.arb
+1
@@ -873,6 +873,7 @@
873 "show": "Mostrar",
874 "show_address_book_popup": "Mostrar pop -up de livro de endereços",
875 "show_balance": "Pressione há muito tempo para mostrar o equilíbrio",
876 + "show_balance_send_page": "Toque para revelar",
877 "show_balance_toast": "Pressione há muito tempo para se esconder ou mostrar equilíbrio",
878 "show_details": "Mostrar detalhes",
879 "show_keys": "Mostrar semente/chaves",
res/values/strings_ru.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Показывать",
873 "show_address_book_popup": "Показать адресную книгу всплывающее окно",
874 "show_balance": "Длинная пресса, чтобы показать баланс",
875 + "show_balance_send_page": "Нажмите, чтобы открыть",
876 "show_balance_toast": "Длинная нажавка, чтобы скрыть или показать баланс",
877 "show_details": "Показать детали",
878 "show_keys": "Показать мнемоническую фразу/ключи",
res/values/strings_th.arb
+1
@@ -871,6 +871,7 @@
871 "show": "แสดง",
872 "show_address_book_popup": "แสดงสมุดที่อยู่ป๊อปอัพ",
873 "show_balance": "กดยาวเพื่อแสดงความสมดุล",
874 + "show_balance_send_page": "แตะเพื่อเปิดเผย",
875 "show_balance_toast": "กดนานเพื่อซ่อนหรือแสดงความสมดุล",
876 "show_details": "แสดงรายละเอียด",
877 "show_keys": "แสดงซีด/คีย์",
res/values/strings_tl.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Ipakita",
872 "show_address_book_popup": "Ipakita ang Address Book Popup",
873 "show_balance": "Mahabang pindutin upang ipakita ang balanse",
874 + "show_balance_send_page": "Tapikin upang ibunyag",
875 "show_balance_toast": "Mahabang pindutin upang itago o ipakita ang balanse",
876 "show_details": "Ipakita ang mga detalye",
877 "show_keys": "Ipakita ang mga seed/key",
res/values/strings_tr.arb
+1
@@ -871,6 +871,7 @@
871 "show": "Göstermek",
872 "show_address_book_popup": "Adres Kitabı Popup'ı Göster",
873 "show_balance": "Dengeyi Göstermek İçin Uzun Basın",
874 + "show_balance_send_page": "Ortaya çıkarmak için dokunun",
875 "show_balance_toast": "Dengeyi gizlemek veya göstermek için uzun basın",
876 "show_details": "Detayları Göster",
877 "show_keys": "Tohumları/anahtarları göster",
res/values/strings_uk.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Показувати",
873 "show_address_book_popup": "Показати спливаюче вікно адреси книги",
874 "show_balance": "Довга преса, щоб показати рівновагу",
875 + "show_balance_send_page": "Торкніться, щоб відкрити",
876 "show_balance_toast": "Довга преса, щоб приховати або показати рівновагу",
877 "show_details": "Показати деталі",
878 "show_keys": "Показати мнемонічну фразу/ключі",
res/values/strings_ur.arb
+1
@@ -873,6 +873,7 @@
873 "show": "دکھائیں",
874 "show_address_book_popup": "ایڈریس بک پاپ اپ دکھائیں",
875 "show_balance": "توازن ظاہر کرنے کے لئے طویل پریس",
876 + "show_balance_send_page": "ظاہر کرنے کے لئے ٹیپ کریں",
877 "show_balance_toast": "توازن چھپانے یا ظاہر کرنے کے لئے طویل پریس",
878 "show_details": "تفصیلات دکھائیں",
879 "show_keys": "بیج / چابیاں دکھائیں۔",
res/values/strings_vi.arb
+1
@@ -868,6 +868,7 @@
868 "show": "Trình diễn",
869 "show_address_book_popup": "Hiển thị cửa sổ bật lên sổ sách địa chỉ",
870 "show_balance": "Báo chí dài để hiển thị sự cân bằng",
871 + "show_balance_send_page": "Nhấn để tiết lộ",
872 "show_balance_toast": "Nhấn dài để ẩn hoặc hiển thị sự cân bằng",
873 "show_details": "Hiển thị chi tiết",
874 "show_keys": "Hiển thị hạt giống/khóa",
res/values/strings_yo.arb
+1
@@ -872,6 +872,7 @@
872 "show": "Fihan",
873 "show_address_book_popup": "Fihan Agbejade Iwe Adirẹsi",
874 "show_balance": "Tẹ Tẹ lati ṣafihan iwọntunwọnsi",
875 + "show_balance_send_page": "Fọwọ ba lati ṣafihan",
876 "show_balance_toast": "Tẹ Tẹ lati tọju tabi ṣafihan iwọntunwọnsi",
877 "show_details": "Fi ìsọfúnni kékeré hàn",
878 "show_keys": "Wo hóró / àwọn kọ́kọ́rọ́",
res/values/strings_zh.arb
+1
@@ -871,6 +871,7 @@
871 "show": "展示",
872 "show_address_book_popup": "显示地址簿弹出",
873 "show_balance": "长印刷以显示平衡",
874 + "show_balance_send_page": "点击即可显示",
875 "show_balance_toast": "长按以隐藏或显示平衡",
876 "show_details": "显示详细信息",
877 "show_keys": "显示种子/密钥",