This commit is contained in:
Trey t
2023-06-19 20:03:41 -05:00
parent c1dc7a2351
commit 55f0926a08
6 changed files with 87 additions and 48 deletions

View File

@@ -9,9 +9,24 @@ import Combine
import Foundation
class WorkoutDetailViewModel: ObservableObject {
@Published var workout: Workout
enum WorkoutDetailViewModelStatus {
case loading
case showWorkout(Workout)
}
@Published var status: WorkoutDetailViewModelStatus
init(workout: Workout) {
self.workout = workout
self.status = .loading
WorkoutDetailFetchable(workoutID: workout.id).fetch(completion: { result in
switch result {
case .success(let model):
DispatchQueue.main.async {
self.status = .showWorkout(model)
}
case .failure(let failure):
fatalError("failed \(failure.localizedDescription)")
}
})
}
}