diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index 6191ffd..ac10889 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; import 'package:gecko/models/walletData.dart'; -import 'package:provider/provider.dart'; class MyWalletsProvider with ChangeNotifier { List listWallets = []; @@ -34,6 +33,7 @@ class MyWalletsProvider with ChangeNotifier { } List readAllWallets(int _chest) { + listWallets.clear(); walletBox.toMap().forEach((key, value) { if (value.chest == _chest) { listWallets.add(value); @@ -47,26 +47,30 @@ class MyWalletsProvider with ChangeNotifier { if (_id.isEmpty) return WalletData(); int _chest = _id[0]; int _nbr = _id[1]; + var _targetedWallet; walletBox.toMap().forEach((key, value) { if (value.chest == _chest && value.number == _nbr) { - return value; + _targetedWallet = value; + return false; } }); - return WalletData(); + return _targetedWallet; } void getDefaultWallet() { + MyWalletsProvider myWalletsProvider = MyWalletsProvider(); + if (configBox.get('defaultWallet') == null) { configBox.put('defaultWallet', [0, 0]); } - defaultWallet = configBox.get('defaultWallet'); + + defaultWallet = myWalletsProvider + .getWalletData(configBox.get('defaultWallet').cast()); } Future deleteAllWallet(context) async { - MyWalletsProvider _myWalletProvider = - Provider.of(context, listen: false); try { log.w('DELETE ALL WALLETS ?'); @@ -74,9 +78,10 @@ class MyWalletsProvider with ChangeNotifier { if (_answer) { await walletBox.clear(); await chestBox.clear(); + await configBox.delete('defaultWallet'); + checkIfWalletExist(); notifyListeners(); rebuildWidget(); - _myWalletProvider.rebuildWidget(); Navigator.pop(context); } diff --git a/lib/screens/myWallets/unlockingWallet.dart b/lib/screens/myWallets/unlockingWallet.dart index 6b3022f..610edc2 100644 --- a/lib/screens/myWallets/unlockingWallet.dart +++ b/lib/screens/myWallets/unlockingWallet.dart @@ -34,7 +34,7 @@ class UnlockingWallet extends StatelessWidget { WalletOptionsProvider _walletOptions = Provider.of(context); - log.d("defaultWallet: " + defaultWallet.toString()); + // log.d("defaultWallet: " + defaultWallet.toString()); final int _pinLenght = _walletOptions.getPinLenght(wallet.number); errorController = StreamController(); diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index d077f91..cd7eb8c 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -50,7 +50,7 @@ class WalletOptions extends StatelessWidget { _myWalletProvider.getDefaultWallet(); _walletOptions.isDefaultWallet = - (defaultWallet.id() == _walletOptions.walletID); + (defaultWallet.id()[1] == _walletOptions.walletID[1]); int currentChest = _myWalletProvider.getCurrentChest(); diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index a4a5819..03b0c25 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -166,9 +166,10 @@ class WalletsHome extends StatelessWidget { borderRadius: BorderRadius.vertical( bottom: Radius.circular(12))), // contentPadding: const EdgeInsets.only(left: 7.0), - tileColor: _repository.id() == defaultWallet.id() - ? Color(0xffD28928) - : Color(0xffFFD58D), + tileColor: + _repository.id()[1] == defaultWallet.id()[1] + ? Color(0xffD28928) + : Color(0xffFFD58D), // leading: Text('IMAGE'), // subtitle: Text(_repository.split(':')[3], @@ -181,8 +182,8 @@ class WalletsHome extends StatelessWidget { textAlign: TextAlign.center, style: TextStyle( fontSize: 16.0, - color: _repository.id() == - defaultWallet.id() + color: _repository.id()[1] == + defaultWallet.id()[1] ? Color(0xffF9F9F1) : Colors.black)))), // dense: true,