summaryrefslogtreecommitdiff
path: root/templates/session.html
diff options
context:
space:
mode:
authorMarius Peter <dev@marius-peter.com>2026-07-18 23:23:35 +0200
committerMarius Peter <dev@marius-peter.com>2026-07-18 23:23:35 +0200
commit753e25e99ddf57be78ff27ad89cb7e1bbc99d041 (patch)
tree43db69ec341520f2923f2f13d0cd8846a9acac35 /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.html80
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> &times;
+ <strong>{{ exercise.rep_low }}&ndash;{{ 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>
+ &ldquo;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.&rdquo;
+ <cite>&mdash; Mike Mentzer</cite>
+</blockquote>
+{% endblock %}
Copyright 2019--2026 Marius PETER