// // AccountView.swift // Werkout_ios // // Created by Trey Tartt on 6/15/23. // import Foundation import SwiftUI struct AccountView: View { @State var completedWorkouts: [CompletedWorkout]? @ObservedObject var userStore = UserStore.shared var body: some View { VStack { if let registeredUser = userStore.registeredUser { VStack(spacing: 10) { if let nickName = registeredUser.nickName { Text(nickName) .font(.title) } HStack { Text(registeredUser.firstName ?? "-") Text(registeredUser.lastName ?? "-") } if let email = registeredUser.email { Text(email) } } } if let completedWorkouts = completedWorkouts { Text("\(completedWorkouts.count)") } Spacer() } .onAppear{ // fetchCompletedWorkouts() } } func fetchCompletedWorkouts() { CompletedWorkoutFetchable().fetch(completion: { result in switch result { case .success(let model): completedWorkouts = model case .failure(let failure): fatalError(failure.localizedDescription) } }) } } struct AccountView_Previews: PreviewProvider { static let userStore = UserStore.shared static let completedWorkouts = PreviewWorkout.parseCompletedWorkouts() static var previews: some View { AccountView(completedWorkouts: completedWorkouts) .onAppear{ userStore.setFakeUser() } } }