add always sorted [WorkoutItem], ContentUnavailableView to searches, SampleData import, refactor WorkoutItem init

This commit is contained in:
Felix Förtsch
2024-09-18 15:05:05 +02:00
parent 0a400ff349
commit 41b97964c4
17 changed files with 295 additions and 122 deletions
@@ -37,6 +37,7 @@ struct ExerciseLibrary: View {
ExerciseDetail(exercise: exercise)
} label: {
Text(exercise.name)
// TODO: show exercise.metric in gray (eg Dips = reps, Intervall = time or = distance?)
}
}
.onDelete(perform: deleteExercise)
@@ -49,15 +50,24 @@ struct ExerciseLibrary: View {
.textInputAutocapitalization(.words)
.focused($isInputFieldFocused)
}
if filteredItems.isEmpty {
ContentUnavailableView.search(text: searchText)
}
AddItemButton(label: "Exercise", action: addExercise)
}
.searchable(text: $searchText)
}
.navigationTitle("Exercises")
.toolbar {
ToolbarItem {
EditButton()
}
ToolbarItem {
Button(action: {}) {
Image(systemName: "plus")
}
}
}
}