Stabilize iOS/watchOS/tvOS apps and add cross-platform audit remediation
This commit is contained in:
@@ -9,6 +9,8 @@ import SwiftUI
|
||||
|
||||
struct PlanWorkoutView: View {
|
||||
@State var selectedDate = Date()
|
||||
@State private var hasError = false
|
||||
@State private var errorMessage = ""
|
||||
let workout: Workout
|
||||
@Environment(\.dismiss) var dismiss
|
||||
var addedPlannedWorkout: (() -> Void)?
|
||||
@@ -48,6 +50,8 @@ struct PlanWorkoutView: View {
|
||||
.background(.red)
|
||||
.cornerRadius(Constants.buttonRadius)
|
||||
.padding()
|
||||
.accessibilityLabel("Cancel planning")
|
||||
.accessibilityHint("Closes this screen without planning a workout")
|
||||
|
||||
Button(action: {
|
||||
planWorkout()
|
||||
@@ -62,11 +66,18 @@ struct PlanWorkoutView: View {
|
||||
.background(.yellow)
|
||||
.cornerRadius(Constants.buttonRadius)
|
||||
.padding()
|
||||
.accessibilityLabel("Plan workout")
|
||||
.accessibilityHint("Adds this workout to your selected date")
|
||||
}
|
||||
|
||||
Spacer()
|
||||
}
|
||||
.padding()
|
||||
.alert("Unable to Plan Workout", isPresented: $hasError) {
|
||||
Button("OK", role: .cancel) {}
|
||||
} message: {
|
||||
Text(errorMessage)
|
||||
}
|
||||
}
|
||||
|
||||
func planWorkout() {
|
||||
@@ -78,11 +89,16 @@ struct PlanWorkoutView: View {
|
||||
PlanWorkoutFetchable(postData: postData).fetch(completion: { result in
|
||||
switch result {
|
||||
case .success(_):
|
||||
UserStore.shared.fetchPlannedWorkouts()
|
||||
dismiss()
|
||||
addedPlannedWorkout?()
|
||||
case .failure(_):
|
||||
fatalError("shit broke")
|
||||
DispatchQueue.main.async {
|
||||
UserStore.shared.fetchPlannedWorkouts()
|
||||
dismiss()
|
||||
addedPlannedWorkout?()
|
||||
}
|
||||
case .failure(let failure):
|
||||
DispatchQueue.main.async {
|
||||
errorMessage = failure.localizedDescription
|
||||
hasError = true
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user