diff --git a/AGENTS.md b/AGENTS.md index ee4e301..0bb09fe 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -324,10 +324,16 @@ session with **no other memory of this project**. So: it** (it's the point of the screen), then the **mode/vehicle row**, then the **"From" row**, then the scrolling details, with the **Start/Stop bar pinned** at the bottom. The map is `shrink-0` at - `h-[50vh] min-h-[300px] sm:h-[440px]` (was `38vh`), or `h-[60vh]`/`sm:h-[62vh]` + `h-[34vh] min-h-[220px] sm:h-[400px]`, or `h-[54vh] min-h-[320px]`/`sm:h-[60vh]` while following. The **summary is a compact one-line strip** (distance · time · arrive) — `StatTile` was **removed**; the three ~90px - tiles were eating the map's space. ⚠️ Don't go back to a single + tiles were eating the map's space. **Owner feedback (2026-10-01): the map + dominated the phone screen** — it was `50vh` (and `38vh` before that); `34vh` + gives the itinerary and controls room while staying pannable, and follow mode + restores a bigger map. The dialog's tagline ("In-app route · OpenStreetMap + routing — nothing leaves to Google or Apple Maps") was **removed from the + visible chrome** (kept `sr-only` for a11y); that promise now lives on + **/privacy → "What leaves your device" → Directions**. ⚠️ Don't go back to a single `overflow-hidden` content box: that made everything below the fold **unreachable** once the map grew. The map carries a metric `L.control.scale`. **Transit** mode uses **Transitous** (`api.transitous.org`, diff --git a/src/components/RouteDialog.tsx b/src/components/RouteDialog.tsx index acea553..cc02ecf 100644 --- a/src/components/RouteDialog.tsx +++ b/src/components/RouteDialog.tsx @@ -780,10 +780,11 @@ export function RouteDialog({ Search - - {mode === 'transit' - ? 'Public transport via Transitous (open timetables + OpenStreetMap)' - : 'In-app route · OpenStreetMap routing — nothing leaves to Google or Apple Maps'} + {/* Copy kept out of the visible chrome so the route screen stays + clean; the same promise now lives on /privacy → "What leaves your + device" → Directions. sr-only keeps the dialog accessible. */} + + Route options and in-app directions. @@ -791,7 +792,7 @@ export function RouteDialog({ `.leaflet-container { height: 100% }` override beats a `h-64` on the map element itself, and against a height-less parent that resolved to 0 — a fully invisible map with no route line. */} -
+
Bitcoin places (BTCMap, when you switch that layer on) — see your IP and the area you're viewing.
  • Nostr relays — see your IP when the app reads or publishes.
  • Cashu mints — see your IP whenever your wallet sends, receives or melts.
  • -
  • Directions (OSRM, and Transitous for transit) — receive the start and end of any route you ask for, not only your IP.
  • +
  • Directions (OSRM, and Transitous for transit) — receive the start and end of any route you ask for, not only your IP. Routing stays in the app: your start and destination are never handed off to Google or Apple Maps.
  • Weather (Open-Meteo, opt-in) and image uploads (Blossom), when you use them.
  • Sasquatch AI — your message goes to our own server, then to the model provider.