Skip to content

[FEAT]: Add the Wallet / Account screenΒ #322

Description

@grantfox-oss

πŸ“˜ Description

Add app/wallet/page.tsx β€” the user's home base: their Stellar address, USDC balance, quick
actions, and recent activity.

βœ… Acceptance Criteria

  • New route app/wallet/page.tsx.
  • New component(s) under frontend/components/wallet/ (e.g. WalletSummary.tsx).
  • Display: Stellar address via WalletBadge + copy-to-clipboard; large USDC balance; a row of
    quick-action Buttons (Send / Receive / Deposit β€” logs for now).
  • A recent activity section that reuses TransactionList
    (frontend/components/ui/transaction-list.tsx) with mock transactions.
  • Mobile-first; light + dark correct; entrance via <Reveal>.

🌎 References

  • frontend/components/ui/wallet-badge.tsx
  • frontend/components/ui/transaction-list.tsx (see app/transactions/page.tsx for its mock shape)
  • frontend/components/ui/Button/Button.tsx

πŸ“œ Additional Notes

  • Reuse TransactionList read-only β€” don't modify it.
  • Balance/address are mock strings.

Guidelines

  • Use semantic brand tokens only β€” bg-card, text-foreground, text-muted-foreground,
    bg-primary, border-border, etc. No hardcoded hex. Reference:
    docs/guidelines/colors.md.
  • Typography is Satoshi (already global) β€” no font setup needed.
  • Light + dark: build both. Test with the theme toggle (bottom-right) β€” every screen must
    look right in both themes.
  • Reuse existing components before building new ones: Button
    (frontend/components/ui/Button), WalletBadge, TransactionList, TabBar, SearchBar,
    Reveal (frontend/components/motion/reveal.tsx).
  • Motion: wrap screen content / lists in <Reveal> for a subtle entrance; it already
    honors prefers-reduced-motion.
  • Layout: mobile-first. Match existing screens β€” centered column, max-w-md, bg-background.
  • Data: mock data only (no backend). Keep mock arrays in the page file or a local mock.ts.
  • Copy: match the language of the surrounding screens (currently Spanish labels, e.g.
    "Comprar", "Transacciones"). Don't introduce a new convention.
  • Accessibility: semantic elements, aria-labels, keyboard-focusable controls.
  • Definition of done: npm run lint + npx tsc --noEmit clean; screen renders at its route
    in both themes; no changes to files outside the issue's declared scope.

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions