feat(GRO-2158): route planner page at /admin/routes #60
Reference in New Issue
Block a user
Delete Branch "feat/GRO-2158-route-planner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
GRO-2158 — Route Optimization: Route Planner Page
Builds the admin Route Planner UI at
/admin/routes(Phase 3.1). Backend route endpoints (incl. the navigation export endpoint, GRO-2157) are already ondev.What's included (exactly the GRO-2158 task list)
/admin/routeswith a Date picker + Groomer selector. Groomer selector is auto-hidden for the groomer role (resolved viaGET /api/staff/me); managers/receptionists pick a groomer fromGET /api/staff.React.lazydynamic import so Leaflet ships as a separate code-split chunk (RouteMap-*.js156 KB /RouteMap-*.css) that only loads on this page.divIconpins sidestep the Leaflet default-marker bundler asset issue.POST /api/routes/optimize. Daily route loaded viaGET /api/routes/daily?staffId=&date=.Out of scope (not in the GRO-2158 spec)
Drag-to-reorder and the nav-export buttons are not in this task's bullet list and are intentionally not added here.
Tests / gates (local)
pnpm typecheck✅pnpm lint✅ (0 errors)pnpm test✅ (176 passed, incl. newRoutes.test.tsx)pnpm build✅ — confirms the Leaflet code-split chunkUAT Playbook
Updated
UAT_PLAYBOOK.md§5.28 — Route Planner Page (new section: nav reachability, code-split verification, pins+polyline, stop cards, summary+badge, optimize, groomer auto-filter, empty state).Closes GRO-2158.
🤖 Generated with Claude Code