You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PadelClub/PadelClub/Views/User/UserCreationView.swift

62 lines
1.4 KiB

//
// UserCreationView.swift
// PadelClub
//
// Created by Laurent Morvillier on 13/02/2024.
//
import SwiftUI
import LeStorage
struct UserCreationView: View {
@State var username: String = ""
@State var password: String = ""
@State var email: String = ""
var body: some View {
Form {
TextField("Username", text: self.$username)
.autocorrectionDisabled()
TextField("Password", text: self.$password)
.autocorrectionDisabled()
TextField("Email", text: self.$email)
Section {
Button(action: {
self._create()
}, label: {
Text("Create")
})
.frame(maxWidth: .infinity)
}
}
.navigationTitle("Create user")
}
fileprivate func _create() {
guard let service = Store.main.service else {
return
}
Task {
do {
let userCreationForm = UserCreationForm(
username: self.username,
password: self.password,
email: self.email)
let _: User = try await service.createAccount(user: userCreationForm)
} catch {
Logger.error(error)
}
}
}
}
#Preview {
UserCreationView()
}