diff --git a/app.py b/app.py index 7f96302..4fc41ca 100644 --- a/app.py +++ b/app.py @@ -158,22 +158,21 @@ def get_workout_modal(person_id, workout_id): @ app.route("/person//workout", methods=['POST']) -@ validate_person def create_workout(person_id): new_workout_id = db.create_workout(person_id) workout = db.get_workout(person_id, new_workout_id) (person_tags, workout_tags, selected_workout_tag_ids) = db.get_workout_tags( person_id, new_workout_id) - exercises = db.get_all_exercises() - return render_template('partials/workout_modal.html', - **workout, person_tags=person_tags, workout_tags=workout_tags, selected_workout_tag_ids=selected_workout_tag_ids, exercises=exercises), 200, {"HX-Trigger": "updatedPeople"} + view_model = db.workout.get(person_id, new_workout_id) + return render_block(app.jinja_env, 'workout.html', 'content', **view_model) -@ app.route("/person//workout//delete", methods=['DELETE']) +@ app.route("/person//workout//delete", methods=['GET']) @ validate_workout def delete_workout(person_id, workout_id): db.delete_workout(workout_id) - return "", 200, {"HX-Trigger": "updatedPeople"} + return redirect(url_for('get_calendar', person_id=person_id)) + #return "", 200, {"HX-Trigger": "updatedPeople", "HX-Push-Url": url_for('get_calendar', person_id=person_id)} @ app.route("/person//workout//start_date_edit_form", methods=['GET']) @@ -436,13 +435,16 @@ def get_stats_for_person(person_id): @ app.route("/person//workout/", methods=['GET']) def show_workout(person_id, workout_id): view_model = db.workout.get(person_id, workout_id) + if htmx: + return render_block(app.jinja_env, 'workout.html', 'content', **view_model) return render_template('workout.html', **view_model) @app.route("/exercises/get") def get_exercises(): query = request.args.get('query') + person_id = request.args.get('person_id', type=int) exercises = db.exercises.get(query) - return render_template('partials/exercise/exercise_dropdown.html', exercises=exercises) + return render_template('partials/exercise/exercise_dropdown.html', exercises=exercises, person_id=person_id) @app.route("/exercise//edit_name", methods=['GET', 'POST']) def edit_exercise_name(exercise_id): diff --git a/templates/calendar.html b/templates/calendar.html index 83c7cf7..150ee33 100644 --- a/templates/calendar.html +++ b/templates/calendar.html @@ -99,8 +99,8 @@ {% for workout in day.workouts %}
+ hx-get="{{ url_for('show_workout', person_id=person_id, workout_id=workout.workout_id) }}" + hx-push-url="true" hx-target="#container"> {% for set in workout.sets %} - +
+ +
+ +
+ {% if has_value==True %} diff --git a/templates/person.html b/templates/person.html index ff64677..140c55c 100644 --- a/templates/person.html +++ b/templates/person.html @@ -131,8 +131,8 @@ {% for w in person['Workouts'] %} - + {{ w['StartDate'] | strftime("%b %d %Y") }} diff --git a/templates/workout.html b/templates/workout.html index 565eb71..348f600 100644 --- a/templates/workout.html +++ b/templates/workout.html @@ -2,7 +2,7 @@ {% block content %} -
+
@@ -36,8 +36,9 @@
- -
- - - - - - - - - - {% for top_set in top_sets %} - {{ render_partial('partials/topset.html', person_id=person_id, - workout_id=workout_id, **top_set) }} - {% endfor %} - -
- Exercise - Top Set -
- - {% if top_sets|length == 0 %} - - {% endif %} -
- -
- {{ render_partial('partials/new_set_form.html', person_id=person_id, - workout_id=workout_id, - exercises=exercises, - has_value=False) }} -
-
- -
- -
- - - -
- -
+
+
+ +
+ {{ render_partial('partials/new_set_form.html', person_id=person_id, + workout_id=workout_id, + exercises=exercises, + has_value=False) }}
+ + +
+ + + + + + + + + + {% for top_set in top_sets %} + {{ render_partial('partials/topset.html', person_id=person_id, + workout_id=workout_id, **top_set) }} + {% endfor %} + +
+ Exercise + Top Set +
+ + {% if top_sets|length == 0 %} + + {% endif %} +
+ +
+
+
- -
+
{% endblock %} \ No newline at end of file