From 93f195ecf31267ec4f76c6292ba2fca203f07b4b Mon Sep 17 00:00:00 2001 From: SkateSpots Date: Tue, 29 Sep 2026 17:05:58 +0700 Subject: [PATCH] docs(agents): record the floating map toolbar layout --- AGENTS.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index e989cb2..5834087 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -627,6 +627,17 @@ session with **no other memory of this project**. So: say this honestly (2026-09-29). **Still future:** real MLS (`ts-mls`) instead of group-key crypto, plus Cordn RPC interop. **Lesson: grep `src` for the feature before building it — this was nearly duplicated.** +- **Map layout — controls float (2026-09-29):** on mobile the `MapPage` toolbar + is **`absolute` over the map** (`pointer-events-none` wrapper + gradient + + `pointer-events-auto` inner) so the map fills the whole container; `md:static` + restores the in-flow bar on desktop. The container height subtracts + **header + bottom nav only** (the old desktop `--footer-desktop` subtraction is + gone) and the **desktop footer is hidden on full-bleed routes** (`Layout` + footer: `isFullBleed ? 'hidden' : 'hidden md:block'`). Result at 390×844: + map starts under the header and is **~86% of the viewport** (was ~78%). Don't + re-add a stacked toolbar or the footer subtraction. The "New here?" welcome + banner (logged-out only) still occupies ~69px *in flow* on first visit — it's + dismissible and the dismissal is persisted (`skatespots_welcome_dismissed`). - **Empty-map nudge (2026-09-28):** `MapPage` distinguishes the two empties — the existing "No spots match" card is for *filters* (`filteredSpots.length === 0 && allLocations.length > 0`) and a new "No spots mapped yet — be the first" card