diff --git a/Werkout_ios/BaseURLs.swift b/Werkout_ios/BaseURLs.swift index c43c8e6..537f209 100644 --- a/Werkout_ios/BaseURLs.swift +++ b/Werkout_ios/BaseURLs.swift @@ -12,6 +12,6 @@ enum BaseURLs: String { case dev = "https://dev.werkout.fitness" static var currentBaseURL: String { - return BaseURLs.dev.rawValue + return BaseURLs.local.rawValue } } diff --git a/Werkout_ios/BridgeModule.swift b/Werkout_ios/BridgeModule.swift index 8a8dd87..cd02172 100644 --- a/Werkout_ios/BridgeModule.swift +++ b/Werkout_ios/BridgeModule.swift @@ -51,7 +51,8 @@ class BridgeModule: NSObject, ObservableObject { // tells the watch app to stop the workout public private(set) var workoutEndDate: Date? @Published public private(set) var healthKitUUID: UUID? - + @Published var isPaused = false + var audioPlayer: AVAudioPlayer? var avPlayer: AVPlayer? @@ -64,6 +65,7 @@ class BridgeModule: NSObject, ObservableObject { currentWorkoutRunTimeInSeconds = 0 currentWorkoutRunTimer?.invalidate() currentWorkoutRunTimer = nil + isPaused = false if let superetExercise = currentExerciseInfo.currentExercise { updateCurrent(exercise: superetExercise) @@ -161,7 +163,9 @@ class BridgeModule: NSObject, ObservableObject { if let _ = currentExerciseTimer { currentExerciseTimer?.invalidate() currentExerciseTimer = nil + isPaused = true } else { + isPaused = false startExerciseTimerWith(duration: currentExerciseTimeLeft) } } diff --git a/Werkout_ios/CurrentWorkoutInfo.swift b/Werkout_ios/CurrentWorkoutInfo.swift index aed6da7..148cb9b 100644 --- a/Werkout_ios/CurrentWorkoutInfo.swift +++ b/Werkout_ios/CurrentWorkoutInfo.swift @@ -20,6 +20,22 @@ class CurrentWorkoutInfo { return workout?.supersets?.sorted(by: { $0.order < $1.order }) ?? [Superset]() } + var numberOfRoundsInCurrentSuperSet: Int { + guard let workout = workout else { return -1 } + guard let supersets = workout.supersets else { return -1 } + + if supersetIndex >= supersets.count { + return -1 + } + let currentSuperSet = supersets[supersetIndex] + + if exerciseIndex >= currentSuperSet.exercises.count { + return -1 + } + + return currentSuperSet.rounds + } + var currentExercise: SupersetExercise? { guard let supersets = workout?.supersets else { return nil } diff --git a/Werkout_ios/Views/ExternalWorkoutDetailView.swift b/Werkout_ios/Views/ExternalWorkoutDetailView.swift index a2c3632..b551bf2 100644 --- a/Werkout_ios/Views/ExternalWorkoutDetailView.swift +++ b/Werkout_ios/Views/ExternalWorkoutDetailView.swift @@ -34,14 +34,14 @@ struct ExternalWorkoutDetailView: View { ExtExerciseList(workout: workout, allSupersetExecerciseIndex: bridgeModule.currentExerciseInfo.allSupersetExecerciseIndex) - if let currentExercisePositionString = bridgeModule.currentExercisePositionString { - Text(currentExercisePositionString) - .font(Font.system(size: 75)) - .scaledToFit() - .minimumScaleFactor(0.01) - .lineLimit(1) - .padding() - } +// if let currentExercisePositionString = bridgeModule.currentExercisePositionString { +// Text(currentExercisePositionString) +// .font(Font.system(size: 75)) +// .scaledToFit() +// .minimumScaleFactor(0.01) +// .lineLimit(1) +// .padding() +// } } .frame(width: metrics.size.width * 0.4, height: metrics.size.height * 0.8) } diff --git a/Werkout_ios/Views/WorkoutDetail/ActionsView.swift b/Werkout_ios/Views/WorkoutDetail/ActionsView.swift index c47920b..9c9baef 100644 --- a/Werkout_ios/Views/WorkoutDetail/ActionsView.swift +++ b/Werkout_ios/Views/WorkoutDetail/ActionsView.swift @@ -70,12 +70,17 @@ struct ActionsView: View { Button(action: { bridgeModule.pauseWorkout() }, label: { - Image(systemName: "pause.circle.fill") - .font(.title) - .frame(maxWidth: .infinity, maxHeight: .infinity) + bridgeModule.isPaused ? + Image(systemName: "play.circle.fill") + .font(.title) + .frame(maxWidth: .infinity, maxHeight: .infinity) + : + Image(systemName: "pause.circle.fill") + .font(.title) + .frame(maxWidth: .infinity, maxHeight: .infinity) }) .frame(maxWidth: .infinity, maxHeight: .infinity) - .background(.yellow) + .background(bridgeModule.isPaused ? .mint : .yellow) .foregroundColor(.white) Button(action: { diff --git a/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift b/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift index 27f61cf..fe0b4e9 100644 --- a/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift +++ b/Werkout_ios/Views/WorkoutDetail/WorkoutDetailView.swift @@ -89,6 +89,23 @@ struct WorkoutDetailView: View { InfoView(workout: workout) .padding(.bottom) + if bridgeModule.isInWorkout { + Divider() + HStack { + Text("Round \(bridgeModule.currentExerciseInfo.currentRound) of \(bridgeModule.currentExerciseInfo.numberOfRoundsInCurrentSuperSet)") + .font(.title3) + .lineLimit(1) + .padding() + .bold() + + Text("Current: \(bridgeModule.currentExerciseInfo.allSupersetExecerciseIndex+1) of \(bridgeModule.currentExerciseInfo.workout?.allSupersetExecercise?.count ?? -99)") + .font(.title3) + .lineLimit(1) + .padding() + .bold() + } + } + ExerciseListView(workout: workout, showExecersizeInfo: $showExecersizeInfo) ActionsView(completedWorkout: {