Skip to content

Improve the transaction history filters, search, and grouping on /transactions #476

@Baskarayelu

Description

@Baskarayelu

📋 Description

The transaction history surfaces live at app/transactions/page.tsx and app/dashboard/transaction-history/page.tsx, which already includes a transaction-history-search-input. The history API exists (Transaction History and Status API). Filtering by status/type/date and grouping by date are either missing or incomplete, and there's no debounced search.

Why this matters: as remittances accumulate, an unfiltered, ungrouped list becomes unusable. Families need to find "did last month's school-fee bill go through?" quickly.

🎯 Requirements & Context

Functional requirements

  • Add status/type filters and a date-range filter to the transactions view.
  • Debounce the search input and filter by recipient/hash/amount.
  • Group results by date (Today / Yesterday / earlier) using TransactionHistoryItem.
  • Add empty/no-results state via WidgetEmptyState.

Context & constraints

  • Reuse the status-semantics for status badges.
  • Keep the dashboard and standalone views consistent.

🛠️ Suggested Execution

git checkout -b feat/transactions-filters-search
  • Add filters/search/grouping/empty state, add TSDoc.
npm run lint
npx tsc --noEmit
npm run test:coverage
npm run build
  • Edge cases: no matches, very large lists (consider pagination via lib/utils/pagination.ts), special characters in search, reduced motion, mobile table-vs-card density.
  • a11y: filters labelled; results count announced via aria-live.
  • i18n: externalize filter labels and date group headers.

Example commit message

feat(transactions): add filters, debounced search, and date grouping

Adds status/type/date filters, debounced recipient/hash search, and
Today/Yesterday grouping with a no-results state.

✅ Acceptance Criteria & Guidelines

Requirement Target
Filters + debounced search + grouping Required
No-results empty state Required
Accessibility (labels, aria-live) Required
Responsive + i18n Required
Lint + typecheck + build clean Required
Timeframe 96 hours from assignment

💬 Community & Support

Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA

Comment to claim before starting. 🚀

Metadata

Metadata

Labels

GRANTFOX OSSGrantFox OSS campaignMAYBE REWARDEDGrantFox OSS campaignOFFICIAL CAMPAIGNGrantFox OSS campaignenhancementFeature enhancementformsRemitWise frontend designfrontendRemitWise frontend designui-uxUI/UX design task
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions