From a20969b650bba4349c6d8c8b795999cb93f01cc1 Mon Sep 17 00:00:00 2001 From: OleksandrSobol Date: Fri, 23 Jul 2021 16:57:49 +0300 Subject: [PATCH 1/2] CAKE-334 | reworked unspent_coins_list_item.dart --- .../unspent_coins_list_page.dart | 3 +- .../widgets/unspent_coins_list_item.dart | 59 ++++++++++++++----- res/values/strings_de.arb | 1 + res/values/strings_en.arb | 1 + res/values/strings_es.arb | 1 + res/values/strings_hi.arb | 1 + res/values/strings_hr.arb | 1 + res/values/strings_it.arb | 1 + res/values/strings_ja.arb | 1 + res/values/strings_ko.arb | 1 + res/values/strings_nl.arb | 1 + res/values/strings_pl.arb | 1 + res/values/strings_pt.arb | 1 + res/values/strings_ru.arb | 1 + res/values/strings_uk.arb | 1 + res/values/strings_zh.arb | 1 + 16 files changed, 61 insertions(+), 15 deletions(-) diff --git a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart b/lib/src/screens/unspent_coins/unspent_coins_list_page.dart index 074979eb7..d8c3b89a1 100644 --- a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart +++ b/lib/src/screens/unspent_coins/unspent_coins_list_page.dart @@ -86,9 +86,10 @@ class UnspentCoinsListFormState extends State { .pushNamed(Routes.unspentCoinsDetails, arguments: [item, unspentCoinsListViewModel]), child: UnspentCoinsListItem( - address: item.address, + note: item.note, amount: item.amount, isSending: item.isSending, + isFrozen: item.isFrozen, onCheckBoxTap: item.isFrozen ? null : () async { diff --git a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart b/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart index 44886dce2..93282e591 100644 --- a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart +++ b/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart @@ -2,12 +2,14 @@ import 'package:auto_size_text/auto_size_text.dart'; import 'package:cake_wallet/palette.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:cake_wallet/generated/i18n.dart'; class UnspentCoinsListItem extends StatelessWidget { UnspentCoinsListItem({ - @required this.address, + @required this.note, @required this.amount, @required this.isSending, + @required this.isFrozen, @required this.onCheckBoxTap, }); @@ -16,9 +18,10 @@ class UnspentCoinsListItem extends StatelessWidget { static const selectedItemColor = Palette.paleCornflowerBlue; static const unselectedItemColor = Palette.moderateLavender; - final String address; + final String note; final String amount; final bool isSending; + final bool isFrozen; final Function() onCheckBoxTap; @override @@ -51,7 +54,7 @@ class UnspentCoinsListItem extends StatelessWidget { width: 1.0), borderRadius: BorderRadius.all( Radius.circular(8.0)), - color: Theme.of(context).backgroundColor), + color: itemColor), child: isSending ? Icon( Icons.check, @@ -64,25 +67,53 @@ class UnspentCoinsListItem extends StatelessWidget { ), Expanded( child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisAlignment: (note?.isNotEmpty ?? false) + ? MainAxisAlignment.spaceBetween + : MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ - AutoSizeText( - amount, - style: TextStyle( - color: amountColor, - fontSize: 16, - fontWeight: FontWeight.w600 - ), - maxLines: 1, + Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + child: AutoSizeText( + amount, + style: TextStyle( + color: amountColor, + fontSize: 16, + fontWeight: FontWeight.w600 + ), + maxLines: 1, + ), + ), + if (isFrozen) Container( + height: 17, + padding: EdgeInsets.only(left: 6, right: 6), + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(8.5)), + color: Colors.white), + alignment: Alignment.center, + child: Text( + S.of(context).frozen, + style: TextStyle( + color: amountColor, + fontSize: 7, + fontWeight: FontWeight.w600 + ), + ) + ) + ], ), - AutoSizeText( - address, + if (note?.isNotEmpty ?? false) Text( + note, style: TextStyle( color: addressColor, fontSize: 12, ), maxLines: 1, + overflow: TextOverflow.ellipsis ) ] ) diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index 8ad27e3b2..85fe0604a 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Nicht ausgegebene Münzen", "unspent_coins_details_title" : "Details zu nicht ausgegebenen Münzen", "freeze" : "Einfrieren", + "frozen" : "Gefroren", "coin_control" : "Münzkontrolle (optional)", "address_detected" : "Adresse erkannt", diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 22ac371fd..524479f4c 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Unspent coins", "unspent_coins_details_title" : "Unspent coins details", "freeze" : "Freeze", + "frozen" : "Frozen", "coin_control" : "Coin control (optional)", "address_detected" : "Address detected", diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index d372db5a0..36d6ff15d 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Monedas no gastadas", "unspent_coins_details_title" : "Detalles de monedas no gastadas", "freeze" : "Congelar", + "frozen" : "Congelada", "coin_control" : "Control de monedas (opcional)", "address_detected" : "Dirección detectada", diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index c290dc736..03f88b62e 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "खर्च न किए गए सिक्के", "unspent_coins_details_title" : "अव्ययित सिक्कों का विवरण", "freeze" : "फ्रीज", + "frozen" : "जमा हुआ", "coin_control" : "सिक्का नियंत्रण (वैकल्पिक)", "address_detected" : "पता लग गया", diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index dec79f2c4..e40fcc974 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Nepotrošeni novčići", "unspent_coins_details_title" : "Nepotrošeni detalji o novčićima", "freeze" : "Zamrznuti", + "frozen" : "Smrznuto", "coin_control" : "Kontrola novca (nije obavezno)", "address_detected" : "Adresa je otkrivena", diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index 92f3be68c..559b1c805 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Monete non spese", "unspent_coins_details_title" : "Dettagli sulle monete non spese", "freeze" : "Congelare", + "frozen" : "Congelato", "coin_control" : "Controllo monete (opzionale)", "address_detected" : "Indirizzo rilevato", diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index d82f5de25..c661c4a91 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "未使用のコイン", "unspent_coins_details_title" : "未使用のコインの詳細", "freeze" : "氷結", + "frozen" : "凍った", "coin_control" : "コインコントロール(オプション)", "address_detected" : "アドレスが検出されました", diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index 0ff685c1f..bbd8803a7 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "사용하지 않은 동전", "unspent_coins_details_title" : "사용하지 않은 동전 세부 정보", "freeze" : "얼다", + "frozen" : "겨울 왕국", "coin_control" : "코인 제어 (옵션)", "address_detected" : "주소 감지", diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 2fd48e8bb..dddae8a57 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Ongebruikte munten", "unspent_coins_details_title" : "Details van niet-uitgegeven munten", "freeze" : "Bevriezen", + "frozen" : "Bevroren", "coin_control" : "Muntcontrole (optioneel)", "address_detected" : "Adres gedetecteerd", diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 9f8cf2351..318d29c61 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Niewydane monety", "unspent_coins_details_title" : "Szczegóły niewydanych monet", "freeze" : "Zamrażać", + "frozen" : "Mrożony", "coin_control" : "Kontrola monet (opcjonalnie)", "address_detected" : "Wykryto adres", diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index 59693aa8e..2eed04398 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Moedas não gastas", "unspent_coins_details_title" : "Detalhes de moedas não gastas", "freeze" : "Congelar", + "frozen" : "Congeladas", "coin_control" : "Controle de moedas (opcional)", "address_detected" : "Endereço detectado", diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index 5fd097522..f2e31df60 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Неизрасходованные монеты", "unspent_coins_details_title" : "Сведения о неизрасходованных монетах", "freeze" : "Заморозить", + "frozen" : "Заморожено", "coin_control" : "Контроль монет (необязательно)", "address_detected" : "Обнаружен адрес", diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index 2bbbfd8e8..82d10fc08 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "Невитрачені монети", "unspent_coins_details_title" : "Відомості про невитрачені монети", "freeze" : "Заморозити", + "frozen" : "Заморожено", "coin_control" : "Контроль монет (необов’язково)", "address_detected" : "Виявлено адресу", diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index 1e4ebc397..f79dc3feb 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -488,6 +488,7 @@ "unspent_coins_title" : "未使用的硬幣", "unspent_coins_details_title" : "未使用代幣詳情", "freeze" : "凍結", + "frozen" : "凍結的", "coin_control" : "硬幣控制(可選)", "address_detected" : "檢測到地址", From b3028f0ba2af260bca594de6afadbd1c8bf93776 Mon Sep 17 00:00:00 2001 From: OleksandrSobol Date: Fri, 23 Jul 2021 18:38:56 +0300 Subject: [PATCH 2/2] CAKE-334 | fixed unspent_coins_list_item.dart --- .../unspent_coins/unspent_coins_list_page.dart | 1 + .../widgets/unspent_coins_list_item.dart | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart b/lib/src/screens/unspent_coins/unspent_coins_list_page.dart index d8c3b89a1..931e618ae 100644 --- a/lib/src/screens/unspent_coins/unspent_coins_list_page.dart +++ b/lib/src/screens/unspent_coins/unspent_coins_list_page.dart @@ -88,6 +88,7 @@ class UnspentCoinsListFormState extends State { child: UnspentCoinsListItem( note: item.note, amount: item.amount, + address: item.address, isSending: item.isSending, isFrozen: item.isFrozen, onCheckBoxTap: item.isFrozen diff --git a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart b/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart index 93282e591..e4814e9ee 100644 --- a/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart +++ b/lib/src/screens/unspent_coins/widgets/unspent_coins_list_item.dart @@ -8,6 +8,7 @@ class UnspentCoinsListItem extends StatelessWidget { UnspentCoinsListItem({ @required this.note, @required this.amount, + @required this.address, @required this.isSending, @required this.isFrozen, @required this.onCheckBoxTap, @@ -20,6 +21,7 @@ class UnspentCoinsListItem extends StatelessWidget { final String note; final String amount; + final String address; final bool isSending; final bool isFrozen; final Function() onCheckBoxTap; @@ -27,6 +29,7 @@ class UnspentCoinsListItem extends StatelessWidget { @override Widget build(BuildContext context) { final itemColor = isSending? selectedItemColor : unselectedItemColor; + final _note = (note?.isNotEmpty ?? false) ? note : address; return Container( height: 62, @@ -67,9 +70,7 @@ class UnspentCoinsListItem extends StatelessWidget { ), Expanded( child: Column( - mainAxisAlignment: (note?.isNotEmpty ?? false) - ? MainAxisAlignment.spaceBetween - : MainAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( @@ -106,8 +107,8 @@ class UnspentCoinsListItem extends StatelessWidget { ) ], ), - if (note?.isNotEmpty ?? false) Text( - note, + Text( + _note, style: TextStyle( color: addressColor, fontSize: 12,