Mercurial > public > geoquiz
view GeoQuiz/Components/ProfileEditModalView.swift @ 14:136928bae534
add user profile
author | Dennis C. M. <dennis@denniscm.com> |
---|---|
date | Wed, 19 Oct 2022 07:56:33 +0200 |
parents | |
children |
line wrap: on
line source
// // ProfileEditModalView.swift // GeoQuiz // // Created by Dennis Concepción Martín on 19/10/22. // import SwiftUI import PhotosUI struct ProfileEditModalView: View { @ObservedObject var user: User @Environment(\.dismiss) var dismiss @State private var selectedItem: PhotosPickerItem? = nil var body: some View { NavigationStack { Form { Section { HStack { Spacer() ZStack { UserImage(uiImage: user.data.uiImage) .onChange(of: selectedItem) { newItem in Task { if let data = try? await newItem?.loadTransferable(type: Data.self) { user.data.imageData = data } } } PhotosPicker( selection: $selectedItem, matching: .images, photoLibrary: .shared()) { EmptyView() } } Spacer() } } header: { Text("Profile image") } Section { TextField("Enter a username", text: $user.data.username) } header: { Text("Username") } } .navigationTitle("Edit profile") .navigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button("Done") { dismiss() } } } } } } struct ProfileEditModalView_Previews: PreviewProvider { static var previews: some View { ProfileEditModalView(user: User()) } }