diff --git a/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift b/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift index e43fa3f..e815a2a 100644 --- a/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift +++ b/Werkout_ios/Views/AllWorkouts/AllWorkoutsView.swift @@ -34,7 +34,12 @@ struct AllWorkoutsView: View { @State private var selectedWorkout: Workout? { didSet { bridgeModule.currentWorkout = selectedWorkout - showWorkoutDetail = true + } + } + + @State private var selectedPlannedWorkout: Workout? { + didSet { + bridgeModule.currentWorkout = selectedPlannedWorkout } } @@ -80,6 +85,10 @@ struct AllWorkoutsView: View { let viewModel = WorkoutDetailViewModel(workout: item) WorkoutDetailView(viewModel: viewModel) } + .sheet(item: $selectedPlannedWorkout) { item in + let viewModel = WorkoutDetailViewModel(workout: item) + WorkoutDetailView(viewModel: viewModel, showAddToCalendar: false) + } .sheet(isPresented: $showLoginView) { LoginView(completion: { self.needsUpdating = true @@ -142,6 +151,7 @@ struct AllWorkoutsView: View { } .contentShape(Rectangle()) .onTapGesture { + selectedPlannedWorkout = plannedWorkout.workout } } } diff --git a/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift b/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift index 8c2a01e..881e489 100644 --- a/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift +++ b/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift @@ -19,6 +19,7 @@ struct WorkoutDetailView: View { @State var presentedSheet: Sheet? @State var workoutToPlan: Workout? + var showAddToCalendar = true var body: some View { ZStack { @@ -38,7 +39,7 @@ struct WorkoutDetailView: View { bridgeModule.sendWorkoutCompleteToWatch() }, planWorkout: { workout in workoutToPlan = workout - }, workout: workout) + }, workout: workout, showAddToCalendar: showAddToCalendar) .frame(height: 44) } @@ -119,6 +120,7 @@ struct ActionsView: View { var workout: Workout @Environment(\.dismiss) var dismiss + var showAddToCalendar: Bool var body: some View { HStack { @@ -135,16 +137,18 @@ struct ActionsView: View { .background(.red) .foregroundColor(.white) - Button(action: { - planWorkout?(workout) - }, label: { - Image(systemName: "calendar.badge.plus") - .font(.title) - .frame(maxWidth: .infinity, maxHeight: .infinity) - }) - .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(.blue) - .foregroundColor(.white) + if showAddToCalendar { + Button(action: { + planWorkout?(workout) + }, label: { + Image(systemName: "calendar.badge.plus") + .font(.title) + .frame(maxWidth: .infinity, maxHeight: .infinity) + }) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(.blue) + .foregroundColor(.white) + } Button(action: { startWorkout()