readd filters to new ui (#3062)
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
malik1004x committed
Mar 14, 2026 at 13:57 UTC
aa18ea396032de79ac84d6afe543ee957f93a755
32 files changed
+59
-7
lib/new-ui/widgets/coins_page/assets_history/assets_history_section.dart
+1
-1
@@ -70,7 +70,7 @@ class _AssetsHistorySectionState extends State<AssetsHistorySection> {
70
Widget build(BuildContext context) {
71
return Column(
72
children: [
73
- if(tabs.length>1)
73
+ // if(tabs.length>1)
74
AssetsTopBar(
75
dashboardViewModel: widget.dashboardViewModel,
76
tabs: tabs.map((item) => item.title).toList(),
lib/new-ui/widgets/coins_page/assets_history/assets_top_bar.dart
+26
-4
@@ -1,6 +1,8 @@
1
import 'package:cake_wallet/generated/i18n.dart';
2
import 'package:cake_wallet/new-ui/widgets/line_tab_switcher.dart';
3
import 'package:cake_wallet/routes.dart';
4
+import 'package:cake_wallet/src/screens/dashboard/widgets/filter_widget.dart';
5
+import 'package:cake_wallet/utils/show_pop_up.dart';
6
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
7
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
8
import 'package:flutter/material.dart';
@@ -21,7 +23,9 @@ class AssetsTopBar extends StatelessWidget {
23
24
@override
25
Widget build(BuildContext context) {
24
- final hasTokenSettingsButton = tabs[selectedTab] == S.of(context).assets && dashboardViewModel.balanceViewModel.isHomeScreenSettingsEnabled;
26
+ final settingsButtonText = _getSettingsButtonText();
27
+ final hasTokenSettingsButton = settingsButtonText != null;
28
+
29
30
return Padding(
31
padding: const EdgeInsets.only(top: 12.0, bottom: 12.0, left: 12.0, right: 18.0),
@@ -29,20 +33,27 @@ class AssetsTopBar extends StatelessWidget {
33
crossAxisAlignment: CrossAxisAlignment.center,
34
mainAxisAlignment: MainAxisAlignment.spaceBetween,
35
children: [
36
+ if(tabs.length > 1)
37
LineTabSwitcher(
38
tabs: tabs,
39
onTabChange: onTabChange,
40
selectedTab: selectedTab,
36
- ),
41
+ )
42
+ else SizedBox.shrink(),
43
Opacity(
44
opacity: hasTokenSettingsButton ? 1 : 0,
45
child: ElevatedButton(
46
onPressed: () {
41
- if (hasTokenSettingsButton) {
47
+ if (tabs[selectedTab] == S.of(context).assets) {
48
Navigator.of(context).pushNamed(
49
Routes.homeSettings,
50
arguments: dashboardViewModel.balanceViewModel,
51
);
52
+ } else if(tabs[selectedTab] == S.of(context).history) {
53
+ showPopUp<void>(
54
+ context: context,
55
+ builder: (context) => FilterWidget(filterItems: dashboardViewModel.filterItems),
56
+ );
57
}
58
},
59
style: ElevatedButton.styleFrom(
@@ -64,7 +75,7 @@ class AssetsTopBar extends StatelessWidget {
75
colorFilter: ColorFilter.mode(
76
Theme.of(context).colorScheme.primary, BlendMode.srcIn)),
77
Text(
67
- S.of(context).tokens,
78
+ settingsButtonText??"",
79
style: TextStyle(color: Theme.of(context).colorScheme.primary),
80
)
81
],
@@ -77,4 +88,15 @@ class AssetsTopBar extends StatelessWidget {
88
),
89
);
90
}
91
+
92
+ String? _getSettingsButtonText() {
93
+ if (tabs[selectedTab] == S.current.assets &&
94
+ dashboardViewModel.balanceViewModel.isHomeScreenSettingsEnabled) {
95
+ return S.current.tokens;
96
+ }
97
+
98
+ if (tabs[selectedTab] == S.current.history) {
99
+ return S.current.filters;
100
+ }
101
+ }
102
}
res/values/strings_ar.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "تم حفظ الملف",
476
"fill_code": "يرجى إدخال رمز التحقق المُرسل إلى بريدك الإلكتروني",
477
"filter_by": "تصفية حسب",
478
+ "filters": "المرشحات",
479
"finding_provider": "جارٍ البحث عن مزوّد",
480
"first_wallet_text": "محفظة رائعة لـ Monero وBitcoin وEthereum وLitecoin وHaven",
481
"fixed_pair_not_supported": "هذا الزوج الثابت غير مدعوم مع خدمات المبادلة المحددة",
res/values/strings_bg.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Файлът е запазен",
476
"fill_code": "Моля, въведете кода за потвърждение, изпратен на вашия имейл",
477
"filter_by": "Филтриране по",
478
+ "filters": "Филтри",
479
"finding_provider": "Намиране на доставчик",
480
"first_wallet_text": "Страхотен портфейл за Monero, Bitcoin, Ethereum, Litecoin и Haven",
481
"fixed_pair_not_supported": "Тази фиксирана двойка не се поддържа от избраните услуги за обмен",
res/values/strings_cs.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Soubor uložen",
476
"fill_code": "Zadejte prosím ověřovací kód, který vám byl zaslán na e-mail",
477
"filter_by": "Filtrovat podle",
478
+ "filters": "Filtry",
479
"finding_provider": "Hledání poskytovatele",
480
"first_wallet_text": "Skvělá peněženka pro Monero, Bitcoin, Ethereum, Litecoin a Haven",
481
"fixed_pair_not_supported": "Tento pevný pár není podporován u vybraných swapovacích služeb",
res/values/strings_de.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Datei gespeichert",
476
"fill_code": "Bitte geben Sie den Verifizierungscode ein, den Sie per E-Mail erhalten haben",
477
"filter_by": "Filtern nach",
478
+ "filters": "Filter",
479
"finding_provider": "Anbieter wird gesucht",
480
"first_wallet_text": "Eine großartige Wallet für Monero, Bitcoin, Ethereum, Litecoin und Haven",
481
"fixed_pair_not_supported": "Dieses feste Paar wird von den ausgewählten Swap-Diensten nicht unterstützt",
res/values/strings_en.arb
+2
-1
@@ -475,6 +475,7 @@
475
"file_saved": "File saved",
476
"fill_code": "Please fill in the verification code provided to your email",
477
"filter_by": "Filter by",
478
+ "filters": "Filters",
479
"finding_provider": "Finding provider",
480
"first_wallet_text": "Awesome wallet for Monero, Bitcoin, Ethereum, Litecoin, and Haven",
481
"fixed_pair_not_supported": "This fixed pair is not supported with the selected swap services",
@@ -1365,4 +1366,4 @@
1366
"zcash_card_missing_funds": "Missing funds?",
1367
"zcash_card_scan": "Scan",
1368
"zcash_card_warning": "Do not close the app until the procedure completes, if you do so this process will need to restart from scratch."
1368
-}
1369
+}
\ No newline at end of file
res/values/strings_es.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Archivo guardado",
476
"fill_code": "Por favor, introduce el código de verificación enviado a tu correo electrónico",
477
"filter_by": "Filtrar por",
478
+ "filters": "Filtros",
479
"finding_provider": "Buscando proveedor",
480
"first_wallet_text": "Billetera increíble para Monero, Bitcoin, Ethereum, Litecoin y Haven",
481
"fixed_pair_not_supported": "Este par fijo no es compatible con los servicios de swap seleccionados",
res/values/strings_fa.arb
+1
@@ -473,6 +473,7 @@
473
"file_saved": "فایل ذخیره شد",
474
"fill_code": "لطفاً کد تأیید ارسالشده به ایمیل خود را وارد کنید",
475
"filter_by": "فیلتر بر اساس",
476
+ "filters": "فیلترها",
477
"finding_provider": "در حال یافتن ارائهدهنده",
478
"first_wallet_text": "کیف پول فوقالعاده برای مونرو، بیتکوین، اتریوم، لایتکوین و هیون",
479
"fixed_pair_not_supported": "این جفتارز ثابت توسط سرویسهای سواپ انتخابشده پشتیبانی نمیشود",
res/values/strings_fr.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Fichier enregistré",
476
"fill_code": "Veuillez saisir le code de vérification envoyé à votre adresse e-mail.",
477
"filter_by": "Filtrer par",
478
+ "filters": "Filtres",
479
"finding_provider": "Recherche d’un fournisseur",
480
"first_wallet_text": "Portefeuille génial pour Monero, Bitcoin, Ethereum, Litecoin et Haven",
481
"fixed_pair_not_supported": "Cette paire fixe n'est pas prise en charge par les services d'échange sélectionnés",
res/values/strings_gn.arb
+1
@@ -371,6 +371,7 @@
371
"field_required": "Ko kora tekotevẽva",
372
"fill_code": "Ikatúpiko emyenyhẽ pe ayvu ñemi jehechaukaha oñemondóva nde korreópe.",
373
"filter_by": "Mboguaha rupi",
374
+ "filters": "Filtro-kuéra rehegua",
375
"finding_provider": "Ojejuhu hag̃ua proveedor",
376
"first_wallet_text": "Viru ñongatuha iporãiterei Monero, Bitcoin, Ethereum, Litecoin ha Haven-pe guarã.",
377
"fixed_pair_not_supported": "Ko mokõi par fijo ndojehepyme’ẽi umi swap rembiapo ojeiporavo va’ekuépe.",
res/values/strings_ha.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "An ajiye fayil",
476
"fill_code": "Da fatan za a shigar da lambar tabbatarwa da aka aiko zuwa imel ɗin ku",
477
"filter_by": "Tace ta",
478
+ "filters": "Tace",
479
"finding_provider": "Ana neman mai ba da sabis",
480
"first_wallet_text": "Kyakkyawan walat don Monero, Bitcoin, Ethereum, Litecoin, da Haven",
481
"fixed_pair_not_supported": "Ba a tallafa wa wannan tsayayyen nau'i ba tare da sabis ɗin musayar da aka zaɓa ba",
res/values/strings_hi.arb
+2
-1
@@ -475,6 +475,7 @@
475
"file_saved": "फ़ाइल सहेजी गई",
476
"fill_code": "कृपया अपने ईमेल पर भेजा गया सत्यापन कोड दर्ज करें",
477
"filter_by": "इसके अनुसार फ़िल्टर करें",
478
+ "filters": "फिल्टर",
479
"finding_provider": "प्रदाता खोजा जा रहा है",
480
"first_wallet_text": "Monero, Bitcoin, Ethereum, Litecoin और Haven के लिए शानदार वॉलेट",
481
"fixed_pair_not_supported": "यह निश्चित जोड़ी चयनित स्वैप सेवाओं के साथ समर्थित नहीं है",
@@ -725,8 +726,8 @@
726
"payjoin_unavailable_sheet_title": "Payjoin उपलब्ध क्यों नहीं है?",
727
"payment_id": "भुगतान आईडी: ",
728
"payment_made_easy": "भुगतान करना आसान",
728
- "payment_was_received": "आपका भुगतान प्राप्त हो गया।",
729
"Payment_was_received": "आपका भुगतान प्राप्त हो गया था।",
730
+ "payment_was_received": "आपका भुगतान प्राप्त हो गया।",
731
"payments": "भुगतान",
732
"pending": " (लंबित)",
733
"percentageOf": "${amount} का",
res/values/strings_hr.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Datoteka je spremljena",
476
"fill_code": "Molimo unesite verifikacijski kod koji ste primili na svoju e-poštu",
477
"filter_by": "Filtriraj po",
478
+ "filters": "Filteri",
479
"finding_provider": "Traženje pružatelja",
480
"first_wallet_text": "Odličan novčanik za Monero, Bitcoin, Ethereum, Litecoin i Haven",
481
"fixed_pair_not_supported": "Ovaj fiksni par nije podržan s odabranim uslugama zamjene",
res/values/strings_hy.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Ֆայլը պահպանվել է",
476
"fill_code": "Խնդրում ենք մուտքագրել ձեր էլեկտրոնային փոստին ուղարկված հաստատման կոդը",
477
"filter_by": "Զտել ըստ",
478
+ "filters": "Զտիչներ",
479
"finding_provider": "Մատակարարի որոնում",
480
"first_wallet_text": "Հիանալի դրամապանակ Monero, Bitcoin, Ethereum, Litecoin և Haven-ի համար",
481
"fixed_pair_not_supported": "Այս ֆիքսված զույգը չի աջակցվում ընտրված փոխանակման ծառայությունների կողմից",
res/values/strings_id.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "File tersimpan",
476
"fill_code": "Silakan isi kode verifikasi yang dikirim ke email Anda",
477
"filter_by": "Filter berdasarkan",
478
+ "filters": "Filter",
479
"finding_provider": "Mencari penyedia",
480
"first_wallet_text": "Dompet yang keren untuk Monero, Bitcoin, Ethereum, Litecoin, dan Haven",
481
"fixed_pair_not_supported": "Pasangan tetap ini tidak didukung oleh layanan swap yang dipilih",
res/values/strings_it.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "File salvato",
476
"fill_code": "Inserisci il codice di verifica inviato al tuo indirizzo email",
477
"filter_by": "Filtra per",
478
+ "filters": "Filtri",
479
"finding_provider": "Ricerca del fornitore",
480
"first_wallet_text": "Portafoglio fantastico per Monero, Bitcoin, Ethereum, Litecoin e Haven",
481
"fixed_pair_not_supported": "Questa coppia fissa non è supportata dai servizi di swap selezionati",
res/values/strings_ja.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "ファイルを保存しました",
476
"fill_code": "メールに記載されている認証コードを入力してください",
477
"filter_by": "絞り込み",
478
+ "filters": "フィルター",
479
"finding_provider": "プロバイダーを検索中",
480
"first_wallet_text": "Monero、Bitcoin、Ethereum、Litecoin、Havenに対応した素晴らしいウォレット",
481
"fixed_pair_not_supported": "この固定ペアは、選択したスワップサービスではサポートされていません",
res/values/strings_ko.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "파일이 저장되었습니다",
476
"fill_code": "이메일로 받은 인증 코드를 입력하세요",
477
"filter_by": "필터 기준:",
478
+ "filters": "필터",
479
"finding_provider": "제공자 찾는 중",
480
"first_wallet_text": "모네로, 비트코인, 이더리움, 라이트코인, 헤이븐을 위한 멋진 지갑",
481
"fixed_pair_not_supported": "이 고정 페어는 선택한 스왑 서비스에서 지원되지 않습니다",
res/values/strings_my.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "ဖိုင်ကို သိမ်းဆည်းပြီးပါပြီ",
476
"fill_code": "သင့်အီးမေးလ်သို့ ပို့ထားသော အတည်ပြုကုဒ်ကို ဖြည့်ပါ။",
477
"filter_by": "အလိုက် စစ်ထုတ်ရန်",
478
+ "filters": "စစ်ထုတ်မှုများ",
479
"finding_provider": "ပံ့ပိုးသူကို ရှာဖွေနေသည်",
480
"first_wallet_text": "Monero၊ Bitcoin၊ Ethereum၊ Litecoin နှင့် Haven အတွက် အလွန်ကောင်းမွန်သော Wallet",
481
"fixed_pair_not_supported": "ဤပုံသေစုံတွဲကို ရွေးချယ်ထားသော swap ဝန်ဆောင်မှုများဖြင့် မထောက်ပံ့ပါ",
res/values/strings_nl.arb
+1
@@ -473,6 +473,7 @@
473
"file_saved": "Bestand opgeslagen",
474
"fill_code": "Vul de verificatiecode in die je in je e-mail hebt ontvangen",
475
"filter_by": "Filteren op",
476
+ "filters": "Filters",
477
"finding_provider": "Aanbieder zoeken",
478
"first_wallet_text": "Geweldige wallet voor Monero, Bitcoin, Ethereum, Litecoin en Haven",
479
"fixed_pair_not_supported": "Dit vaste paar wordt niet ondersteund met de geselecteerde swap-services",
res/values/strings_pl.arb
+1
@@ -474,6 +474,7 @@
474
"file_saved": "Plik zapisany",
475
"fill_code": "Proszę wprowadzić kod weryfikacyjny wysłany na Twój adres e‑mail",
476
"filter_by": "Filtruj według",
477
+ "filters": "Filtry",
478
"finding_provider": "Wyszukiwanie dostawcy",
479
"first_wallet_text": "Świetny portfel dla Monero, Bitcoin, Ethereum, Litecoin i Haven",
480
"fixed_pair_not_supported": "Ta stała para nie jest obsługiwana przez wybrane usługi swap.",
res/values/strings_pt.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Arquivo salvo",
476
"fill_code": "Por favor, preencha o código de verificação enviado para o seu e-mail",
477
"filter_by": "Filtrar por",
478
+ "filters": "Filtros",
479
"finding_provider": "Procurando provedor",
480
"first_wallet_text": "Carteira incrível para Monero, Bitcoin, Ethereum, Litecoin e Haven",
481
"fixed_pair_not_supported": "Este par fixo não é compatível com os serviços de swap selecionados",
res/values/strings_ru.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Файл сохранён",
476
"fill_code": "Пожалуйста, введите код подтверждения, отправленный на вашу электронную почту",
477
"filter_by": "Фильтровать по",
478
+ "filters": "Фильтры",
479
"finding_provider": "Поиск провайдера",
480
"first_wallet_text": "Отличный кошелёк для Monero, Bitcoin, Ethereum, Litecoin и Haven",
481
"fixed_pair_not_supported": "Эта фиксированная пара не поддерживается выбранными сервисами обмена",
res/values/strings_th.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "บันทึกไฟล์แล้ว",
476
"fill_code": "โปรดกรอกรหัสยืนยันที่ส่งไปยังอีเมลของคุณ",
477
"filter_by": "กรองตาม",
478
+ "filters": "ตัวกรอง",
479
"finding_provider": "กำลังค้นหาผู้ให้บริการ",
480
"first_wallet_text": "กระเป๋าเงินที่ยอดเยี่ยมสำหรับ Monero, Bitcoin, Ethereum, Litecoin และ Haven",
481
"fixed_pair_not_supported": "คู่แบบคงที่นี้ไม่รองรับกับบริการสวอปที่เลือก",
res/values/strings_tl.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Na-save ang file",
476
"fill_code": "Mangyaring ilagay ang verification code na ipinadala sa iyong email",
477
"filter_by": "I-filter ayon sa",
478
+ "filters": "Mga filter",
479
"finding_provider": "Naghahanap ng provider",
480
"first_wallet_text": "Napakahusay na wallet para sa Monero, Bitcoin, Ethereum, Litecoin, at Haven",
481
"fixed_pair_not_supported": "Hindi sinusuportahan ang nakapirming pares na ito sa mga napiling serbisyo ng swap",
res/values/strings_tr.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Dosya kaydedildi",
476
"fill_code": "Lütfen e-postanıza gönderilen doğrulama kodunu girin",
477
"filter_by": "Filtrele:",
478
+ "filters": "Filtreler",
479
"finding_provider": "Sağlayıcı aranıyor",
480
"first_wallet_text": "Monero, Bitcoin, Ethereum, Litecoin ve Haven için harika bir cüzdan",
481
"fixed_pair_not_supported": "Bu sabit parite, seçilen takas hizmetleriyle desteklenmiyor",
res/values/strings_uk.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "Файл збережено",
476
"fill_code": "Будь ласка, введіть код підтвердження, надісланий на вашу електронну адресу",
477
"filter_by": "Фільтрувати за",
478
+ "filters": "Фільтри",
479
"finding_provider": "Пошук провайдера",
480
"first_wallet_text": "Чудовий гаманець для Monero, Bitcoin, Ethereum, Litecoin та Haven",
481
"fixed_pair_not_supported": "Ця фіксована пара не підтримується вибраними сервісами обміну",
res/values/strings_ur.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "فائل محفوظ ہو گئی",
476
"fill_code": "براہ کرم اپنے ای میل پر موصول ہونے والا تصدیقی کوڈ درج کریں۔",
477
"filter_by": "کے مطابق فلٹر کریں",
478
+ "filters": "فلٹرز",
479
"finding_provider": "فراہم کنندہ تلاش کیا جا رہا ہے",
480
"first_wallet_text": "Monero، Bitcoin، Ethereum، Litecoin اور Haven کے لیے بہترین والیٹ",
481
"fixed_pair_not_supported": "منتخب کردہ سواپ سروسز کے ساتھ یہ فکسڈ جوڑی سپورٹ نہیں کی جاتی",
res/values/strings_vi.arb
+1
@@ -474,6 +474,7 @@
474
"file_saved": "Đã lưu tệp",
475
"fill_code": "Vui lòng nhập mã xác minh được gửi đến email của bạn",
476
"filter_by": "Lọc theo",
477
+ "filters": "Bộ lọc",
478
"finding_provider": "Đang tìm nhà cung cấp",
479
"first_wallet_text": "Ví tuyệt vời cho Monero, Bitcoin, Ethereum, Litecoin và Haven",
480
"fixed_pair_not_supported": "Cặp tỷ giá cố định này không được hỗ trợ với các dịch vụ hoán đổi đã chọn",
res/values/strings_yo.arb
+1
@@ -476,6 +476,7 @@
476
"file_saved": "Faili ti fipamọ",
477
"fill_code": "Jọ̀wọ́ tẹ kóòdù ìmúdájú tí a rán sí ímeèlì rẹ.",
478
"filter_by": "Ṣàlẹ̀mọ́ nípa",
479
+ "filters": "Ajọ",
480
"finding_provider": "N wa olupese",
481
"first_wallet_text": "Àpamọ́wọ́ tó dára gan-an fún Monero, Bitcoin, Ethereum, Litecoin, àti Haven",
482
"fixed_pair_not_supported": "Akọsopọ paṣipaarọ ti o wa titi yii ko ni atilẹyin pẹlu awọn iṣẹ swap ti o yan",
res/values/strings_zh.arb
+1
@@ -475,6 +475,7 @@
475
"file_saved": "文件已保存",
476
"fill_code": "请填写发送至您邮箱的验证码",
477
"filter_by": "筛选条件",
478
+ "filters": "过滤器",
479
"finding_provider": "正在查找服务提供商",
480
"first_wallet_text": "适用于门罗币、比特币、以太坊、莱特币和 Haven 的超棒钱包",
481
"fixed_pair_not_supported": "所选的兑换服务不支持该固定交易对",