Skip to content

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

Open
bmc08gt wants to merge 3 commits into
feat/haze-appbar-actionsfrom
feat/currency-info-revamp
Open

feat(tokens): revamped v2 currency-info layout#1247
bmc08gt wants to merge 3 commits into
feat/haze-appbar-actionsfrom
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; legacy screen untouched. PR 1 of the two-part port (layout; the Apple-Wallet card-expand animation is the follow-up).

Stacked on #1249 (the reusable frosted app-bar chrome), which it consumes.

New CurrencyInfoContentV2 (LazyColumn), reusing existing components:

  • Hero TokenCard (balance + appreciation when held, identity only when not)
  • Action tiles — Give / Convert / Withdraw; single Get when not held; USDF = Convert + Withdraw (no Give, per iOS)
  • Recent (ActivityFeedRow, held only) · Market Cap + chart (MarketCapSection, non-USDF) · About (ExpandableText + social chips) · created footer
  • Scroll-revealed leading title pill (icon + name + market cap)

Chrome / scroll: the app bar is an overlay (chat-style) — content fills behind it as the haze source, inset by the measured bar height, with a bg→transparent scrim for a soft top fade; back / pill / share are frosted liquid glass over the scrolling content (via #1249's optional hazeState). Matches the iOS reference.

Actions reuse existing pushes (Give sheet, Swap-buy, Withdrawal) — no buy-flow plumbing needed. Data: adds a bounded per-token recent-activity query (MessageDao / MessageDataSource / ActivityFeedCoordinator) → TokenInfoViewModel.State.transactions (read off IO). All sizing via grid/type/shape/color tokens.

Verified on device

Held / USDF / not-held all correct; frosted chrome + card scrolling under the glass matches the reference; USDF drops Give/chart/created/share.

@github-actions github-actions Bot added area: tokens Token accounts, balances, token info type: feature New functionality labels Aug 17, 2026
Ports the iOS currency-info revamp (code-ios-app#585) to Android's new UI (gated on
FeatureFlag.NewUi; legacy screen untouched). Hero card, action tiles (Give/Convert/Withdraw,
single Get when not held, USDF = Convert/Withdraw), per-token Recent, Market Cap + chart,
About, created footer, and a scroll-revealed title pill.

The app bar is an overlay (chat-style): content fills behind it as the haze source, inset by
the measured bar height, with a bg->transparent scrim; back/pill/share are frosted liquid glass
(via the optional hazeState on the app-bar chrome). Adds a bounded per-token recent-activity
query (MessageDao/MessageDataSource/ActivityFeedCoordinator) surfaced as
TokenInfoViewModel.State.transactions. All sizing via grid/type/shape/color tokens.
@bmc08gt
bmc08gt force-pushed the feat/currency-info-revamp branch from 72abc44 to 2c8cd3c Compare August 17, 2026 11:51
@bmc08gt
bmc08gt changed the base branch from code/cash to feat/haze-appbar-actions August 17, 2026 11:51
Replaces the onSizeChanged/measured overlay with a SubcomposeLayout (OverlayTopBarScaffold)
that measures the app bar BEFORE the content in the same layout pass, so the hero card gets the
correct top inset on the very first frame instead of settling on frame 2. Mirrors the chat
screen's ChatInputScaffold (top-bar only). The scrim height is kept off the content inset so it
can't shift the content on a later frame.
@bmc08gt
bmc08gt force-pushed the feat/currency-info-revamp branch from b0fbdd7 to 3d36767 Compare August 17, 2026 12:57
…pp bar

The scrim spanned the full app-bar height, washing content out across the whole bar. Scope it to
the status-bar strip plus half the app-bar row, so the hero card dims as it scrolls up behind the
frosted chrome (matching iOS) and stays vibrant below the bar's midline. The app bar is measured on
its own (status bar excluded) so scrim = statusBar + appBar/2. The scrim never grows the content
inset (the scaffold measures the full bar), so there's no jump.
@bmc08gt
bmc08gt force-pushed the feat/currency-info-revamp branch from 3d36767 to 60400d3 Compare August 17, 2026 13:01
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