From ff28d1e9a61b23fb8ebf704221aaf0a296466935 Mon Sep 17 00:00:00 2001
From: vjrj <vjrj@comunes.org>
Date: Sat, 2 Dec 2023 22:35:04 +0100
Subject: [PATCH] Fix sorting and search of contacts

---
 lib/data/models/contact_cubit.dart | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/data/models/contact_cubit.dart b/lib/data/models/contact_cubit.dart
index cd38fd44..bdd203ec 100644
--- a/lib/data/models/contact_cubit.dart
+++ b/lib/data/models/contact_cubit.dart
@@ -113,12 +113,15 @@ class ContactsCubit extends HydratedCubit<ContactsState> {
   }
 
   void sortContacts(ContactsSortType sortOrder) {
-    List<Contact> sortedContacts = List<Contact>.from(state.contacts);
+    List<Contact> sortedContacts = List<Contact>.from(state.filteredContacts);
 
     if (sortOrder == ContactsSortType.alpha) {
       sortContactList(sortedContacts);
     } else if (sortOrder == ContactsSortType.date) {
-      sortedContacts = List<Contact>.from(state.contacts);
+      sortedContacts = List<Contact>.from(state.contacts).where((Contact c) {
+        return state.filteredContacts
+            .any((Contact fc) => fc.pubKey == c.pubKey);
+      }).toList();
     }
 
     emit(state.copyWith(filteredContacts: sortedContacts, order: sortOrder));
-- 
GitLab