Skip to content

feat(v2): card-style add-money method rows - #1226

Merged
bmc08gt merged 2 commits into
code/cashfrom
feat/v2-purchase-method-cards
Aug 12, 2026
Merged

feat(v2): card-style add-money method rows#1226
bmc08gt merged 2 commits into
code/cashfrom
feat/v2-purchase-method-cards

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Redesigns the "Add Money With" purchase-method sheet for v2 as card rows — title + subtitle + trailing icon — instead of the v1 filled buttons (per Figma 8966-2140).

  • BottomBarAction gains an optional content: @Composable RowScope.() -> Unit slot. When set, BottomBarView renders it as a full-width card row (own surface, ripple, click) rather than a centered CodeButton. Existing text/inline-icon actions are untouched.
  • Buttons.kt builds the cards — Debit Card / Cash Reserves / Phantom / Other Wallet — when FeatureFlag.NewUi is on, gated via a FeatureFlagController injected into InternalPurchaseMethodController (which also titles the sheet "Add Money With"). The v1 buttons are unchanged. Reserves is preserved (it can appear in the Buy/swap flow where showReserves defaults true).
  • Icons: Debit Card → Google Pay mark (its "Pay" wordmark recoloured white); Phantom → ghost; Other Wallet → the exact Figma QR export (ic_qr_code.xml, node 8965:5247). All 32dp; monochrome glyphs tinted white.

Also includes a nav-layout fix (separate commit): the tab bar no longer hides for BottomBar modals — that hiding collapsed the scaffold's bottom slot and re-laid-out the wallet, visibly re-fanning the collapsing card stack when Add Money opened. The modal scrim covers the bar via z-order; the bar still hides for a presented bill.

Test Plan

  • :libs:messaging, :ui:components, :shared:funding, and the full app compile; :shared:funding unit tests pass; installed on emulator.
  • On device: Add Money shows the card rows (correct icons, white GPay "Pay", tinted glyphs); tapping each routes correctly; the wallet card stack stays collapsed when the modal opens; v1 (NewUi off) still shows the filled buttons.

Notes

  • Card surface is White10 + shapes.medium; the content-slot approach keeps the card layout in the funding module and the shared renderer change minimal.

The nav bar hid whenever a BottomBar message showed, which collapsed the
scaffold's bottom slot and re-laid-out the tab content beneath — visibly
re-fanning the wallet's collapsing card stack when the Add Money modal opened.
The modal's scrim already covers the bar via z-order, so the bar no longer needs
to hide for modals; it now only hides for a presented bill/tip card.
Redesign the 'Add Money With' purchase-method sheet for v2 as card rows —
title + subtitle + trailing icon — instead of the v1 filled buttons.

- BottomBarAction gains an optional `content` slot; when set, BottomBarView
  renders it as a full-width card row (own surface, ripple, click) rather than a
  centered text button. No impact on existing actions.
- Buttons.kt builds the cards (Debit Card / Cash Reserves / Phantom / Other
  Wallet) when NewUi is on, gated via a FeatureFlagController injected into the
  controller, which also titles the sheet 'Add Money With'. v1 buttons unchanged.
- Icons: Debit Card -> Google Pay mark (with the 'Pay' wordmark recoloured
  white), Phantom -> ghost, Other Wallet -> the exact Figma QR export
  (ic_qr_code); all sized 32dp, monochrome glyphs tinted white.
@github-actions github-actions Bot added type: feature New functionality area: ui Compose UI, theme, components, resources area: notifications Push notifications, in-app messaging labels Aug 12, 2026
@bmc08gt
bmc08gt merged commit 869b8a1 into code/cash Aug 12, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the feat/v2-purchase-method-cards branch August 12, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: notifications Push notifications, in-app messaging area: ui Compose UI, theme, components, resources type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant