Skip to content

Build out the Emergency Transfer page (app/emergency-transfer/page.tsx) beyond the placeholder with a confirm-guarded flow #463

@Baskarayelu

Description

@Baskarayelu

📋 Description

app/emergency-transfer/page.tsx is still a placeholder, while a fully designed EmergencyTransferModal is already opened from the Send review step in app/send/page.tsx. A dedicated Emergency Transfer API exists per the backend issues (Emergency Transfer API (Build Tx and Flag)), and there is a flow store at lib/anchor/flow-store.ts.

This issue turns the placeholder into a real, deliberately friction-added emergency transfer flow.

Why this matters: emergency transfers move money fast under stress. The flow must be one-tap discoverable but safe — clear amount, recipient confirmation, and an explicit "this is an emergency transfer" acknowledgement.

🎯 Requirements & Context

Functional requirements

  • Replace the placeholder with a real page: recipient, amount, and an explicit emergency confirmation step.
  • Reuse the recipient validation pattern from RecipientAddressInput.
  • Add a confirmation guard (typed/double confirm) before submission, with clear risk messaging.
  • Surface pending/success/error via ToastContext and AsyncSubmissionStatus.

Context & constraints

  • Keep the EmergencyTransferModal and the new page consistent (shared copy/components).
  • Match the dark theme and existing button system.

🛠️ Suggested Execution

git checkout -b feat/emergency-transfer-page
  • Build the page, add confirm guard, wire states, add TSDoc + page docs.
npm run lint
npx tsc --noEmit
npm run build
npm run test:e2e
  • Edge cases: invalid recipient, zero amount, user cancels at confirm, slow/failed submit, reduced motion, mobile.
  • a11y: confirmation must be keyboard-operable; risk message announced.
  • i18n: externalize risk/confirmation copy.

Example commit message

feat(emergency): real emergency transfer page with confirm guard

Replaces the placeholder with recipient + amount + explicit emergency
acknowledgement, reusing RecipientAddressInput validation.

✅ Acceptance Criteria & Guidelines

Requirement Target
Placeholder replaced with real flow Required
Confirmation guard before submit Required
Pending/success/error states Required
Accessibility + 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

Assignees

Labels

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions