nice full list fixing the main problem and sorting it

This commit is contained in:
talksik
2021-12-20 15:48:23 -08:00
parent 081ab46a86
commit 250e3f9284
2 changed files with 5 additions and 4 deletions
@@ -74,19 +74,19 @@ class ContactsViewModel : ObservableObject {
self.firestoreService.getUserByPhoneNumber(phoneNumber: contactNumber) {[weak self] returnedUser in self.firestoreService.getUserByPhoneNumber(phoneNumber: contactNumber) {[weak self] returnedUser in
print(returnedUser)
DispatchQueue.main.async { DispatchQueue.main.async {
if returnedUser == nil { if returnedUser == nil {
// do nothing, keep contactsVm object user property nil // do nothing, keep contactsVm object user property nil
contactVm.isExisting = false
} else { } else {
// adding user details if this contact is existing user // adding user details if this contact is existing user
contactVm.user = returnedUser contactVm.user = returnedUser
contactVm.isExisting = true
} }
self?.contacts.append(contactVm) self?.contacts.append(contactVm)
} }
} }
} }
} }
} catch { } catch {
@@ -102,4 +102,5 @@ struct ContactsViewModelContact : Identifiable {
var user: User? var user: User?
var cnName: String var cnName: String
var cnPhoneNumber: String var cnPhoneNumber: String
var isExisting: Bool = false
} }
@@ -22,8 +22,8 @@ struct FindFriendsView: View {
NavigationView { NavigationView {
// list with search bar // list with search bar
List { List {
ForEach(contactsVM.contacts) { contact in ForEach(contactsVM.contacts.sorted { $0.isExisting && !$1.isExisting }) { contact in
Text(contact.cnName)
} }
} }
.searchable(text: $searchQuery) .searchable(text: $searchQuery)