feat: assign tags to exercises and show muscle distribution of workout

This commit is contained in:
Peter Stockings
2026-01-30 23:53:04 +11:00
parent 78f4a53c49
commit d03581bff4
10 changed files with 278 additions and 60 deletions

View File

@@ -124,6 +124,9 @@ def _get_workout_view_model(person_id, workout_id):
# Sort tags alphabetically by name for consistent display
workout_data["tags"].sort(key=lambda x: x.get('tag_name', ''))
# Add muscle group distribution
workout_data["muscle_distribution"] = db.exercises.get_workout_muscle_group_distribution(workout_id)
return workout_data
@@ -179,6 +182,14 @@ def get_workout_start_date(person_id, workout_id):
start_date = workout.get('start_date') if workout else None
return render_template('partials/start_date.html', person_id=person_id, workout_id=workout_id, start_date=start_date)
@workout_bp.route("/person/<int:person_id>/workout/<int:workout_id>/muscle_distribution", methods=['GET'])
def get_workout_muscle_distribution(person_id, workout_id):
distribution = db.exercises.get_workout_muscle_group_distribution(workout_id)
return render_template('partials/workout_breakdown.html',
person_id=person_id,
workout_id=workout_id,
muscle_distribution=distribution)
@workout_bp.route("/person/<int:person_id>/workout/<int:workout_id>/topset/<int:topset_id>/achievements", methods=['GET'])
@validate_topset
def get_topset_achievements(person_id, workout_id, topset_id):