Surface routine usage, starter-copy notices, and a grouped exercise picker

Routine detail gains a read-time Usage section (last trained, completed
workout count, linked schedules) resolved through the clone redirect, and
both it and the edit sheet now explain that editing a starter saves your
own copy. The add-exercise picker adopts the same curated category
sections and name/category/muscle search as the exercise library.

Claude-Session: https://claude.ai/code/session_01H8VxUX4ckjU3vRF5M4L5FV
This commit is contained in:
2026-07-15 11:14:24 -04:00
parent b6046bd0a9
commit 52f58cd79c
3 changed files with 116 additions and 34 deletions
@@ -77,9 +77,15 @@ struct RoutineAddEditView: View {
@ViewBuilder
private func form(for routine: Routine?) -> some View {
Form {
Section(header: Text("Name")) {
Section {
TextField("Name", text: $name)
.bold()
} header: {
Text("Name")
} footer: {
if let routineID, SeedLibrary.isSeed(id: routineID) {
Text("Saving changes to a starter routine creates your own copy; the starter stays available in the gallery.")
}
}
Section(header: Text("Appearance")) {