From 91ed52003b0719e68e3e461a0a2d902e0ca0f9d7 Mon Sep 17 00:00:00 2001 From: M Date: Wed, 12 Jan 2022 16:49:56 +0200 Subject: [PATCH] Back next address button on receive screen --- cw_bitcoin/lib/electrum_wallet.dart | 2 +- cw_bitcoin/lib/electrum_wallet_addresses.dart | 17 ++++++++++++++--- .../dashboard/widgets/address_page.dart | 18 +++++++++--------- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/cw_bitcoin/lib/electrum_wallet.dart b/cw_bitcoin/lib/electrum_wallet.dart index e55b706dc..99b9adf83 100644 --- a/cw_bitcoin/lib/electrum_wallet.dart +++ b/cw_bitcoin/lib/electrum_wallet.dart @@ -239,7 +239,7 @@ abstract class ElectrumWalletBase extends WalletBase addresses; + List get availableAddresses => addresses + .where((addr) => addr.isHidden) + .toList(); + int accountIndex; @override Future init() async { await generateAddresses(); - address = addresses[accountIndex].address; + final _availableAddresses = availableAddresses; + + if (accountIndex >= _availableAddresses.length) { + accountIndex = 0; + } + + address = _availableAddresses[accountIndex].address; await updateAddressesInBox(); } @action Future nextAddress() async { accountIndex += 1; + final _availableAddresses = availableAddresses; - if (accountIndex >= addresses.length) { + if (accountIndex >= _availableAddresses.length) { accountIndex = 0; } - address = addresses[accountIndex].address; + address = _availableAddresses[accountIndex].address; await updateAddressesInBox(); } diff --git a/lib/src/screens/dashboard/widgets/address_page.dart b/lib/src/screens/dashboard/widgets/address_page.dart index 604725d33..e9b78ea4f 100644 --- a/lib/src/screens/dashboard/widgets/address_page.dart +++ b/lib/src/screens/dashboard/widgets/address_page.dart @@ -125,15 +125,15 @@ class AddressPage extends StatelessWidget { ], ), ), - ) : Container(); - //: PrimaryButton( - // onPressed: () => addressListViewModel.nextAddress(), - // text: 'Next address', - // color: Theme.of(context).buttonColor, - // textColor: Theme.of(context) - // .accentTextTheme - // .display3 - // .backgroundColor); + ) + : PrimaryButton( + onPressed: () => addressListViewModel.nextAddress(), + text: 'Next address', + color: Theme.of(context).buttonColor, + textColor: Theme.of(context) + .accentTextTheme + .display3 + .backgroundColor); }) ], ),