WIP
This commit is contained in:
@@ -34,7 +34,12 @@ struct AllWorkoutsView: View {
|
|||||||
@State private var selectedWorkout: Workout? {
|
@State private var selectedWorkout: Workout? {
|
||||||
didSet {
|
didSet {
|
||||||
bridgeModule.currentWorkout = selectedWorkout
|
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)
|
let viewModel = WorkoutDetailViewModel(workout: item)
|
||||||
WorkoutDetailView(viewModel: viewModel)
|
WorkoutDetailView(viewModel: viewModel)
|
||||||
}
|
}
|
||||||
|
.sheet(item: $selectedPlannedWorkout) { item in
|
||||||
|
let viewModel = WorkoutDetailViewModel(workout: item)
|
||||||
|
WorkoutDetailView(viewModel: viewModel, showAddToCalendar: false)
|
||||||
|
}
|
||||||
.sheet(isPresented: $showLoginView) {
|
.sheet(isPresented: $showLoginView) {
|
||||||
LoginView(completion: {
|
LoginView(completion: {
|
||||||
self.needsUpdating = true
|
self.needsUpdating = true
|
||||||
@@ -142,6 +151,7 @@ struct AllWorkoutsView: View {
|
|||||||
}
|
}
|
||||||
.contentShape(Rectangle())
|
.contentShape(Rectangle())
|
||||||
.onTapGesture {
|
.onTapGesture {
|
||||||
|
selectedPlannedWorkout = plannedWorkout.workout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ struct WorkoutDetailView: View {
|
|||||||
|
|
||||||
@State var presentedSheet: Sheet?
|
@State var presentedSheet: Sheet?
|
||||||
@State var workoutToPlan: Workout?
|
@State var workoutToPlan: Workout?
|
||||||
|
var showAddToCalendar = true
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
@@ -38,7 +39,7 @@ struct WorkoutDetailView: View {
|
|||||||
bridgeModule.sendWorkoutCompleteToWatch()
|
bridgeModule.sendWorkoutCompleteToWatch()
|
||||||
}, planWorkout: { workout in
|
}, planWorkout: { workout in
|
||||||
workoutToPlan = workout
|
workoutToPlan = workout
|
||||||
}, workout: workout)
|
}, workout: workout, showAddToCalendar: showAddToCalendar)
|
||||||
.frame(height: 44)
|
.frame(height: 44)
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -119,6 +120,7 @@ struct ActionsView: View {
|
|||||||
|
|
||||||
var workout: Workout
|
var workout: Workout
|
||||||
@Environment(\.dismiss) var dismiss
|
@Environment(\.dismiss) var dismiss
|
||||||
|
var showAddToCalendar: Bool
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
HStack {
|
HStack {
|
||||||
@@ -135,16 +137,18 @@ struct ActionsView: View {
|
|||||||
.background(.red)
|
.background(.red)
|
||||||
.foregroundColor(.white)
|
.foregroundColor(.white)
|
||||||
|
|
||||||
Button(action: {
|
if showAddToCalendar {
|
||||||
planWorkout?(workout)
|
Button(action: {
|
||||||
}, label: {
|
planWorkout?(workout)
|
||||||
Image(systemName: "calendar.badge.plus")
|
}, label: {
|
||||||
.font(.title)
|
Image(systemName: "calendar.badge.plus")
|
||||||
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
.font(.title)
|
||||||
})
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
||||||
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
})
|
||||||
.background(.blue)
|
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
||||||
.foregroundColor(.white)
|
.background(.blue)
|
||||||
|
.foregroundColor(.white)
|
||||||
|
}
|
||||||
|
|
||||||
Button(action: {
|
Button(action: {
|
||||||
startWorkout()
|
startWorkout()
|
||||||
|
|||||||
Reference in New Issue
Block a user