Skip to content

feat(explore): events-first sheet with a center dropdown + detail polish#299

Merged
KishParikh13 merged 1 commit into
v2from
design/explore-events-first
May 29, 2026
Merged

feat(explore): events-first sheet with a center dropdown + detail polish#299
KishParikh13 merged 1 commit into
v2from
design/explore-events-first

Conversation

@KishParikh13

Copy link
Copy Markdown
Collaborator

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)

  • Events-first sheet — combined the old co-equal Events/Centers tabs into one surface: search → center dropdown → Today/Going → events.
  • 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.
  • "All centers" option (events from everywhere) at the top of the picker.
  • Per-row "view center page" button — a distinct round chevron that opens /center/{id}, separate from selecting the center for events.
  • Dropped the redundant Center filter chip; per-state counts + inset separators on the grouped centers list.

Map (components/map/Map.native.tsx)

Detail (components/ui/DetailSection.tsx)

  • Balanced the hairline spacing (24 above / 18 below) so dividers stop crowding the text above them on center/event detail.

Verification

  • Walked the flows on the iOS simulator (dropdown → picker → select re-sorts events; map controls clear of the avatar; detail dividers).
  • npm run test:frontend187 pass. No new tsc errors (baseline 10 unchanged).

🤖 Generated with Claude Code

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 KishParikh13 merged commit d66073a into v2 May 29, 2026
1 check was pending
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant