Difficulty: Intermediate
Type: feature
Background
The /passes route currently reads directly from apps/dashboard/lib/mock-data.ts with no pagination or filtering, which won't scale once real data sources are wired in.
Problem
All passes are loaded and rendered client-side in a single pass, with no way to filter by pass type, status (active/expired/revoked), or guild, and no pagination controls.
Expected outcome
The passes table supports server-side-style pagination (even against mock data, structured to be backend-ready), plus filter controls for status and guild, and a search box for pass name/ID.
Suggested implementation
- Add a
getPasses({ page, pageSize, status, guildId, query }) function in apps/dashboard/lib/mock-data.ts that filters/paginates the mock array.
- Add pagination UI (prev/next + page size selector) to the passes table component.
- Add filter dropdowns and a debounced search input above the table.
- Keep filter state in the URL query string so filtered views are shareable.
Acceptance criteria
Likely affected files/directories
apps/dashboard/lib/mock-data.ts
apps/dashboard/app/passes/ (or equivalent passes route/components)
packages/integration-client (if pass types need extending)
Difficulty: Intermediate
Type: feature
Background
The
/passesroute currently reads directly fromapps/dashboard/lib/mock-data.tswith no pagination or filtering, which won't scale once real data sources are wired in.Problem
All passes are loaded and rendered client-side in a single pass, with no way to filter by pass type, status (active/expired/revoked), or guild, and no pagination controls.
Expected outcome
The passes table supports server-side-style pagination (even against mock data, structured to be backend-ready), plus filter controls for status and guild, and a search box for pass name/ID.
Suggested implementation
getPasses({ page, pageSize, status, guildId, query })function inapps/dashboard/lib/mock-data.tsthat filters/paginates the mock array.Acceptance criteria
Likely affected files/directories
apps/dashboard/lib/mock-data.tsapps/dashboard/app/passes/(or equivalent passes route/components)packages/integration-client(if pass types need extending)