Phase 54 — Map Parity + Filter-Chip Redesign
The Home map and Explore map are now the same map (verified live — identical markers + chips). This board is about the chips on top of it: today there are 18 content chips crammed into one scroll row, sitting on top of a Now / Coming / History row. They don't respect the active time layer, which creates empty/confusing states. Tap any chip below — they're live.
Verified: Home map = Explore map ✓
Recommended: Variant A — Contextual chips
2 alternatives to compare
Today — the problem
Two stacked rows, 18 chips, blind to the layer
Only ~5 chips fit on screen; the rest hide off the right edge. Content chips ignore the time layer — pick History then tap Developments and you still see stale "memory" pins. Story pins say "Business."
NABEWburg ▾
3
7
10
2
Story pin → labelled "Business" 🐛 Bug D
Now
Coming
History
3-way layer row
⚡ All
🔴 Live
🚨 Safety
📅 Events
🆘 Help
💡 Tips
🏪 Market
🏠 Properties
🏬 Businesses
🏗️ Developments
📋 Permits
📜 History
📦 Packages
🤝 Community
👨👩👧 Families
💞 Singles
🤗 Meet Neighbors
🔑 Listings
← 18 chips, only ~5 visible. Scroll →
Try scrolling the bottom chip row — most of it is hidden.
What's broken
- Clutter: 18 chips in one horizontal scroll on top of a second row. The map shrinks; discoverability is poor.
- Bug A — wrong layer: development & permit pins leak across Now/Coming/History (the layer gating in NabeMap is wide).
- Bug C — incompatible combo: History layer + "Developments" chip → still shows orange memory pins (Peter Luger, McCarren Pool). The chip does nothing useful. Verified live.
- Bug D — mislabelled pins: story/camera pins open a popup badged "Business" with a "View Full →" button (MarkerPopup has no
story branch). Verified live.
- Story dots barely findable — no label, no legend entry.
★ Recommended — Variant A
Layer-first, contextual chips
The time layer becomes a clean segmented control. The chip row below it changes to match the layer — you only ever see chips that can return results. The bad combo can't exist.
Tap Now / Coming / History — watch the chips below swap.
Why this wins
- Fixes Bug C by construction: "Developments" simply doesn't exist on the History layer, so the empty/confusing combo is impossible.
- Far fewer chips: Now shows ~9, Coming shows 3, History shows 2 — each set fits with little scrolling.
- Layer reads as the primary lens (a real segmented control, not 3 look-alike chips next to 18 more).
- Story dots: shown as photo dots + a "Stories" chip on the Now layer, with a popup branch that says "Story" not "Business" (Bug D fix).
Build cost: LOW–MEDIUM. Mostly a data map (layer → allowed chip ids) + a contextual filter in MapFilterChips. One layout swap (segmented control). Add a story case to MarkerPopup. No new map plumbing — NabeMap already gates by layer.
Alternative — Variant B
Grouped categories + "More" sheet
Same layer-first idea, but the long Now list collapses into a few category groups (People, Places, Listings) plus an overflow More chip that opens a sheet. Fewest chips on screen.
Tap a layer, then the + More chip to open the filter sheet.
Trade-offs
- Cleanest surface — 3-4 chips max on the map at any time; the rest live in the sheet.
- Group chips (People, Places) act as quick toggles; granular sub-filters (Families / Singles / Meet) move into the sheet.
- Cost of an extra tap for less-used filters — fine for power filters, slightly slower for common ones.
- Also fixes Bug C/D the same way (contextual per layer + Story branch).
Build cost: MEDIUM. Needs the layer→chips map AND a new bottom-sheet (reuse vaul Drawer) + group→subtype mapping. More UI surface to build & test than A.
Alternative — Variant C
Category-first, then sub-filter
Keep one row, but it's two-level: pick a category first (Live, Social, Places, Real estate), and a second contextual row of sub-filters appears only for that category. Layer stays as the segmented control.
Tap a layer, then a category chip — the sub-filter row updates.
Trade-offs
- Most scalable — handles future filter types without ever overflowing; the second row only shows when a category is picked.
- Mental model is one extra level deep (category → sub) which some users find less direct than flat chips.
- Two visible rows when drilled in — slightly more chrome than A or B.
- Same Bug C/D fixes via contextual layer + Story branch.
Build cost: MEDIUM–HIGH. Two-level state (category + sub-filter) on top of the layer map, plus the category→sub mapping. The most polished feel, the most code.