ef974f1a5ea2217f0b1808ed60c6408100ea8206
Phase 3.3 of the Mobile Groomer Route Optimization work (groombook/web). - Add "Open in Google Maps" / "Open in Apple Maps" export buttons that fetch the route deep-link from /api/routes/:routeId/export/:platform and open it. Device OS is detected (iOS/Android/desktop); the relevant app's button is prominent and the other is offered as a secondary option. - Pre-warm OSM map tiles for the route's bounding box (zooms 12-14, capped at 80 tiles) on every route load and after each optimize/reorder so the map is viewable offline; add a Workbox CacheFirst rule (osm-tiles, 7d) alongside the existing NetworkFirst /api/* rule (24h) that already caches route data. - Responsive polish: single-column stacking, shorter map, and full-width export buttons below 768px for phone use during the day. - Tests for export button rendering + deep-link open; UAT_PLAYBOOK.md §5.30 added. Co-Authored-By: Paperclip <noreply@paperclip.ing>
web
GroomBook web app (extracted from groombook/app monorepo)
Description
Languages
TypeScript
99.5%
CSS
0.3%