retain order of the exercises during persistence process
This commit is contained in:
@@ -39,15 +39,17 @@ struct WorkoutLibrary: View {
|
||||
}
|
||||
.onDelete(perform: deleteWorkout)
|
||||
if isAddingWorkout {
|
||||
// TODO: On tap-out of the text field, it should lose focus
|
||||
TextField("New Workout", text: $newWorkoutName, onCommit: {
|
||||
newWorkout.name = newWorkoutName
|
||||
saveWorkout(workout: newWorkout)
|
||||
isAddingWorkout = false
|
||||
})
|
||||
.textInputAutocapitalization(.words)
|
||||
.focused($isInputFieldFocused)
|
||||
}
|
||||
Button(action: {
|
||||
if isAddingWorkout {
|
||||
saveWorkout(workout: newWorkout)
|
||||
}
|
||||
addWorkout()
|
||||
}) {
|
||||
HStack {
|
||||
@@ -59,11 +61,11 @@ struct WorkoutLibrary: View {
|
||||
}
|
||||
.searchable(text: $searchText)
|
||||
}
|
||||
}
|
||||
.navigationBarTitle("Workouts")
|
||||
.toolbar {
|
||||
ToolbarItem() {
|
||||
EditButton()
|
||||
.navigationBarTitle("Workouts")
|
||||
.toolbar {
|
||||
ToolbarItem() {
|
||||
EditButton()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,9 +81,13 @@ struct WorkoutLibrary: View {
|
||||
|
||||
// TODO: Brauchen wir das?
|
||||
private func saveWorkout(workout: Workout) {
|
||||
if !workout.name.isEmpty {
|
||||
modelContext.insert(workout)
|
||||
try? modelContext.save()
|
||||
withAnimation {
|
||||
newWorkout.name = newWorkoutName
|
||||
if !workout.name.isEmpty {
|
||||
modelContext.insert(workout)
|
||||
try? modelContext.save()
|
||||
}
|
||||
isAddingWorkout = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user