WIP
This commit is contained in:
32
Werkout_ios/Views/WorkoutDetail/WorkoutDetailViewModel.swift
Normal file
32
Werkout_ios/Views/WorkoutDetail/WorkoutDetailViewModel.swift
Normal file
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// MainViewViewModel.swift
|
||||
// Werkout_ios
|
||||
//
|
||||
// Created by Trey Tartt on 6/14/23.
|
||||
//
|
||||
|
||||
import Combine
|
||||
import Foundation
|
||||
|
||||
class WorkoutDetailViewModel: ObservableObject {
|
||||
enum WorkoutDetailViewModelStatus {
|
||||
case loading
|
||||
case showWorkout(Workout)
|
||||
}
|
||||
@Published var status: WorkoutDetailViewModelStatus
|
||||
|
||||
init(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)")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user