·
97 commits
to main
since this release
Map simplify pass + keyboard fixes
Follow-up to v1.0.0-alpha.11. Applies a second round of /simplify review fixes and lands the keyboard-controller integration.
Cleanups
- Snap constants: collapsed
SHEET_INDEX_DETAIL/SHEET_INDEX_LIST(both `1`) into a singleSHEET_INDEX_MID, and renamedSHEET_INDEX_SEARCH→SHEET_INDEX_TOPto match what the index actually means. - Render perf: `LIST_CONTENT_CONTAINER_STYLE` is now a module-level constant instead of an empty-dep `useMemo`.
- Row re-renders: `PlaceRow` wrapped in `React.memo` so FlashList skips rows that aren't the new or old selection.
- No-op guard: `handleSheetChange` uses the functional setState form so repeat snaps at the same index don't schedule extra renders.
- Comment hygiene: `handleSearchFocus` comment trimmed to just the non-obvious WHY.
Keyboard
- `KeyboardProvider` from `react-native-keyboard-controller` wired at the root (replaces React Native's flaky keyboard bookkeeping on Android).
- Dropped the `onBlur`-triggered snap that was causing focus-blur oscillation on the search TextInput.
Test plan
- Tap search → sheet snaps to top, keyboard stays open, can type
- Drag sheet through all three snaps — magnetic to top
- Scroll the places list at mid and top snap
- Tap a pin from the map → detail view shows
- Change filter chip → list updates, haptic feedback fires
🤖 Generated with Claude Code