chanaging size of profile avatar selectionbecause just too big on smaller screens
and fixed bug with the list of contacts not showing all existing users from my contacts
This commit is contained in:
@@ -66,7 +66,7 @@ struct AddBasicInfoView: View {
|
|||||||
Image(Avatars.avatarSystemNames[index])
|
Image(Avatars.avatarSystemNames[index])
|
||||||
.resizable()
|
.resizable()
|
||||||
.scaledToFit()
|
.scaledToFit()
|
||||||
.frame(width: 100, height: 100, alignment: .center)
|
.frame(width: 50, height: 50, alignment: .center)
|
||||||
.blur(radius: self.selectedAvatarIndex == index ? 0 : 1)
|
.blur(radius: self.selectedAvatarIndex == index ? 0 : 1)
|
||||||
.scaleEffect(self.selectedAvatarIndex == index ? 1.3 : 1)
|
.scaleEffect(self.selectedAvatarIndex == index ? 1.3 : 1)
|
||||||
.padding()
|
.padding()
|
||||||
|
|||||||
@@ -21,10 +21,6 @@ class ContactsViewModel : ObservableObject {
|
|||||||
CNContactEmailAddressesKey as CNKeyDescriptor,
|
CNContactEmailAddressesKey as CNKeyDescriptor,
|
||||||
CNContactFormatter.descriptorForRequiredKeys(for: .fullName)]
|
CNContactFormatter.descriptorForRequiredKeys(for: .fullName)]
|
||||||
|
|
||||||
init() {
|
|
||||||
self.fetchContacts()
|
|
||||||
}
|
|
||||||
|
|
||||||
func openSettings() {
|
func openSettings() {
|
||||||
guard let settingsURL = URL(string: UIApplication.openSettingsURLString) else { return }
|
guard let settingsURL = URL(string: UIApplication.openSettingsURLString) else { return }
|
||||||
if UIApplication.shared.canOpenURL(settingsURL) { UIApplication.shared.open(settingsURL)}
|
if UIApplication.shared.canOpenURL(settingsURL) { UIApplication.shared.open(settingsURL)}
|
||||||
@@ -52,7 +48,7 @@ class ContactsViewModel : ObservableObject {
|
|||||||
fetchRequest.sortOrder = .userDefault
|
fetchRequest.sortOrder = .userDefault
|
||||||
|
|
||||||
do {
|
do {
|
||||||
try store.enumerateContacts(with: fetchRequest) {(contact, stop) in
|
try store.enumerateContacts(with: fetchRequest) {[weak self](contact, stop) in
|
||||||
// only checking if american number or not for now
|
// only checking if american number or not for now
|
||||||
var cnPhoneNumber = contact.phoneNumbers.first?.value.stringValue
|
var cnPhoneNumber = contact.phoneNumbers.first?.value.stringValue
|
||||||
let contactDisplayName = contact.givenName + " " + contact.familyName
|
let contactDisplayName = contact.givenName + " " + contact.familyName
|
||||||
@@ -70,7 +66,7 @@ class ContactsViewModel : ObservableObject {
|
|||||||
var contactVm = ContactsViewModelContact(cnName: contactDisplayName, cnPhoneNumber: contactNumber, sortingProp: contactDisplayName)
|
var contactVm = ContactsViewModelContact(cnName: contactDisplayName, cnPhoneNumber: contactNumber, sortingProp: contactDisplayName)
|
||||||
|
|
||||||
// check if the contact is an existing user by phone number
|
// check if the contact is an existing user by phone number
|
||||||
self.firestoreService.getUserByPhoneNumber(phoneNumber: contactNumber) {[weak self] returnedUser in
|
self?.firestoreService.getUserByPhoneNumber(phoneNumber: contactNumber) {[weak self] returnedUser in
|
||||||
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
|
||||||
@@ -78,13 +74,15 @@ class ContactsViewModel : ObservableObject {
|
|||||||
contactVm.sortingProp = contactVm.cnName
|
contactVm.sortingProp = contactVm.cnName
|
||||||
} else {
|
} else {
|
||||||
// adding user details if this contact is existing user
|
// adding user details if this contact is existing user
|
||||||
contactVm.sortingProp = "!" // adding for sorting purposes
|
// TODO: BUGGGG replaces each existing contact this way...need to keep the key for the dict unique
|
||||||
|
contactVm.sortingProp = "!" + contactVm.cnName // adding for sorting purposes
|
||||||
contactVm.user = returnedUser
|
contactVm.user = returnedUser
|
||||||
contactVm.isExisting = true
|
contactVm.isExisting = true
|
||||||
print("existing user: \(contactVm.cnName)")
|
print("existing user: \(contactVm.cnName)")
|
||||||
}
|
}
|
||||||
|
|
||||||
self?.contacts[contactVm.sortingProp] = contactVm
|
self?.contacts[contactVm.sortingProp] = contactVm
|
||||||
|
print(self?.contacts)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ struct FindFriendsView: View {
|
|||||||
Text("Cancel")
|
Text("Cancel")
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
.onAppear {
|
||||||
|
self.contactsVM.fetchContacts()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var searchItems: [String] {
|
var searchItems: [String] {
|
||||||
|
|||||||
Reference in New Issue
Block a user