Skip to content

feat: drill detail with sticky head, tabs and quick entry (UX-06, part A) - #209

Merged
bri-b-dev merged 1 commit into
mainfrom
b/drill-detail-v2
Oct 10, 2026
Merged

bri-b-dev merged 1 commit into
mainfrom
b/drill-detail-v2

Conversation

@bri-b-dev

Copy link
Copy Markdown
Owner

Summary

Part A of UX-06 (live mode, completion sheet, undo and confetti follow in part B).

  • Sticky head: title, category / duration / difficulty chips, favorite and the primary actions Starten and Ergebnis eintragen. While a session runs it shows the state plus Abbrechen / Speichern, so saving is always within reach. The header height is published as --app-header-h so the bar sits right below the app header
  • Sections as tabs: Aufbau (diagram first, then equipment, place, setup text), Ablauf, Ziele (targets table + short stats), Verlauf. Proper tab semantics, roving tabindex, arrow keys / Home / End
  • Collapsed extras: "Zu leicht? / Varianten" (the variants were not shown at all before) and the tip
  • Quick entry ("Ergebnis eintragen"): open + save = 2 taps, no timer, the value field is focused; the saved session carries no timerUsed
  • Starten switches to the Ablauf tab and starts the timer
  • Guided sessions embed the detail without the sticky head (it would collide with the session bar)

Not in this PR (part B)

Full-screen live mode with big timer and +/- counters, keep-awake, completion sheet (level, distance to the next level, best / MA(5), PB confetti, note, Nochmal / Nächster Drill / Fertig), undo toast.

Test plan

  • npm test (250), npm run lint, npm run typecheck, npm run build (local)
  • CI
  • Manual: header stays visible while scrolling on a phone (below the app header, no overlap); tabs by touch and keyboard; Starten -> Ablauf + timer; Ergebnis eintragen -> number keyboard, save; a drill inside a guided session; light/dark

🤖 Generated with Claude Code

…t A)

- sticky head: title, category/duration/difficulty, favorite, "Starten" and "Ergebnis eintragen";
  while a session runs it shows the state with Abbrechen/Speichern
- sections as tabs (Aufbau with the diagram first, Ablauf, Ziele, Verlauf) with arrow-key navigation;
  "Zu leicht? / Varianten" collapsible; tip stays collapsible
- starting a session switches to Ablauf; quick entry (2 taps) skips the timer and focuses the field
- header height is published as --app-header-h; embedded in guided sessions without sticky head
- tests (250)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@bri-b-dev
bri-b-dev merged commit 416c098 into main Oct 10, 2026
1 check passed
@bri-b-dev
bri-b-dev deleted the b/drill-detail-v2 branch October 10, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant