2026-04-20 04:47:44 +00:00
|
|
|
{
|
|
|
|
|
"name": "navi",
|
|
|
|
|
"private": true,
|
|
|
|
|
"version": "0.0.0",
|
|
|
|
|
"type": "module",
|
|
|
|
|
"scripts": {
|
|
|
|
|
"dev": "vite",
|
|
|
|
|
"build": "vite build",
|
|
|
|
|
"lint": "eslint .",
|
|
|
|
|
"preview": "vite preview"
|
|
|
|
|
},
|
|
|
|
|
"dependencies": {
|
feat: search, multi-stop routing, and route display
Full navigation UI with:
- Search bar with 150ms debounced autocomplete from /api/geocode
- Keyboard navigation (arrow keys, Enter, Escape)
- Exact match badge for verified address results
- Multi-stop list with drag-to-reorder (dnd-kit)
- 10-stop cap with disabled state
- Mode selector (drive/walk/bike)
- Valhalla route display with per-leg color polyline
- Maneuver list with instructions, distance, time remaining
- Click maneuver to fly map to that point
- Optimize stops button (3+ stops, uses /optimized_route)
- Responsive: side panel (desktop ≥768px), bottom sheet (mobile)
- Stop pins: green origin, red destination, blue intermediate
- Pin popup with remove button
- Geolocation permission requested on first route, not on load
- Error handling for unroutable pairs
- nginx proxy for /api/ and /valhalla/ endpoints
Dependencies added: zustand, @dnd-kit/core, @dnd-kit/sortable,
@dnd-kit/utilities
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 16:50:53 +00:00
|
|
|
"@dnd-kit/core": "^6.3.1",
|
|
|
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
|
|
|
"@dnd-kit/utilities": "^3.2.2",
|
2026-04-20 20:59:18 +00:00
|
|
|
"lucide-react": "^1.8.0",
|
2026-04-20 04:47:44 +00:00
|
|
|
"maplibre-gl": "^5.23.0",
|
2026-04-26 06:17:48 +00:00
|
|
|
"opening_hours": "^3.12.0",
|
2026-04-20 04:47:44 +00:00
|
|
|
"pmtiles": "^4.4.1",
|
|
|
|
|
"protomaps-themes-base": "^4.5.0",
|
|
|
|
|
"react": "^19.2.5",
|
feat: search, multi-stop routing, and route display
Full navigation UI with:
- Search bar with 150ms debounced autocomplete from /api/geocode
- Keyboard navigation (arrow keys, Enter, Escape)
- Exact match badge for verified address results
- Multi-stop list with drag-to-reorder (dnd-kit)
- 10-stop cap with disabled state
- Mode selector (drive/walk/bike)
- Valhalla route display with per-leg color polyline
- Maneuver list with instructions, distance, time remaining
- Click maneuver to fly map to that point
- Optimize stops button (3+ stops, uses /optimized_route)
- Responsive: side panel (desktop ≥768px), bottom sheet (mobile)
- Stop pins: green origin, red destination, blue intermediate
- Pin popup with remove button
- Geolocation permission requested on first route, not on load
- Error handling for unroutable pairs
- nginx proxy for /api/ and /valhalla/ endpoints
Dependencies added: zustand, @dnd-kit/core, @dnd-kit/sortable,
@dnd-kit/utilities
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 16:50:53 +00:00
|
|
|
"react-dom": "^19.2.5",
|
2026-04-20 20:59:18 +00:00
|
|
|
"react-hot-toast": "^2.6.0",
|
feat: search, multi-stop routing, and route display
Full navigation UI with:
- Search bar with 150ms debounced autocomplete from /api/geocode
- Keyboard navigation (arrow keys, Enter, Escape)
- Exact match badge for verified address results
- Multi-stop list with drag-to-reorder (dnd-kit)
- 10-stop cap with disabled state
- Mode selector (drive/walk/bike)
- Valhalla route display with per-leg color polyline
- Maneuver list with instructions, distance, time remaining
- Click maneuver to fly map to that point
- Optimize stops button (3+ stops, uses /optimized_route)
- Responsive: side panel (desktop ≥768px), bottom sheet (mobile)
- Stop pins: green origin, red destination, blue intermediate
- Pin popup with remove button
- Geolocation permission requested on first route, not on load
- Error handling for unroutable pairs
- nginx proxy for /api/ and /valhalla/ endpoints
Dependencies added: zustand, @dnd-kit/core, @dnd-kit/sortable,
@dnd-kit/utilities
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-20 16:50:53 +00:00
|
|
|
"zustand": "^5.0.12"
|
2026-04-20 04:47:44 +00:00
|
|
|
},
|
|
|
|
|
"devDependencies": {
|
|
|
|
|
"@eslint/js": "^9.39.4",
|
|
|
|
|
"@tailwindcss/postcss": "^4.2.2",
|
|
|
|
|
"@types/react": "^19.2.14",
|
|
|
|
|
"@types/react-dom": "^19.2.3",
|
|
|
|
|
"@vitejs/plugin-react": "^6.0.1",
|
|
|
|
|
"autoprefixer": "^10.5.0",
|
|
|
|
|
"eslint": "^9.39.4",
|
|
|
|
|
"eslint-plugin-react-hooks": "^7.1.1",
|
|
|
|
|
"eslint-plugin-react-refresh": "^0.5.2",
|
|
|
|
|
"globals": "^17.5.0",
|
|
|
|
|
"postcss": "^8.5.10",
|
|
|
|
|
"tailwindcss": "^4.2.2",
|
|
|
|
|
"vite": "^8.0.9"
|
|
|
|
|
}
|
|
|
|
|
}
|