From 5cda63b7007c83a453d47516c3cc1e7693e52b23 Mon Sep 17 00:00:00 2001 From: vjrj <vjrj@comunes.org> Date: Sat, 30 Dec 2023 12:58:25 +0100 Subject: [PATCH] Better humanize contacts --- lib/ui/ui_helpers.dart | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/lib/ui/ui_helpers.dart b/lib/ui/ui_helpers.dart index ed4fa5f0..7a94f604 100644 --- a/lib/ui/ui_helpers.dart +++ b/lib/ui/ui_helpers.dart @@ -95,26 +95,22 @@ String humanizeFromToPubKey(String publicAddress, String address) { } String humanizeContacts( - {required String fromAddress, required List<Contact> contacts}) { - final Iterable<Contact> contactsWithoutCashBack = contacts.where( - (Contact c) => - extractPublicKey(c.pubKey) != extractPublicKey(fromAddress)); + {required String publicAddress, required List<Contact> contacts}) { if (contacts.length > 3) { - return '${contactsWithoutCashBack.take(3).map((Contact contact) => humanizeContact('', contact)).join(', ')}...'; + return '${contacts.take(3).map((Contact contact) => humanizeContact(publicAddress, contact)).join(', ')}...'; } else if (contacts.length > 1) { - final String lastContact = - humanizeContact('', contactsWithoutCashBack.last); - final String otherContacts = contactsWithoutCashBack - .take(contactsWithoutCashBack.length - 1) - .map((Contact contact) => humanizeContact('', contact)) + final String lastContact = humanizeContact(publicAddress, contacts.last); + final String otherContacts = contacts + .take(contacts.length - 1) + .map((Contact contact) => humanizeContact(publicAddress, contact)) .join(', '); return tr('others_and_someone', namedArgs: <String, String>{ 'others': otherContacts, 'someone': lastContact, }); } else { - return contactsWithoutCashBack - .map((Contact contact) => humanizeContact('', contact)) + return contacts + .map((Contact contact) => humanizeContact(publicAddress, contact)) .join(', '); } } @@ -123,7 +119,7 @@ String humanizeContact(String publicAddress, Contact contact, [bool addKey = false, bool minimal = false, String Function(String s) trf = tr]) { - if (contact.pubKey == publicAddress) { + if (extractPublicKey(contact.pubKey) == extractPublicKey(publicAddress)) { return trf('your_wallet'); } else { final String pubKey = humanizePubKey(contact.pubKey); @@ -329,13 +325,12 @@ Future<void> fetchTransactionsFromBackground([bool init = true]) async { loggerDev('Initialized background context'); final GetIt getIt = GetIt.instance; final AppCubit appCubit = getIt.get<AppCubit>(); - final UtxoCubit utxoCubit = getIt.get<UtxoCubit>(); final MultiWalletTransactionCubit transCubit = getIt.get<MultiWalletTransactionCubit>(); final NodeListCubit nodeListCubit = getIt.get<NodeListCubit>(); for (final CesiumCard card in SharedPreferencesHelper().cards) { loggerDev('Fetching transactions for ${card.pubKey} in background'); - transCubit.fetchTransactions(nodeListCubit, utxoCubit, appCubit, + transCubit.fetchTransactions(nodeListCubit, appCubit, pubKey: card.pubKey); } if (inDevelopment) { @@ -355,10 +350,8 @@ Future<void> fetchTransactions(BuildContext context) async { final MultiWalletTransactionCubit transCubit = context.read<MultiWalletTransactionCubit>(); final NodeListCubit nodeListCubit = context.read<NodeListCubit>(); - final UtxoCubit utxoCubit = context.read<UtxoCubit>(); for (final CesiumCard card in SharedPreferencesHelper().cards) { - transCubit.fetchTransactions(nodeListCubit, utxoCubit, appCubit, - pubKey: card.pubKey); + transCubit.fetchTransactions(nodeListCubit, appCubit, pubKey: card.pubKey); } } -- GitLab