fixing some problems and adding more fixes to overall flow
This commit is contained in:
@@ -104,16 +104,17 @@ struct AddBasicInfoView: View {
|
|||||||
|
|
||||||
// button to save information
|
// button to save information
|
||||||
Button {
|
Button {
|
||||||
print("attempting to save information")
|
|
||||||
var updatedUser = self.authSessionStore.user
|
var updatedUser = self.authSessionStore.user
|
||||||
updatedUser?.avatar = Avatars.avatarSystemNames[self.selectedAvatarIndex]
|
updatedUser?.avatar = Avatars.avatarSystemNames[self.selectedAvatarIndex]
|
||||||
updatedUser?.nickname = self.nickname
|
updatedUser?.nickname = self.nickname
|
||||||
|
|
||||||
if updatedUser != nil {
|
print("attempting to save information \(updatedUser)")
|
||||||
self.addInfoViewModel.updateUser(currUser: updatedUser!)
|
|
||||||
}
|
|
||||||
|
|
||||||
self.navigationStack.push(InnerCircleView())
|
if updatedUser != nil {
|
||||||
|
self.addInfoViewModel.updateUser(currUser: updatedUser!) {
|
||||||
|
self.navigationStack.push(InnerCircleView())
|
||||||
|
}
|
||||||
|
}
|
||||||
} label: {
|
} label: {
|
||||||
Text("Save")
|
Text("Save")
|
||||||
.fontWeight(.heavy)
|
.fontWeight(.heavy)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class AddBasicInfoViewModel : ObservableObject {
|
|||||||
|
|
||||||
// - get user data current data
|
// - get user data current data
|
||||||
// - save user selections
|
// - save user selections
|
||||||
func updateUser(currUser: User) {
|
func updateUser(currUser: User, completion: @escaping () -> Void) {
|
||||||
// validations
|
// validations
|
||||||
// make sure nickname is less than 25 characters for now
|
// make sure nickname is less than 25 characters for now
|
||||||
|
|
||||||
@@ -28,14 +28,17 @@ class AddBasicInfoViewModel : ObservableObject {
|
|||||||
|
|
||||||
if currUser.nickname == nil || currUser.avatar == nil {
|
if currUser.nickname == nil || currUser.avatar == nil {
|
||||||
self.state = .failed("Please make sure to select avatar and nickname 🙏")
|
self.state = .failed("Please make sure to select avatar and nickname 🙏")
|
||||||
|
completion()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if currUser.nickname!.count > 25 {
|
if currUser.nickname!.count > 25 {
|
||||||
self.state = .failed("Please use a simpler nickname less than 25 characters 🙏")
|
self.state = .failed("Please use a simpler nickname less than 25 characters 🙏")
|
||||||
|
completion()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !Avatars.avatarSystemNames.contains(currUser.avatar!) {
|
if !Avatars.avatarSystemNames.contains(currUser.avatar!) {
|
||||||
self.state = .failed("Invalid avatar selected!")
|
self.state = .failed("Invalid avatar selected!")
|
||||||
|
completion()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +52,8 @@ class AddBasicInfoViewModel : ObservableObject {
|
|||||||
case .error(let error):
|
case .error(let error):
|
||||||
self.state = .failed(error.description)
|
self.state = .failed(error.description)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completion()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user