Skip to content

Replace mock pass data with paginated, filterable data fetching on /passes #285

Description

@Lakes41

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

  • Passes list paginates in fixed-size pages
  • Filtering by status and guild works and updates the URL
  • Search filters by pass name/ID
  • No regression in existing passes page tests/build

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSGrantFox Open Source Sponsorship program tagMaybe RewardedIssue may qualify for a reward upon successful completion per campaign rulesOfficial Campaign | FWC26Official FWC26 campaign issue — eligible for campaign scoring and rewardsfeatureNew feature, enhancement, or functional additionintermediateIntermediate difficulty tasks requiring solid experience and some context

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions