feat(explore): events-first sheet with a center dropdown + detail polish#299
Merged
Conversation
Reworks the Explore sheet around the real journey — members have a center and
events are the point — and fixes two iOS polish issues.
Explore (app/(tabs)/explore.tsx):
- Combined the old co-equal Events/Centers tabs into one events-first sheet:
search → center dropdown → Today/Going → events.
- The home-center card is now a dropdown. Tapping opens an in-sheet picker
("Show events near" + Close) listing every center with city + event count;
selecting one re-sorts the events by nearness to that center. Defaults to the
member's home center; sorts (never filters) so the list is never empty.
- Picker has an "All centers" option (events from everywhere) and a distinct
per-row button to open that center's page, separate from selecting it.
- Dropped the redundant "Center" filter chip; per-state counts + inset
separators on the grouped centers list.
Map (components/map/Map.native.tsx):
- Offset the zoom/locate controls below the top-right profile avatar so they
no longer overlap (regression from the 3-tab nav change).
DetailSection (components/ui/DetailSection.tsx):
- Balanced the hairline spacing (24 above / 18 below) so dividers stop crowding
the text above them on center/event detail.
Verified on the iOS simulator. frontend tests: 187 pass; no new tsc errors.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
KishParikh13
added a commit
that referenced
this pull request
May 29, 2026
Bring the web (.web.tsx) screens in line with the recent native iOS UX. Fix 1 — Explore mobile-web (app/(tabs)/explore.web.tsx): Rebuild the MobileDiscoverFallback bottom sheet to mirror native explore.tsx (commits #289 + #299), events-first: - Drop the Events/Centers UnderlineTabBar tab model; the sheet now always shows events (search -> center dropdown -> Today/Going -> events list). - Replace the Center filter chip + FilterPickerModal with the in-sheet "Show events near <center>" dropdown: picking a center re-sorts events by distance (sort, never filter, so the list never empties); an "All centers" option (Globe) shows events everywhere; each row has a separate chevron button that opens that center's page. - Add a Create button in the filter row for logged-in users -> router.push('/events/form'). - Reuse the great-circle milesBetween ranking from native. Desktop layout (DiscoverScreenWeb) is preserved unchanged. Fix 2 — Notifications bell on web (app/(tabs)/_layout.tsx): Add a notifications Bell button to WebHeader next to the profile avatar for logged-in users -> router.push('/notifications'). The shared /notifications route + NotificationCenter (themed via useColors) render as-is on web. Quality gates: backend typecheck clean; 187/187 frontend tests pass. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reworks Explore around the real journey (members already have a center; events are the point) and fixes two iOS polish issues.
Explore (
app/(tabs)/explore.tsx)/center/{id}, separate from selecting the center for events.Map (
components/map/Map.native.tsx)Detail (
components/ui/DetailSection.tsx)Verification
npm run test:frontend→ 187 pass. No new tsc errors (baseline 10 unchanged).🤖 Generated with Claude Code