Add search, affiliate filtering, and pagination to athletes page#412
Add search, affiliate filtering, and pagination to athletes page#412zacjones93 wants to merge 1 commit intomainfrom
Conversation
…ffiliate filter Hundreds of registrations made the athletes tab slow to render. Paginate client-side (default 100, configurable 25/50/100/200/500) while keeping filtering and CSV export operating on the full filtered list. Add a free-text search over name/email/team and an Affiliate dropdown with an explicit "None" option. All filter, search, sort, and pagination state is held in URL search params so views are shareable and bookmarkable. - apps/wodsmith-start/src/components/pagination.tsx: add optional itemLabel and params props so the shared Pagination component works on dynamic routes and with arbitrary item nouns. - apps/wodsmith-start/src/routes/_protected/workouts/index.tsx: pass itemLabel="workouts" to preserve existing copy.
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 37 minutes and 53 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Enhanced the organizer athletes page with comprehensive filtering, search, and pagination capabilities. All state is URL-backed via search parameters, making views shareable and bookmarkable.
Key Changes
Athletes Page (
athletes.tsx)?q=URL param)?affiliate=URL param)?page=and?pageSize=URL paramssortedAthleteRowstopaginatedAthleteRowsfor both mobile card and desktop table viewsPagination Component (
pagination.tsx)itemLabelprop to customize the item type displayed in pagination text (e.g., "athletes" vs "workouts")paramsprop to support dynamic route parameters (required for routes like/compete/organizer/$competitionId/athletes)basePathcan use "." for current route navigationWorkouts Page (
workouts/index.tsx)itemLabel="workouts"for consistencyDocumentation (
lat.md/organizer-dashboard.md)Implementation Details
"__none__"to distinguish "no affiliate" from "all affiliates"https://claude.ai/code/session_01P9xYkbn33qpk6qmz5C39s4
Summary by cubic
Add search, affiliate filtering, and client-side pagination to the organizer athletes page to improve navigation and performance on large lists. All filter, sort, search, and pagination state is URL-backed, so views are shareable.
New Features
Migration
Written for commit 3ba5314. Summary will update on new commits.