Bladeren bron

HANDOFF.md: note slider-only stepper rewrite on Phase 17

Annotates Phase 17 in §9 Shipped with rewrite `15b2d24` and its
behaviour: popover is now slider-only (no +/- buttons, no numeric
output), opens on click of any `input[type="number"]` app-wide
(data-stepper no longer required), anchors to the right of the input
at its vertical midpoint (flips left on viewport clip), and closes
when the pointer leaves the popover after having entered it. Includes
adaptive slider max for task-assignment cells (min=0 but no max) so
the slider is always usable. SHA appended to §13 git history.

No code changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
achiappa 2 weken geleden
bovenliggende
commit
27eea763c8
1 gewijzigde bestanden met toevoegingen van 23 en 3 verwijderingen
  1. 23 3
      HANDOFF.md

+ 23 - 3
HANDOFF.md

@@ -421,8 +421,8 @@ with a `BOOTSTRAP_ADMIN` audit row.
       dark, admin-pages contrast sweep, private-window
       localStorage denial fallback).
 
-- [x] **Phase 17 — Hide native number spinners + custom 0.5-step
-      stepper popover** (`b457896`, UX tweak `c07af1c`, hotfix `832b256`). Three classes of number input —
+- [x] **Phase 17 — Hide native number spinners + custom slider popover
+      for number inputs** (`b457896`, UX tweak `c07af1c`, hotfix `832b256`, rewrite `15b2d24`). Three classes of number input —
       day cells, RTB cells, task assignment cells — deal in half-day
       increments (or 0.05 for RTB). Browsers rendered each as
       `<input type="number">` with tiny native up/down spinner
@@ -498,7 +498,25 @@ with a `BOOTSTRAP_ADMIN` audit row.
       + explicit null/empty check so missing bounds report as `NaN`.
       Same commit centres the popover on the input's horizontal
       midpoint instead of aligning to its left edge — looks
-      balanced over narrow table cells.
+      balanced over narrow table cells. **Rewrite `15b2d24`**
+      lands the final interaction model: the popover is now *slider
+      only* — no +/− buttons, no numeric output — opens on **click**
+      (not hover) of any `input[type="number"]` app-wide (no
+      `data-stepper` opt-in needed; the attribute stays harmless on
+      the existing markup), anchors to the **right of the input at
+      its vertical midpoint**, flips to the left when the right edge
+      would clip the viewport, and closes as soon as the pointer
+      **leaves the popover after entering it at least once** (a
+      `popoverEntered` latch forgives click-to-open cursors that
+      already sit inside the popover rectangle). Task-assignment
+      inputs, which declare `min="0"` but no `max`, get an adaptive
+      slider max of `Math.max(current + 5, 10)` so the slider is
+      always useful. Dragging fires `change` on the bound input on
+      every tick; sprint-planner.js's 400 ms debounce coalesces the
+      flurry into one server write while its capacity recompute
+      runs on every tick so Ressourcen / Available / ≤ reserves
+      update smoothly during the drag. Escape, outside-pointerdown
+      and Tab-out fallbacks remain for keyboard / touch paths.
 
 ### Upcoming
 
@@ -582,6 +600,8 @@ before acting — nothing here is load-bearing once it grows stale.
 ## 13. Git history (as of this handoff)
 
 ```
+15b2d24 Stepper popover: slider-only, click-to-open, close on leave-popup
+515f9ec HANDOFF.md: note stepper positioning + bounds-parsing hotfix
 832b256 Fix: stepper popover broken on task-assignment cells + not centred
 14a41b1 HANDOFF.md: note stepper hover + vertical-slider UX tweak on Phase 17
 c07af1c Stepper popover: hover-to-open + vertical range slider