refacto: improve username cache
This commit is contained in:
parent
1903b988de
commit
25c0144098
|
@ -60,4 +60,5 @@ integration_test/duniter/data/chains/
|
|||
|
||||
# Ignore PC deps
|
||||
macos/
|
||||
windows/
|
||||
windows/
|
||||
scripts/pushGecko
|
|
@ -201,5 +201,6 @@
|
|||
"smithCantMigrateIdentity":"You can't migrate this identity while you're member of smith web",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"createIdentity": "Create a new \nidentity"
|
||||
"createIdentity": "Create a new \nidentity",
|
||||
"memberAccountOf": "Account of {}"
|
||||
}
|
|
@ -202,5 +202,6 @@
|
|||
"smithCantMigrateIdentity":"You can't migrate this identity while you're member of smith web",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"createIdentity": "Create a new \nidentity"
|
||||
"createIdentity": "Create a new \nidentity",
|
||||
"memberAccountOf": "Account of {}"
|
||||
}
|
||||
|
|
|
@ -202,5 +202,6 @@
|
|||
"smithCantMigrateIdentity":"Vous ne pouvez pas migrer cette identité\ntant que vous êtes dans la toile forgerons",
|
||||
"received": "Reçus",
|
||||
"sent": "Envoyés",
|
||||
"createIdentity": "Créer sa nouvelle\nidentité"
|
||||
"createIdentity": "Créer sa nouvelle\nidentité",
|
||||
"memberAccountOf": "Compte de {}"
|
||||
}
|
||||
|
|
|
@ -249,6 +249,7 @@ class DuniterIndexer with ChangeNotifier {
|
|||
// Provider.of<WalletOptionsProvider>(context, listen: false);
|
||||
WalletsProfilesProvider walletsProfiles =
|
||||
Provider.of<WalletsProfilesProvider>(context, listen: false);
|
||||
final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
|
||||
if (indexerEndpoint == '') {
|
||||
return const Text('Aucun résultat');
|
||||
}
|
||||
|
@ -292,6 +293,11 @@ class DuniterIndexer with ChangeNotifier {
|
|||
return Text('noResult'.tr());
|
||||
}
|
||||
|
||||
for (Map profile in identities) {
|
||||
duniterIndexer.walletNameIndexer
|
||||
.putIfAbsent(profile['pubkey'], () => profile['name']);
|
||||
}
|
||||
|
||||
double avatarSize = 55;
|
||||
return Expanded(
|
||||
child: ListView(children: <Widget>[
|
||||
|
@ -338,10 +344,7 @@ class DuniterIndexer with ChangeNotifier {
|
|||
walletsProfiles.address = profile['pubkey'];
|
||||
return WalletViewScreen(
|
||||
address: profile['pubkey'],
|
||||
username: g1WalletsBox
|
||||
.get(profile['pubkey'])
|
||||
?.id
|
||||
?.username,
|
||||
username: name,
|
||||
avatar:
|
||||
g1WalletsBox.get(profile['pubkey'])?.avatar,
|
||||
);
|
||||
|
|
|
@ -37,7 +37,10 @@ class WalletsProfilesProvider with ChangeNotifier {
|
|||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) {
|
||||
return WalletViewScreen(address: barcode!.rawContent);
|
||||
return WalletViewScreen(
|
||||
address: barcode!.rawContent,
|
||||
username: '',
|
||||
);
|
||||
}),
|
||||
);
|
||||
} else {
|
||||
|
|
|
@ -367,7 +367,10 @@ class ActivityScreen extends StatelessWidget with ChangeNotifier {
|
|||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(builder: (context) {
|
||||
return WalletViewScreen(address: repository[1]);
|
||||
return WalletViewScreen(
|
||||
address: repository[1],
|
||||
username: username ?? '',
|
||||
);
|
||||
}),
|
||||
);
|
||||
// Navigator.pop(context);
|
||||
|
|
|
@ -112,10 +112,9 @@ class ContactsScreen extends StatelessWidget {
|
|||
g1Wallet.address;
|
||||
return WalletViewScreen(
|
||||
address: g1Wallet.address,
|
||||
username: g1WalletsBox
|
||||
.get(g1Wallet.address)
|
||||
?.id
|
||||
?.username,
|
||||
username:
|
||||
duniterIndexer.walletNameIndexer[
|
||||
g1Wallet.address]!,
|
||||
avatar: g1WalletsBox
|
||||
.get(g1Wallet.address)
|
||||
?.avatar,
|
||||
|
|
|
@ -78,7 +78,6 @@ class SearchResultScreen extends StatelessWidget {
|
|||
if (snapshot.data?.isEmpty ?? true) {
|
||||
return duniterIndexer.searchIdentity(
|
||||
context, searchProvider.searchController.text);
|
||||
|
||||
// const Text('Aucun résultat');
|
||||
} else {
|
||||
return Expanded(
|
||||
|
@ -138,10 +137,9 @@ class SearchResultScreen extends StatelessWidget {
|
|||
g1Wallet.address;
|
||||
return WalletViewScreen(
|
||||
address: g1Wallet.address,
|
||||
username: g1WalletsBox
|
||||
.get(g1Wallet.address)
|
||||
?.id
|
||||
?.username,
|
||||
username: duniterIndexer
|
||||
.walletNameIndexer[
|
||||
g1Wallet.address]!,
|
||||
avatar: g1WalletsBox
|
||||
.get(g1Wallet.address)
|
||||
?.avatar,
|
||||
|
|
|
@ -28,10 +28,10 @@ import 'package:qr_flutter/qr_flutter.dart';
|
|||
|
||||
class WalletViewScreen extends StatelessWidget {
|
||||
const WalletViewScreen(
|
||||
{required this.address, this.username, this.avatar, Key? key})
|
||||
{required this.address, required this.username, this.avatar, Key? key})
|
||||
: super(key: key);
|
||||
final String address;
|
||||
final String? username;
|
||||
final String username;
|
||||
final Image? avatar;
|
||||
final double buttonSize = 100;
|
||||
final double buttonFontSize = 18;
|
||||
|
@ -46,10 +46,13 @@ class WalletViewScreen extends StatelessWidget {
|
|||
Provider.of<HomeProvider>(context, listen: false);
|
||||
final myWalletProvider =
|
||||
Provider.of<MyWalletsProvider>(context, listen: false);
|
||||
final duniterIndexer = Provider.of<DuniterIndexer>(context, listen: false);
|
||||
WalletData? defaultWallet = myWalletProvider.getDefaultWallet();
|
||||
|
||||
sub.setCurrentWallet(defaultWallet);
|
||||
|
||||
log.d('aaaaaaaaaaaaaaaaaaa: $username');
|
||||
|
||||
return Scaffold(
|
||||
backgroundColor: backgroundColor,
|
||||
resizeToAvoidBottomInset: true,
|
||||
|
@ -101,9 +104,15 @@ class WalletViewScreen extends StatelessWidget {
|
|||
)
|
||||
],
|
||||
title: SizedBox(
|
||||
height: 22,
|
||||
child: Text('seeAWallet'.tr()),
|
||||
),
|
||||
height: 22,
|
||||
child: Text(
|
||||
duniterIndexer.walletNameIndexer[walletProfile.address] == ''
|
||||
? 'seeAWallet'.tr()
|
||||
: 'memberAccountOf'.tr(args: [
|
||||
duniterIndexer
|
||||
.walletNameIndexer[walletProfile.address] ??
|
||||
'?'
|
||||
]))),
|
||||
),
|
||||
bottomNavigationBar: homeProvider.bottomAppBar(context),
|
||||
body: SafeArea(
|
||||
|
|
|
@ -73,7 +73,10 @@ class CertTile extends StatelessWidget {
|
|||
Navigator.push(
|
||||
homeContext,
|
||||
MaterialPageRoute(builder: (context) {
|
||||
return WalletViewScreen(address: repository['address']);
|
||||
return WalletViewScreen(
|
||||
address: repository['address'],
|
||||
username: repository['name'],
|
||||
);
|
||||
}),
|
||||
);
|
||||
}),
|
||||
|
|
Loading…
Reference in New Issue