Files
workouts/UI.md

3.9 KiB

User Interface

Tabs

Each tab is a root of its own navigation stack.

  • Workout Log
  • 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

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

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

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]"
    • after an exercise is selected
      • a form for model SplitExerciseAssignment
        • sets
        • reps
        • weight

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")

(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")

(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