whaleprep/scripts
dev 14542f169a Make the exam screen work on a phone
The screen had no mobile state at all: the clock scrolled away mid-paper, the
only navigation was save-and-next so a candidate could not go back, the palette
sat below the question where it pushed submit off-screen, and the nav row lost
three of its four links under 700px.

Sticky header carries the clock and a progress bar; previous/next are real
buttons; the palette is a drawer below 1024px opened by a floating button that
sits above the tab bar. Primary destinations move to a bottom tab bar on
phones, data tables scroll inside their own card, and every control meets the
44px touch minimum.

Verified with a headless browser across five viewports rather than by reading
the stylesheet: scripts/audit_mobile.py fails on horizontal overflow, tap
targets under 44px, and content hidden behind a fixed bar; scripts/shots.py
captures each page at both widths. Both caught bugs I would otherwise have
shipped, including a palette toggle that lived inside the drawer it opened and
so could never be pressed on a phone.

fmt_dur drops a leading zero hour, so a 24 minute paper reads 24m 00s.
2026-10-11 21:54:17 +05:30
..
audit_mobile.py Make the exam screen work on a phone 2026-10-11 21:54:17 +05:30
bench.py Honour RUST_LOG, add load and scale benchmarks 2026-10-11 21:08:35 +05:30
bench_scale.py Honour RUST_LOG, add load and scale benchmarks 2026-10-11 21:08:35 +05:30
bench_write.py Honour RUST_LOG, add load and scale benchmarks 2026-10-11 21:08:35 +05:30
shots.py Make the exam screen work on a phone 2026-10-11 21:54:17 +05:30