diff --git a/lib/pages_desktop_specific/home/address_book_view/desktop_address_book.dart b/lib/pages_desktop_specific/home/address_book_view/desktop_address_book.dart index e5432081c..a82c1f5e4 100644 --- a/lib/pages_desktop_specific/home/address_book_view/desktop_address_book.dart +++ b/lib/pages_desktop_specific/home/address_book_view/desktop_address_book.dart @@ -140,19 +140,23 @@ class _DesktopAddressBook extends ConsumerState<DesktopAddressBook> { ref.watch(addressBookServiceProvider.select((value) => value.contacts)); final allContacts = contacts - .where((element) => element.addresses - .where((e) => ref.watch(addressBookFilterProvider - .select((value) => value.coins.contains(e.coin)))) - .isNotEmpty) + .where((element) => + element.addresses.isEmpty || + element.addresses + .where((e) => ref.watch(addressBookFilterProvider + .select((value) => value.coins.contains(e.coin)))) + .isNotEmpty) .where( (e) => ref.read(addressBookServiceProvider).matches(_searchTerm, e)) .toList(); final favorites = contacts - .where((element) => element.addresses - .where((e) => ref.watch(addressBookFilterProvider - .select((value) => value.coins.contains(e.coin)))) - .isNotEmpty) + .where((element) => + element.addresses.isEmpty || + element.addresses + .where((e) => ref.watch(addressBookFilterProvider + .select((value) => value.coins.contains(e.coin)))) + .isNotEmpty) .where((e) => e.isFavorite && ref.read(addressBookServiceProvider).matches(_searchTerm, e)) diff --git a/lib/services/address_book_service.dart b/lib/services/address_book_service.dart index f51eefbba..80c60e4b8 100644 --- a/lib/services/address_book_service.dart +++ b/lib/services/address_book_service.dart @@ -50,6 +50,9 @@ class AddressBookService extends ChangeNotifier { } bool matches(String term, Contact contact) { + if (term.isEmpty) { + return true; + } final text = term.toLowerCase(); if (contact.name.toLowerCase().contains(text)) { return true;