From c316c0d6302c7bb485df2be42ccc68c2aa2820fd Mon Sep 17 00:00:00 2001 From: poka Date: Wed, 12 Apr 2023 03:10:02 +0200 Subject: [PATCH] fix: null username on payments --- lib/screens/myWallets/wallets_home.dart | 6 +++++- lib/screens/wallet_view.dart | 19 +++++++++++-------- lib/widgets/search_identity_query.dart | 2 +- lib/widgets/search_result_list.dart | 3 +-- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/lib/screens/myWallets/wallets_home.dart b/lib/screens/myWallets/wallets_home.dart index 536942c..a74b6ba 100644 --- a/lib/screens/myWallets/wallets_home.dart +++ b/lib/screens/myWallets/wallets_home.dart @@ -344,7 +344,11 @@ class _WalletsHomeState extends State { .getWalletDataByAddress(senderAddress); await sub.setCurrentWallet(walletData!); sub.reload(); - paymentPopup(context, repository.address); + paymentPopup( + context, + repository.address, + g1WalletsBox.get(repository.address)!.username ?? + repository.name!); }, onMove: (details) { if (repository.address != myWalletProvider.lastFlyBy) { diff --git a/lib/screens/wallet_view.dart b/lib/screens/wallet_view.dart index 0425be6..c474f79 100644 --- a/lib/screens/wallet_view.dart +++ b/lib/screens/wallet_view.dart @@ -53,6 +53,8 @@ class WalletViewScreen extends StatelessWidget { walletProfile.address = address; sub.setCurrentWallet(defaultWallet); + log.d("username: $username"); + return Scaffold( backgroundColor: backgroundColor, resizeToAvoidBottomInset: true, @@ -359,7 +361,7 @@ class WalletViewScreen extends StatelessWidget { splashColor: yellowC, onTap: sub.nodeConnected ? () { - paymentPopup(context, address); + paymentPopup(context, address, username); } : null, child: const Padding( @@ -418,7 +420,7 @@ class WalletViewScreen extends StatelessWidget { } } -void paymentPopup(BuildContext context, String toAddress) { +void paymentPopup(BuildContext context, String toAddress, String username) { final walletViewProvider = Provider.of(context, listen: false); @@ -426,13 +428,11 @@ void paymentPopup(BuildContext context, String toAddress) { Provider.of(context, listen: false); const double shapeSize = 20; - WalletData? defaultWallet = myWalletProvider.getDefaultWallet(); + final defaultWallet = myWalletProvider.getDefaultWallet(); log.d(defaultWallet.address); bool canValidate = false; - final toWalletData = myWalletProvider.getWalletDataByAddress(toAddress); - Future executeTransfert() async { String? pin; if (myWalletProvider.pinCode == '') { @@ -582,7 +582,10 @@ void paymentPopup(BuildContext context, String toAddress) { ), padding: const EdgeInsets.all(10), child: Row(children: [ - Text(defaultWallet.name!), + Text(g1WalletsBox + .get(defaultWallet.address) + ?.username ?? + defaultWallet.name!), const Spacer(), Balance(address: defaultWallet.address, size: 20), ]), @@ -604,9 +607,9 @@ void paymentPopup(BuildContext context, String toAddress) { children: [ const SizedBox(height: 2), Text( - toWalletData == null + username == '' ? getShortPubkey(toAddress) - : toWalletData.name!, + : username, style: const TextStyle( fontSize: 21, fontWeight: FontWeight.w600, diff --git a/lib/widgets/search_identity_query.dart b/lib/widgets/search_identity_query.dart index c360713..45b5afc 100644 --- a/lib/widgets/search_identity_query.dart +++ b/lib/widgets/search_identity_query.dart @@ -124,7 +124,7 @@ class SearchIdentityQuery extends StatelessWidget { walletsProfiles.address = profile['pubkey']; return WalletViewScreen( address: profile['pubkey'], - username: name, + username: profile['name'] ?? '', avatar: g1WalletsBox.get(profile['pubkey'])?.avatar, ); diff --git a/lib/widgets/search_result_list.dart b/lib/widgets/search_result_list.dart index 982102f..b7a0725 100644 --- a/lib/widgets/search_result_list.dart +++ b/lib/widgets/search_result_list.dart @@ -100,8 +100,7 @@ class SearchResult extends StatelessWidget { walletsProfilesClass.address = g1Wallet.address; return WalletViewScreen( address: g1Wallet.address, - username: - duniterIndexer.walletNameIndexer[g1Wallet.address] ?? '', + username: g1WalletsBox.get(g1Wallet)!.username ?? '', avatar: g1WalletsBox.get(g1Wallet.address)?.avatar, ); }),