SkateSpots/src
SkateSpots 5a819d5a31 feat(directions): follow mode, choose-your-start, offline route cache
Follow mode (explicit Start; off by default — a watcher drains battery):
watchPosition in geolocation.ts, live dot, 'NEXT · step N' banner with
distance-to-turn + distance-to-go, current step highlighted, map follows.
A transient watch error (timeout/unavailable) no longer kills it — only a
permission denial does; the watcher recovers on its own.

Choose your start: 'From → My location / Choose on map' — tapping the map sets
the origin, and the route recomputes from there.

Offline: src/lib/routeCache.ts keeps the last route per destination+mode with
the line downsampled to <=250 points. If a fetch fails (no signal / routing
server down) the dialog falls back to it with an 'Offline · saved route {age}'
badge instead of a dead error.

Also tidied the map overlays (offline badge bottom-left, Whole route
bottom-right) so nothing covers Leaflet's zoom control.

Verified with CDP: controls present; follow banner tracks movement (step 1 ->
step 7, distances update); blocking routing shows the cached route + badge;
picking a start on the map changed the route (968 m -> 922 m). Still no voice
guidance or re-routing if you leave the route (documented).
2026-09-27 19:11:14 +07:00
..
components feat(directions): follow mode, choose-your-start, offline route cache 2026-09-27 19:11:14 +07:00
contexts refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
hooks fix(amber,routing): scope Amber prompts to real actions; real per-mode routes + steps 2026-09-27 18:35:17 +07:00
i18n fix(mobile-nav): keep tab labels on one line so the row stays aligned 2026-09-27 10:15:27 +07:00
lib feat(directions): follow mode, choose-your-start, offline route cache 2026-09-27 19:11:14 +07:00
pages fix(newsletter): infinite render loop + issues published to the wrong relays 2026-09-27 17:40:02 +07:00
test Hardening: https-only URLs, route-level crash resilience, cleaner errors (1.4.3) 2026-09-09 12:40:43 +07:00
App.test.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
App.tsx Instant cold-start: query persistence, optimistic geolocation, skeleton pins 2026-09-09 21:58:22 +07:00
AppRouter.tsx feat(marketplace): hub with Browse / My Trades / Reputation (+ reviews) 2026-09-27 16:14:47 +07:00
index.css a11y: fix lime accent contrast (P3) + add shared EmptyState component (P4) 2026-09-24 18:33:35 +07:00
main.tsx fix(boot): auto-recover from stale chunks after a deploy 2026-09-26 17:33:20 +07:00
vite-env.d.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00