[OCaml] High Intensity Training Online
style Simplify the mobile ledger entry
A narrow logbook row now reads exactly as a ledger: monospace date, em dash, routine day on the first left-aligned line, with the three-dot menu at the upper right. The following line is the normal-font x/y progressed headline. Duration stays in the desktop comparison table but is hidden on mobile, yielding that scarce second line to progressive overload.
Changed files
ARCHITECTURE.org
@@ -510,9 +510,12 @@
510
510
** The logbook
511
511
512
512
Each saved workout is a compact ledger row: date, routine day, finished
513
Removed:
duration, and a progressive-overload headline such as =3/5 progressed=.
514
Removed:
The denominator is only exercises with a prior baseline; first performances do
515
Removed:
not inflate it. When a workout has positive changes, its headline is a
513
Added:
duration, and a progressive-overload headline such as =3/5 progressed=. The
514
Added:
denominator is only exercises with a prior baseline; first performances do not
515
Added:
inflate it. On narrow screens the same semantic table reflows into two lines:
516
Added:
=date — routine day=, then the progress headline, with the row menu at the
517
Added:
right. Duration remains in the desktop table but yields that second mobile line
518
Added:
to the primary signal. When a workout has positive changes, its headline is a
516
519
=?expand=:id= link. It opens one full-width detail row beneath the workout,
517
520
showing the exact prior and current load × reps and their deltas for each
518
521
progressed exercise. =Progress= supplies the comparisons and is the only place
lib/web/assets/hito.css
@@ -539,12 +539,11 @@
539
539
.logbook-table tbody { display: block; }
540
540
.logbook-table tbody > tr:not(.logbook-detail-row) {
541
541
display: grid;
542
Removed:
grid-template-columns: minmax(0, 1fr) auto;
542
Added:
grid-template-columns: auto minmax(0, 1fr) auto;
543
543
grid-template-areas:
544
Removed:
"date actions"
545
Removed:
"workout workout"
546
Removed:
"duration progress";
547
Removed:
gap: 0.25rem 0.75rem;
544
Added:
"date workout actions"
545
Added:
"progress progress actions";
546
Added:
gap: 0.25rem 0.5rem;
548
547
border: 1px solid var(--rule-strong);
549
548
border-radius: var(--radius);
550
549
background: var(--paper-raised);
@@ -563,19 +562,27 @@
563
562
font-family: var(--mono);
564
563
white-space: nowrap;
565
564
}
565
Added:
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(1)::after {
566
Added:
margin-left: 0.5rem;
567
Added:
content: "—";
568
Added:
color: var(--muted-ink);
569
Added:
}
566
570
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(2) {
567
571
grid-area: workout;
568
Removed:
padding: 0 0.85rem;
569
Removed:
font-weight: 700;
572
Added:
min-width: 0;
573
Added:
padding: 0.75rem 0 0;
574
Added:
font-weight: 400;
570
575
}
576
Added:
/* Duration remains useful in the desktop table, but a narrow ledger reserves
577
Added:
its second line for the only primary signal: progressive overload. */
571
578
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(3) {
572
Removed:
grid-area: duration;
573
Removed:
padding: 0 0 0.75rem 0.85rem;
579
Added:
display: none;
574
580
}
575
581
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(4) {
576
582
grid-area: progress;
577
Removed:
padding: 0 0.85rem 0.75rem 0;
578
Removed:
text-align: right;
583
Added:
padding: 0 0 0.75rem 0.85rem;
584
Added:
text-align: left;
585
Added:
font-family: var(--sans);
579
586
}
580
587
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(5) {
581
588
grid-area: actions;
@@ -758,7 +765,11 @@
758
765
text-transform: uppercase;
759
766
}
760
767
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(n) {
768
Added:
display: table-cell;
761
769
padding: 0.5rem 0.75rem;
770
Added:
}
771
Added:
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(1)::after {
772
Added:
content: none;
762
773
}
763
774
.logbook-table tbody > tr:not(.logbook-detail-row) > td:nth-child(1) {
764
775
font-family: var(--mono);