Commit Graph

4 Commits

Author SHA1 Message Date
Flea Flicker bb306ea41d feat(GRO-2158): route planner page at /admin/routes
CI / Test (pull_request) Successful in 27s
CI / Lint & Typecheck (pull_request) Successful in 34s
CI / Build & Push Docker Image (pull_request) Successful in 53s
Build the Route Optimization route planner UI in groombook/web:
- New /admin/routes page with date picker + groomer selector
  (auto-filtered for groomer role via GET /api/staff/me)
- react-leaflet + OpenStreetMap tiles, lazy-loaded so Leaflet ships
  as a separate code-split chunk (RouteMap-*.js / .css)
- Map with numbered teardrop divIcon pins + route polyline, auto-fit
  bounds; numbered pins avoid the Leaflet default-marker asset issue
- Stop-list panel: per-stop card with time, client name, address,
  travel time from previous stop, and tight-schedule conflict flag
- Total travel time + distance summary + route status badge
  (draft / optimized / in_progress / completed)
- "Optimize" button wired to POST /api/routes/optimize
- Reads daily route via GET /api/routes/daily?staffId=&date=
- Tests for stop rendering, summary, role auto-filter, optimize call
- Updated UAT_PLAYBOOK.md §5.28 — Route Planner Page

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-09 01:48:35 +00:00
Chris Farhood 9408ccff3e fix: add workspace config and remove --filter for extracted repo
The extracted repo is no longer a monorepo — pnpm --filter doesn't match
the root package. Add pnpm-workspace.yaml for packages/types, add
@groombook/types as workspace dep, and run commands directly at root.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-10 23:47:26 +00:00
groombook-engineer[bot] 7ee08d42b3 fix: add @types/node to resolve typecheck failures
Vitest globals require @types/node for process.env in test setup.
Tests pass in CI but typecheck fails without it.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:40:29 +00:00
groombook-engineer[bot] 45ed3587ba feat: extract groombook/web from monorepo
- Copy apps/web/ with all src, components, pages, portal
- Inline packages/types/ as local packages/types module
- Add tsconfig path aliases for @groombook/types
- Port Dockerfile and CI workflow
- Image name: ghcr.io/groombook/web

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-02 21:38:42 +00:00