Edit contact in main thread

This commit is contained in:
Benoit Martins 2025-01-31 15:31:44 +01:00
parent cf109f9787
commit 00bbf41f9a

View file

@ -136,11 +136,9 @@ struct EditContactFragment: View {
.padding(.top, 2)
.disabled(editContactViewModel.firstName.isEmpty)
.onTapGesture {
withAnimation {
addOrEditFriend()
}
}
}
.frame(maxWidth: .infinity)
.frame(height: 50)
.padding(.horizontal)
@ -532,8 +530,8 @@ struct EditContactFragment: View {
contact: newContact, linphoneFriend: true, existingFriend: editContactViewModel.selectedEditFriend) {
MagicSearchSingleton.shared.searchForContacts(sourceFlags: MagicSearch.Source.Friends.rawValue | MagicSearch.Source.LdapServers.rawValue)
if editContactViewModel.selectedEditFriend != nil
&& editContactViewModel.selectedEditFriend!.name != editContactViewModel.firstName + " " + editContactViewModel.lastName {
DispatchQueue.main.async {
if editContactViewModel.selectedEditFriend != nil {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
let result = ContactsManager.shared.lastSearch.firstIndex(where: {
$0.friend!.name == newContact.firstName + " " + newContact.lastName
@ -548,12 +546,15 @@ struct EditContactFragment: View {
isShowEditContactFragment.toggle()
}
} else {
withAnimation {
dismiss()
}
}
editContactViewModel.resetValues()
}
}
}
}
}
#Preview {