π 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.
π Description
Add
app/wallet/page.tsxβ the user's home base: their Stellar address, USDC balance, quickactions, and recent activity.
β Acceptance Criteria
app/wallet/page.tsx.frontend/components/wallet/(e.g.WalletSummary.tsx).WalletBadge+ copy-to-clipboard; large USDC balance; a row ofquick-action
Buttons (Send / Receive / Deposit β logs for now).TransactionList(
frontend/components/ui/transaction-list.tsx) with mock transactions.<Reveal>.π References
frontend/components/ui/wallet-badge.tsxfrontend/components/ui/transaction-list.tsx(seeapp/transactions/page.tsxfor its mock shape)frontend/components/ui/Button/Button.tsxπ Additional Notes
TransactionListread-only β don't modify it.Guidelines
bg-card,text-foreground,text-muted-foreground,bg-primary,border-border, etc. No hardcoded hex. Reference:docs/guidelines/colors.md.look right in both themes.
Button(
frontend/components/ui/Button),WalletBadge,TransactionList,TabBar,SearchBar,Reveal(frontend/components/motion/reveal.tsx).<Reveal>for a subtle entrance; it alreadyhonors
prefers-reduced-motion.max-w-md,bg-background.mock.ts."Comprar", "Transacciones"). Don't introduce a new convention.
aria-labels, keyboard-focusable controls.npm run lint+npx tsc --noEmitclean; screen renders at its routein both themes; no changes to files outside the issue's declared scope.