Skip to content

feat(tokens): revamped v2 currency-info layout - #1247

Open
bmc08gt wants to merge 1 commit into
code/cashfrom
feat/currency-info-revamp
Open

feat(tokens): revamped v2 currency-info layout#1247
bmc08gt wants to merge 1 commit into
code/cashfrom
feat/currency-info-revamp

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Ports the iOS currency-info revamp (code-ios-app#585) to Android's new UI. Gated on FeatureFlag.NewUi; the legacy token-info screen is untouched for the old UI. PR 1 of the two-part port (this is the layout; the Apple-Wallet card-expand animation is the follow-up).

New CurrencyInfoContentV2 (LazyColumn), top → bottom — all reusing existing components:

  • Hero bill card (TokenCard) — balance + appreciation when held, identity only when not
  • Action tiles — Give / Convert / Withdraw; a single Get when not held; USDF = Convert + Withdraw (no Give — ships separately, per iOS)
  • Recent — per-token activity preview (ActivityFeedRow), held only
  • Market Cap + chart (MarketCapSection), non-USDF
  • About — description (ExpandableText) + social chips
  • Created-at footer, non-USDF
  • Scroll-revealed leading title pill (icon + name + market cap), fades in on scroll

The screen hosts its app bar as the CodeScaffold topBar and does not apply the top inset, so content scrolls under the bar with a short soft top fade. Actions reuse existing pushes (Give sheet, Swap-buy, Withdrawal) — no buy-flow plumbing needed (buy is already pushable on Android, unlike iOS).

Data: adds a bounded per-token recent-activity query — MessageDao.observeRecentForMint, MessageDataSource.observeRecent(mint, limit), ActivityFeedCoordinator.recentTransactions(mint, limit) — surfaced as TokenInfoViewModel.State.transactions (read off IO so the page arrives in one pass).

All sizing/type via grid/staticGrid/typography/shape/color tokens, so it rescales when the grid moves to 4pt.

Verified on device (emulator)

  • Held (Jeffy): hero + appreciation, Give/Convert/Withdraw, Recent, Market Cap + chart, About + social chip, created footer; title pill reveals on scroll; content scrolls under the bar.
  • USDF (Dollars): Convert + Withdraw only, no chart, no created footer, About after Recent, no share button.
  • Not held (Denarii): single Get tile, identity card, no Recent.

Deliberate deviations from the Figma (following the iOS PR decisions)

  • USDF omits the Give tile.
  • Top-right keeps the share button (hidden for USDF), not the "…" overflow the mockups show.

Ports the iOS currency-info revamp (code-ios-app#585) to Android's new UI. Gated on
FeatureFlag.NewUi; the legacy token-info screen is untouched for the old UI.

New CurrencyInfoContentV2 (LazyColumn), top -> bottom:
- Hero bill card (reuses TokenCard) - balance + appreciation when held, identity only when not
- Action tiles - Give / Convert / Withdraw, single Get when not held; USDF is Convert + Withdraw
  (no Give - ships separately, per iOS)
- Recent - per-token activity preview (reuses ActivityFeedRow), held only
- Market Cap + chart (reuses MarketCapSection), non-USDF
- About - description (ExpandableText) + social chips
- Created-at footer, non-USDF
- Scroll-revealed leading title pill (icon + name + market cap), fades in on scroll

The screen hosts its app bar as the CodeScaffold topBar and does not apply the top inset, so
content scrolls under the bar with the app-standard soft top fade. Actions reuse existing pushes
(Give sheet, Swap-buy, Withdrawal) - no buy-flow plumbing needed (already pushable on Android).

Data: adds a bounded per-token recent-activity query - MessageDao.observeRecentForMint,
MessageDataSource.observeRecent(mint, limit), ActivityFeedCoordinator.recentTransactions(mint, limit) -
surfaced as TokenInfoViewModel.State.transactions (read off IO so the page arrives in one pass).

All sizing/type via grid/staticGrid/typography/shape/color tokens (rescales when the grid moves to 4pt).
@github-actions github-actions Bot added area: tokens Token accounts, balances, token info type: feature New functionality labels Aug 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: tokens Token accounts, balances, token info type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant