Skip to content

[FE-98] Transfers page is 100% hardcoded mock data with non-functional Approve/Reject buttons #1293

Description

@yusuftomilola

Overview

frontend/app/(dashboard)/transfers/page.tsx renders a mockTransfers array literal defined inside the component — it never calls the real /transfers API, and the Approve/Reject <button> elements have no onClick handlers at all, so clicking them does nothing. It also doesn't use the app's shared Button/Table/StatusBadge components, instead using raw inline style={{...}} objects, unlike every other data page in the app.

Tasks

  • Add lib/api/transfers.ts (see [FE-101]) and wire the page to React Query against the real backend endpoints.
  • Wire Approve/Reject buttons to actually call approve/reject, with optimistic UI and error handling consistent with other mutations in the app.
  • Replace the inline-styled markup with the shared components/ui/table.tsx, button.tsx, and components/assets/status-badge.tsx (or an equivalent transfer-status badge) for visual and behavioral consistency with the rest of the dashboard.

Acceptance Criteria

  • The transfers page reflects real backend data, not a hardcoded array.
  • Clicking Approve/Reject actually calls the backend and updates the UI.
  • The page uses the app's shared UI components.

Dependencies

Pairs with [BE-117] (approve doesn't move the asset) and [BE-118] (dead transfer states) on the backend side.

Notes for Contributors

Comment below to be assigned.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbugSomething isn't workingfrontend

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions