Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR introduces a full search and filter experience for the "all tournaments" page, adding free-text search (debounced), rated/unrated selector, multi-select comboboxes for formats/types/statuses, and a collapsible filter panel on mobile. It also introduces two new reusable UI primitives ( Previous review feedback has been addressed: the Key areas of note:
Confidence Score: 3/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant U as User (Browser)
participant C as TournamentsAllList
participant F as useTournamentsFilters
participant Q as useTournaments (React Query)
participant T as tRPC tournament.all
participant S as getAllTournaments (Server Cache)
participant DB as SQLite DB
U->>C: type in SearchInput / select filter
C->>F: setSearch / setRated / setFormats / setTypes / setStatus
F-->>C: updated search + queryFilter
Note over C: useDebounce(search, 300ms)
C->>Q: useTournaments(queryFilterWithDebounce)
Q->>T: tournament.all({ search, rated, formats, types, statuses, cursor })
T->>S: getAllTournaments({ limit, cursor, filter })
Note over S: 'use cache' — cacheTag(ALL_TOURNAMENTS)
S->>DB: SELECT … WHERE like(title) OR like(club.name) AND eq(rated) AND inArray(format/type) AND status conditions
DB-->>S: results
S-->>T: { tournaments, nextCursor }
T-->>Q: paginated response
Q-->>C: tournaments pages
C-->>U: renders TournamentItemIteratee list
Last reviewed commit: 5ce24d6 |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptile |
Uh oh!
There was an error while loading. Please reload this page.