diff options
| author | Marius Peter <dev@marius-peter.com> | 2026-07-18 23:23:35 +0200 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2026-07-18 23:23:35 +0200 |
| commit | 753e25e99ddf57be78ff27ad89cb7e1bbc99d041 (patch) | |
| tree | 43db69ec341520f2923f2f13d0cd8846a9acac35 /templates/session.html | |
Initial commit: HITO MVP
Heavy Duty I prescriptive training system encoding Mentzer's methodology.
- 4-day split program (Chest & Back, Legs, Shoulders, Arms)
- Prescription engine with pre-exhaust superset structure
- Strict progression logic (+5kg large / +2.5kg small muscles)
- Recovery gating with stall-based extension and override
- Onboarding via experience level (Novice/Intermediate/Advanced)
- Session logging with full progression analysis
- Exercise substitution (33 alternatives for 17 canonical movements)
- Objectivist aesthetic: black/gold, serif, rectilinear
Stack: Hunchentoot, Mito/SQLite, Djula, SBCL
Diffstat (limited to 'templates/session.html')
| -rw-r--r-- | templates/session.html | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/templates/session.html b/templates/session.html new file mode 100644 index 0000000..c419697 --- /dev/null +++ b/templates/session.html @@ -0,0 +1,80 @@ +{% extends "base.html" %} + +{% block title %} — Day {{ day_number }}: {{ day_name }}{% endblock %} + +{% block content %} +<section class="session"> + <h2>Day {{ day_number }}: {{ day_name }}</h2> + + <p class="instruction"> + Perform each set to momentary muscular failure within the prescribed rep range. + Record the weight used and repetitions achieved. Do not exceed the prescribed sets. + </p> + + <form method="post" action="/session/submit"> + {% for group in groups %} + <fieldset class="exercise-group {{ group.type }}"> + {% ifequal group.type "superset" %} + <legend class="group-label">Pre-Exhaust Superset</legend> + {% else %} + <legend class="group-label">Straight Set</legend> + {% endifequal %} + + {% for exercise in group.exercises %} + <div class="exercise-entry"> + <h3 class="exercise-name">{{ exercise.name }}</h3> + <p class="prescription"> + Target: <strong>{{ exercise.target_weight }} kg</strong> × + <strong>{{ exercise.rep_low }}–{{ exercise.rep_high }}</strong> reps + </p> + + {% for set in exercise.sets %} + <div class="set-row"> + <span class="set-label">Set {{ set.number }}</span> + <input type="hidden" name="exercise-id-{{ set.field_key }}" value="{{ exercise.id }}"> + <input type="hidden" name="set-number-{{ set.field_key }}" value="{{ set.number }}"> + <input type="hidden" name="prescribed-weight-{{ set.field_key }}" value="{{ exercise.target_weight }}"> + <div class="input-group"> + <input type="number" + name="actual-weight-{{ set.field_key }}" + value="{{ exercise.target_weight }}" + min="0" + step="2.5" + required> + <span class="unit">kg</span> + </div> + <div class="input-group"> + <input type="number" + name="actual-reps-{{ set.field_key }}" + min="0" + max="30" + placeholder="reps" + required> + <span class="unit">reps</span> + </div> + <label class="failure-check"> + <input type="checkbox" + name="to-failure-{{ set.field_key }}" + value="1" + checked> + Failure + </label> + </div> + {% endfor %} + </div> + {% endfor %} + </fieldset> + {% endfor %} + + <button type="submit" class="btn-primary">LOG SESSION</button> + </form> +</section> +{% endblock %} + +{% block quote %} +<blockquote> + “One set of an exercise, carried to a point of momentary muscular failure, + is all that is required to stimulate an increase in strength and size.” + <cite>— Mike Mentzer</cite> +</blockquote> +{% endblock %} |