v1.0.0-alpha.10 — Native Places map
·
101 commits
to main
since this release
Native Places map rewrite
Map screen
- Replaced
MarkerViewwith nativeShapeSource+CircleLayer+SymbolLayer— GPU-rendered pins with drop shadows, zoom-responsive radii, and text labels. - Switched camera centering to the documented
fitBounds(ne, sw, [top, right, bottom, left], duration)path. The selected pin always lands in the visible upper portion of the screen above the bottom sheet. - Google-Maps-style interaction model:
- Sticky floating search pill with deeper shadow.
- Sticky category filter chips that pin below the title row.
- Floating grab handle that scrolled rows pass behind (transparent overlay).
- Smooth drag-synchronised top padding via Reanimated as the sheet expands behind the pill.
- Replaced
Alert.alertwith a Bloom Prompt dialog for the location-denied path. - Added haptic feedback on marker / row selection and directions button.
Places data
- Extended the
Placemodel withminimumSpend,acceptsFairToFiat,localCurrency,fiatPayoutMethods,maxFiatPayout,openingHours. - New
PlaceFactsblock surfaces them inside the detail view. - Enriched all 16 seed places with realistic values.
Other
- Migrated
FlatList→FlashListin contacts and language screens. - Replaced the deprecated
BottomSheetFlashListwrapper with the documenteduseBottomSheetScrollableCreatorhook. - Splash screen now uses the transparent
adaptive-icon-foregroundasset.
Test plan
- Open map, verify pins render with category colors and text labels
- Tap a pin, verify camera animates to it and detail sheet shows
- Drag sheet up, verify smooth transition and search pill stays visible
- Filter by category, verify pins and list update
- Search for a place, verify sheet expands to full screen
- Tap directions / call / website, verify they open correctly
- Verify location-denied shows a Bloom Prompt (not native Alert)
🤖 Generated with Claude Code