CW-1186-Show-the-fiat-amount-for-UTXOs-in-coin-control (#2595)

* Add fiat amount display to unspent coins list

* refactor fiat amount handling for unspent coins

* Update lib/view_model/unspent_coins/unspent_coins_list_view_model.dart [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
Serhii
2025-11-21 23:05:15 +01:00
committed by GitHub
co-authored by Omar Hatem
parent c552ab86d2
commit ccfe424b28
4 changed files with 82 additions and 23 deletions
@@ -178,28 +178,32 @@ class UnspentCoinsListFormState extends State<UnspentCoinsListForm> {
itemBuilder: (_, int index) {
final item = unspentCoinsListViewModel.items[index];
return Observer(
builder: (_) => GestureDetector(
onTap: () => Navigator.of(context).pushNamed(
Routes.unspentCoinsDetails,
arguments: [item, unspentCoinsListViewModel],
),
child: UnspentCoinsListItem(
note: item.note,
amount: item.amount,
address: item.address,
isSending: item.isSending,
isFrozen: item.isFrozen,
isChange: item.isChange,
isSilentPayment: item.isSilentPayment,
onCheckBoxTap: item.isFrozen
? null
: () async {
item.isSending = !item.isSending;
await unspentCoinsListViewModel
.saveUnspentCoinInfo(item);
},
),
),
builder: (_) {
final fiatAmount = unspentCoinsListViewModel.fiatAmounts[item.hash] ?? '';
return GestureDetector(
onTap: () => Navigator.of(context).pushNamed(
Routes.unspentCoinsDetails,
arguments: [item, unspentCoinsListViewModel],
),
child: UnspentCoinsListItem(
note: item.note,
amount: item.amount,
fiatAmount: fiatAmount,
address: item.address,
isSending: item.isSending,
isFrozen: item.isFrozen,
isChange: item.isChange,
isSilentPayment: item.isSilentPayment,
onCheckBoxTap: item.isFrozen
? null
: () async {
item.isSending = !item.isSending;
await unspentCoinsListViewModel
.saveUnspentCoinInfo(item);
},
),
);
}
);
},
),
@@ -7,6 +7,7 @@ class UnspentCoinsListItem extends StatelessWidget {
UnspentCoinsListItem({
required this.note,
required this.amount,
required this.fiatAmount,
required this.address,
required this.isSending,
required this.isFrozen,
@@ -17,6 +18,7 @@ class UnspentCoinsListItem extends StatelessWidget {
final String note;
final String amount;
final String fiatAmount;
final String address;
final bool isSending;
final bool isFrozen;
@@ -108,6 +110,22 @@ class UnspentCoinsListItem extends StatelessWidget {
),
],
),
if (fiatAmount.isNotEmpty)
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AutoSizeText(
fiatAmount,
style: Theme.of(context).textTheme.bodyMedium!.copyWith(
color: amountColor,
fontSize: 1,
fontWeight: FontWeight.w600,
),
maxLines: 1,
),
],
),
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,