wip
This commit is contained in:
@ -8,6 +8,7 @@
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import SwiftData
|
||||
|
||||
struct SplitExercisesListView: View {
|
||||
@Environment(\.modelContext) private var modelContext
|
||||
@ -18,6 +19,7 @@ struct SplitExercisesListView: View {
|
||||
@State private var showingAddSheet: Bool = false
|
||||
@State private var itemToEdit: SplitExerciseAssignment? = nil
|
||||
@State private var itemToDelete: SplitExerciseAssignment? = nil
|
||||
@State private var createdWorkout: Workout? = nil
|
||||
|
||||
var body: some View {
|
||||
NavigationStack {
|
||||
@ -67,24 +69,59 @@ struct SplitExercisesListView: View {
|
||||
.navigationTitle("\(model.name)")
|
||||
}
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .navigationBarTrailing) {
|
||||
Button(action: { showingAddSheet.toggle() }) {
|
||||
Image(systemName: "plus")
|
||||
ToolbarItem(placement: .primaryAction) {
|
||||
Button("Start This Split") {
|
||||
let split = model
|
||||
let workout = Workout(start: Date(), split: split)
|
||||
modelContext.insert(workout)
|
||||
if let exercises = split.exercises {
|
||||
for assignment in exercises {
|
||||
let workoutLog = WorkoutLog(
|
||||
workout: workout,
|
||||
exerciseName: assignment.exerciseName,
|
||||
date: Date(),
|
||||
order: assignment.order,
|
||||
sets: assignment.sets,
|
||||
reps: assignment.reps,
|
||||
weight: assignment.weight
|
||||
)
|
||||
modelContext.insert(workoutLog)
|
||||
}
|
||||
}
|
||||
try? modelContext.save()
|
||||
|
||||
// Set the created workout to trigger navigation
|
||||
createdWorkout = workout
|
||||
}
|
||||
}
|
||||
}
|
||||
.sheet (isPresented: $showingAddSheet) {
|
||||
ExercisePickerView { exerciseName in
|
||||
itemToEdit = SplitExerciseAssignment(
|
||||
split: model,
|
||||
exerciseName: exerciseName,
|
||||
order: 0,
|
||||
sets: 3,
|
||||
reps: 10,
|
||||
weight: 40
|
||||
)
|
||||
}
|
||||
}
|
||||
.navigationDestination(item: $createdWorkout, destination: { workout in
|
||||
WorkoutLogView(workout: workout)
|
||||
})
|
||||
// .sheet(item: $createdWorkout) { workout in
|
||||
// NavigationStack {
|
||||
// WorkoutLogView(workout: workout)
|
||||
// }
|
||||
// }
|
||||
// .toolbar {
|
||||
// ToolbarItem(placement: .navigationBarTrailing) {
|
||||
// Button(action: { showingAddSheet.toggle() }) {
|
||||
// Image(systemName: "plus")
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// .sheet (isPresented: $showingAddSheet) {
|
||||
// ExercisePickerView { exerciseName in
|
||||
// itemToEdit = SplitExerciseAssignment(
|
||||
// split: model,
|
||||
// exerciseName: exerciseName,
|
||||
// order: 0,
|
||||
// sets: 3,
|
||||
// reps: 10,
|
||||
// weight: 40
|
||||
// )
|
||||
// }
|
||||
// }
|
||||
.sheet(item: $itemToEdit) { item in
|
||||
SplitExerciseAssignmentAddEditView(model: item)
|
||||
}
|
||||
|
Reference in New Issue
Block a user