feat/GRO-2159-route-drag-reorder
Add @dnd-kit drag-and-drop reorder to the /admin/routes stop list.
- Install @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities
- Sortable stop cards with a grab handle; pointer + touch (press-and-hold)
+ keyboard sensors so mobile groomers and a11y users can reorder
- On drop, PATCH /api/routes/:routeId/reorder { stopOrder } (full order)
- Optimistic UI update with rollback + error message on failure
- Server recomputes legs/buffers/conflicts; response adopted authoritatively
- Tight-schedule conflict warnings retained (server-flagged, gap < travel+buffer)
- "Re-optimize" hint+button after a manual reorder (re-runs POST /optimize)
- Tests: drag handles, conflict flag, no pre-reorder hint, reorder mock
- Updated UAT_PLAYBOOK.md §5.29 — drag-to-reorder & re-optimize cases
Co-Authored-By: Paperclip <noreply@paperclip.ing>
web
GroomBook web app (extracted from groombook/app monorepo)
Description
Languages
TypeScript
99.5%
CSS
0.3%