3.9 KiB
User Interface
Tabs
Each tab is a root of its own navigation stack.
- Workouts
- Reports
- Settings
Workout Log
- toolbar
- left bar button: none
- title: Workout Log
- right bar button: Add Workout
- main view:
-
List of WorkoutLog objects
-
Grouped by date, in descending order
- Group header shows date and split name
-
Each row shows:
- Time
- Exercise
- Sets
- Reps
- Weight
-
When main view list has no entries, show a placeholder view with text "No workouts yet." and a button "Start Split"
-
Start Split View
Start Split View slides on top of Workout Log View navigation stack.
-
left bar button: default (back to Workout Log)
-
title: Start Split
-
right bar button: none
-
main view:
- list of available splits
- button "Start [SplitName] Split" -> Workout Split
- list of available splits
Workout Split View
Workout Split View slides on top of Workout Log View navigation stack.
-
left bar button: default (back to Start Split)
-
title: [SplitName] Split
-
right bar button: Add Exercise
-
main view:
- list of exercises in the split
- actions:
- on row slide to left
- button "Edit"
- on row slide to right
- button "Completed"
- on row tap
- open Exercise View
- on row slide to left
Exercise View
Exercise View slides on top of Workout Split View navigation stack.
-
left bar button: default (back to Workout Split)
-
title: [ExerciseName]
-
right bar button: Edit (pencil icon)
- action: open Add/Edit Exercise Assignment View
-
main view:
-
form sections: - split - split name - exercise assignment (titled "Planned") - exercise - name - setup - description - muscles - weight - sets (read only) - reps (read only) - weight (read only) - workout log (titled "Actual") - date (date/time picker) - sets (integer picker) - reps (integer picker) - weight (integer picker) - status - Completed (checkbox)
-
actions:
- swipe left
- open Exercise View for the previous ExerciseAssignment
- swipe right
- open Exercise View for the next ExerciseAssignment
- swipe left
-
Add/Edit Exercise to Split View
This view should be opened as a sheet.
-
left bar button: default (back to Workout Split)
-
title: Add/Edit Exercise to Split
-
right bar button: Save
-
main view:
- before an exercise is selected
- list of available exercises
- button "Add [ExerciseName]"
- list of available exercises
- after an exercise is selected
- a form for model SplitExerciseAssignment
- sets
- reps
- weight
- a form for model SplitExerciseAssignment
- before an exercise is selected
Settings
-
left bar button: none
-
title: Settings
-
right bar button: none
-
main view:
-
list
- Splits
- Exercises
- Muscle Groups
- Muscles
- Exercise Types
-
actions:
- on row tap
- open corresponding list view (e.g. for "Splits" open "Splits List View")
- on row tap
-
(Splits|Exercises|Muscle Groups|Muscles|Exercise Types) List View
-
left bar button: default (back to Settings)
-
title: [ListName]
-
right bar button: Add (plus icon)
- action: open corresponding add/edit view (e.g. for "Splits" open "Splits Add/Edit View")
-
main view:
- list of [ListName]
- actions:
- on row tap
- open corresponding add/edit view (e.g. for "Splits" open "Splits Add/Edit View")
- on row tap
(Splits|Exercises|Muscle Groups|Muscles|Exercise Types) Add/Edit View
Add/Edit views typically open as sheets.
-
left bar button: default (back to Settings)
-
title: [Add/Edit] [ListName]
-
right bar button: Save
-
main view:
- form with editable fields