📋 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
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. 🚀
📋 Description
The transaction history surfaces live at
app/transactions/page.tsxandapp/dashboard/transaction-history/page.tsx, which already includes atransaction-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.🎯 Requirements & Context
Functional requirements
search inputand filter by recipient/hash/amount.TransactionHistoryItem.WidgetEmptyState.Context & constraints
status-semanticsfor status badges.🛠️ Suggested Execution
lib/utils/pagination.ts), special characters in search, reduced motion, mobile table-vs-card density.aria-live.Example commit message
✅ Acceptance Criteria & Guidelines
💬 Community & Support
Join the RemitWise contributor community on Discord: https://discord.gg/CtQuPZFMA
Comment to claim before starting. 🚀