feat: Add workout program management
- Create database tables: workout_program, program_session, person_program_assignment.
- Add Flask blueprint `routes/programs.py` with routes for creating, listing, viewing, and deleting programs.
- Implement program creation form (`templates/program_create.html`):
- Allows defining program name, description, and multiple sessions.
- Each session includes a name and dynamically added exercise selections.
- Uses `tail.select` for searchable exercise dropdowns.
- JavaScript handles dynamic addition/removal of sessions and exercises.
- Implement backend logic for program creation:
- Parses form data including multiple exercises per session.
- Automatically finds or creates non-person-specific tags based on selected exercises for each session.
- Saves program and session data, linking sessions to appropriate tags.
- Implement program list view (`templates/program_list.html`):
- Displays existing programs.
- Includes HTMX-enabled delete button for each program.
- Links program names to the view page using HTMX for dynamic loading.
- Implement program detail view (`templates/program_view.html`):
- Displays program name, description, and sessions.
- Parses session tag filters to retrieve and display associated exercises.
- Update changelog with details of the new feature.
This commit is contained in:
@@ -10,6 +10,25 @@
|
||||
<div class="prose max-w-none">
|
||||
<p>Updates and changes to the site will be documented here, with the most recent changes listed first.</p>
|
||||
|
||||
<!-- New Entry for Workout Programs -->
|
||||
<hr class="my-6">
|
||||
<h2 class="text-xl font-semibold mb-2">April 24, 2025</h2>
|
||||
<ul class="list-disc pl-5 space-y-1">
|
||||
<li>Added Workout Program Management:</li>
|
||||
<ul class="list-disc pl-5 space-y-1">
|
||||
<li>Created new database tables (`workout_program`, `program_session`, `person_program_assignment`).
|
||||
</li>
|
||||
<li>Added a new section under `/programs/` to create, view, and list workout program templates.</li>
|
||||
<li>Program creation allows defining multiple sessions, each with a name and a list of selected
|
||||
exercises.</li>
|
||||
<li>The system automatically finds or creates non-person-specific tags based on the selected
|
||||
exercises for each session.</li>
|
||||
<li>Added functionality to delete programs from the list view.</li>
|
||||
<li>Implemented HTMX for dynamic loading of the program view page from the list page.</li>
|
||||
<li>Integrated `tail.select` for searchable exercise dropdowns in the program creation form.</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<!-- New Entry for SQL Explorer SVG Plots -->
|
||||
<hr class="my-6">
|
||||
<h2 class="text-xl font-semibold mb-2">April 19, 2025</h2>
|
||||
|
||||
Reference in New Issue
Block a user