@@ -34,17 +34,16 @@ class CoinSelectionBottomSheet extends StatelessWidget {
3434 0 ,
3535 (previousValue, element) => previousValue + element.amountSat.toInt (),
3636 );
37- final selectedUtxoTotal =
38- bitcoinUnit == BitcoinUnit .btc
39- ? FormatAmount .btc (ConvertAmount .satsToBtc (selectedUtxoTotalSat))
40- : FormatAmount .sats (selectedUtxoTotalSat);
37+ final selectedUtxoTotal = bitcoinUnit == BitcoinUnit .btc
38+ ? FormatAmount .btc (ConvertAmount .satsToBtc (selectedUtxoTotalSat))
39+ : FormatAmount .sats (selectedUtxoTotalSat);
4140 final amountToSendSat = context.select (
4241 (SendCubit send) => send.state.confirmedAmountSat ?? 0 ,
4342 );
44- final amountToSend =
45- bitcoinUnit == BitcoinUnit .btc
46- ? FormatAmount .btc ( ConvertAmount . satsToBtc ( amountToSendSat))
47- : FormatAmount . sats ( amountToSendSat) ;
43+ final amountToSend = bitcoinUnit == BitcoinUnit .btc
44+ ? FormatAmount .btc ( ConvertAmount . satsToBtc (amountToSendSat))
45+ : FormatAmount .sats ( amountToSendSat);
46+ final isAmountSufficient = selectedUtxoTotalSat > amountToSendSat;
4847
4948 return SingleChildScrollView (
5049 padding: const EdgeInsets .symmetric (horizontal: 16 , vertical: 24 ),
@@ -77,6 +76,15 @@ class CoinSelectionBottomSheet extends StatelessWidget {
7776 '${context .loc .sendAmountRequested }$amountToSend ' ,
7877 style: context.font.bodySmall,
7978 ),
79+ if (! isAmountSufficient) ...[
80+ const Gap (8 ),
81+ BBText (
82+ context.loc.sendSelectedUtxosInsufficient,
83+ style: context.font.bodySmall? .copyWith (
84+ color: context.appColors.error,
85+ ),
86+ ),
87+ ],
8088 const Gap (24 ),
8189 ListView .separated (
8290 physics: const NeverScrollableScrollPhysics (),
@@ -85,9 +93,8 @@ class CoinSelectionBottomSheet extends StatelessWidget {
8593 return CoinSelectTile (
8694 utxo: utxo,
8795 selected: selectedUtxos.contains (utxo),
88- onTap:
89- () async =>
90- await context.read <SendCubit >().utxoSelected (utxo),
96+ onTap: () async =>
97+ await context.read <SendCubit >().utxoSelected (utxo),
9198 exchangeRate: exchangeRate,
9299 bitcoinUnit: bitcoinUnit! ,
93100 fiatCurrency: fiatCurrency,
@@ -103,6 +110,7 @@ class CoinSelectionBottomSheet extends StatelessWidget {
103110 onPressed: context.pop,
104111 bgColor: context.appColors.secondary,
105112 textColor: context.appColors.onSecondary,
113+ disabled: ! isAmountSufficient,
106114 ),
107115 const Gap (24 ),
108116 ],
0 commit comments