nice full list fixing the main problem and sorting it
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user