Skip to content

feat(cash): move Give to the left-aligned amount header - #1357

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/give-left-aligned-amount
Aug 28, 2026
Merged

feat(cash): move Give to the left-aligned amount header#1357
bmc08gt merged 3 commits into
code/cashfrom
feat/give-left-aligned-amount

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Give still drew the centred v1 amount field with its currency flag, while Buy and Convert had already moved to the left-aligned display-extra-large header. Node 9641:16762 puts Give on the same header, so this turns on AmountEntryScreen's largeHeader and states the ceiling as "$X available", the way Convert and the v2 Get do.

The v2 header carries no flag, so tapping the amount no longer opens region selection — canChangeCurrency now says as much, and changing currency is still reachable from the wallet balance. The over-max line stays give-specific: the cap is the lower of the balance and the per-transaction send limit, and "available" alone wouldn't explain a limit-bound cap. The orphaned subtitle_giveCashHint string goes with it.

Two things surfaced while working through the flow end to end:

The success checkmark was never drawn. Confirming an amount dispatched the success state and the bill on the same frame, so the button went from spinner straight to the bill overlay. It now goes through dispatchSuccessThen, holding for SuccessHoldDuration first — the same beat the username, name and photo screens already wait.

The bill appeared over the "Send as a Link" and "Cancel" pills. The bill's bottom inset is the management row's measured height, which only arrives a frame after the bill composes. Animating that first 0 -> measured change put the card half its own inset too low, held it there for the 450ms animation delay, then slid it up over another 450ms. Only the tip card needs the inset animated — it moves in lockstep with the tip modal sliding up — so everywhere else it now snaps, landing while the enter spring is still carrying the card up from off-screen. Recorded at 15fps on an emulator: before, the card moves between frames 39 and 45; after, it is at its final position from the first frame it is visible. The tip card's full-screen present is unchanged.

Give still drew the centred v1 amount field with its currency flag while Buy
and Convert had moved to the left-aligned display-extra-large header. Node
9641:16762 puts Give on the same header, so turn on AmountEntryScreen's
largeHeader and state the ceiling as "$X available" the way Convert and the
v2 Get do.

The v2 header carries no flag, so tapping the amount no longer opens region
selection — canChangeCurrency now says as much, and changing currency is still
reachable from the wallet balance. The over-max line stays give-specific: the
cap is the lower of the balance and the per-transaction send limit, and
"available" alone wouldn't explain a limit-bound cap.
Confirming an amount dispatched the success state and the bill on the same
frame, so the button went from spinner straight to the bill overlay and the
checkmark was never drawn. dispatchSuccessThen holds it for SuccessHoldDuration
first — the same beat the username, name and photo screens already wait.
The bill's bottom inset is the management row's measured height, which only
arrives a frame after the bill composes. Animating that first 0 -> measured
change put the card half its own inset too low, so it appeared with the
"Send as a Link" and "Cancel" pills over its bottom edge, held there for the
450ms animation delay, then slid up over another 450ms.

Only the tip card needs the inset animated: it moves in lockstep with the tip
modal sliding up. Everywhere else the inset now snaps, which lands while the
enter spring is still carrying the card up from off-screen.

Recorded Give at 15fps on an emulator: before, the card moves between frames 39
and 45; after, it is at its final position from the first frame it is visible
and stays there. The tip card's full-screen present is unchanged.
@bmc08gt bmc08gt self-assigned this Aug 28, 2026
@github-actions github-actions Bot added type: feature New functionality area: payments Payments, transfers, intents, billing and removed type: feature New functionality labels Aug 28, 2026
@bmc08gt
bmc08gt merged commit d95c310 into code/cash Aug 28, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: payments Payments, transfers, intents, billing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant