John O'Keefe
807899b137
fix(reader): arrows stay page turns while the progress slider holds focus
...
Clicking the bottom progress slider left it focused, and the reader's
keydown guard treats INPUT focus as typing — so arrow keys stepped the
range input instead of turning pages. With step="any" each press moved
~1% of the book and key repeat crossed the whole book in seconds; the
debounced progress saves then persisted every wild landing (positions
scattered from page 5 to 285 to 100%, "progress no longer saves
correctly after page turns").
Two layers:
- reader.templ: all three progress sliders blur on pointerup, so a
mouse scrub no longer leaves focus behind.
- reader.ts handleKeydown: ArrowLeft/ArrowRight on a focused progress
slider preventDefault, blur, and fall through to the page-turn
handlers; every other key still belongs to the control, so a
keyboard user who Tabbed to the slider keeps arrows for it.
2026-10-21 20:21:07 -04:00
..
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-13 12:24:12 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 16:38:03 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 18:02:34 -04:00
2026-10-15 19:33:18 -04:00
2026-10-15 19:33:18 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 15:43:59 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 18:59:36 -04:00
2026-05-24 21:20:24 -04:00
2026-03-27 15:52:02 -04:00
2026-10-20 19:38:02 -04:00
2026-10-20 15:36:31 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 15:43:59 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 15:43:59 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:42:50 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 16:45:48 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-08-10 13:43:13 -04:00
2026-10-20 19:38:02 -04:00
2026-08-10 13:43:13 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 18:59:36 -04:00
2026-10-20 19:38:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 12:40:31 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:07 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:07 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 13:16:35 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 16:45:48 -04:00
2026-10-20 19:38:02 -04:00
2026-10-14 11:08:12 -04:00
2026-10-20 19:38:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-21 20:21:07 -04:00
2026-10-21 20:21:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-08-05 16:45:02 -04:00
2026-08-05 16:45:02 -04:00
2026-10-20 19:38:02 -04:00
2026-10-19 12:39:20 -04:00
2026-10-03 23:54:07 -04:00
2026-10-18 16:38:03 -04:00
2026-10-18 16:38:03 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 12:08:20 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-18 12:08:07 -04:00
2026-10-20 19:38:02 -04:00
2026-05-10 16:13:21 -04:00
2026-10-19 15:43:59 -04:00
2026-10-20 19:38:02 -04:00
2026-10-18 16:00:04 -04:00
2026-10-19 18:59:36 -04:00
2026-10-20 08:24:36 -04:00