Skip to content
Snippets Groups Projects
Commit 285c1f9d authored by vjrj's avatar vjrj
Browse files

Fix search with empty string in contacts and contacts edit

parent 090c84fb
No related branches found
No related tags found
No related merge requests found
...@@ -42,7 +42,14 @@ class Contact extends Equatable implements IsJsonSerializable<Contact> { ...@@ -42,7 +42,14 @@ class Contact extends Equatable implements IsJsonSerializable<Contact> {
final String? name; final String? name;
@override @override
List<Object?> get props => <dynamic>[pubKey]; List<Object?> get props => <dynamic>[
pubKey,
nick,
pubKey,
avatar,
notes,
name,
];
bool get hasAvatar => avatar != null; bool get hasAvatar => avatar != null;
......
...@@ -67,6 +67,9 @@ class ContactsCubit extends HydratedCubit<ContactsState> { ...@@ -67,6 +67,9 @@ class ContactsCubit extends HydratedCubit<ContactsState> {
} }
List<Contact> search(String query) { List<Contact> search(String query) {
if (query.isEmpty) {
return state.contacts;
}
final String queryLower = query.toLowerCase(); final String queryLower = query.toLowerCase();
final String queryUpper = final String queryUpper =
queryLower[0].toUpperCase() + queryLower.substring(1); queryLower[0].toUpperCase() + queryLower.substring(1);
...@@ -91,11 +94,11 @@ class ContactsCubit extends HydratedCubit<ContactsState> { ...@@ -91,11 +94,11 @@ class ContactsCubit extends HydratedCubit<ContactsState> {
return contacts; return contacts;
} }
bool containsLowerOrUpper(String text, String query, String queryLower, bool containsLowerOrUpper(
String queryUpper) => String text, String query, String queryLower, String queryUpper) =>
text.contains(query) || text.contains(query) ||
text.contains(queryLower) || text.contains(queryLower) ||
text.contains(queryUpper); text.contains(queryUpper);
List<Contact> get contacts => state.contacts; List<Contact> get contacts => state.contacts;
...@@ -118,7 +121,7 @@ class ContactsCubit extends HydratedCubit<ContactsState> { ...@@ -118,7 +121,7 @@ class ContactsCubit extends HydratedCubit<ContactsState> {
@override @override
Map<String, dynamic> toJson(ContactsState state) { Map<String, dynamic> toJson(ContactsState state) {
final List<Map<String, dynamic>> contactsJson = final List<Map<String, dynamic>> contactsJson =
state.contacts.map((Contact c) => c.toJson()).toList(); state.contacts.map((Contact c) => c.toJson()).toList();
return <String, dynamic>{'contacts': contactsJson}; return <String, dynamic>{'contacts': contactsJson};
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment