Problem or opportunity
Several pages show plain “Loading…” text while data fetches. The profile page already uses the shared <Spinner /> component — meetup and check-in pages should match for consistent UX and accessibility.
Proposed solution
HOW TO TEST
- Run
npm run dev
- Visit
/meetup/[valid-slug] — confirm spinner shows briefly before content loads
- Visit
/meetup/[valid-slug]/circles — same spinner pattern
- Visit
/checkin — spinner shows in loading fallback
- Run
npm run build — passes with no type errors
Alternatives considered
No response
Problem or opportunity
Several pages show plain “Loading…” text while data fetches. The profile page already uses the shared
<Spinner />component — meetup and check-in pages should match for consistent UX and accessibility.Proposed solution
/meetup/[meetupId]with<Spinner />(centered, with loading message)/meetup/[meetupId]/circleswith<Spinner />/checkinwith<Spinner />src/components/ui/spinner.tsx(do not create a duplicate)role="status"or sr-only text).nvmrc)HOW TO TEST
npm run dev/meetup/[valid-slug]— confirm spinner shows briefly before content loads/meetup/[valid-slug]/circles— same spinner pattern/checkin— spinner shows in loading fallbacknpm run build— passes with no type errorsAlternatives considered
No response