Skip to content

fix(withdrawal/amount): use displayLarge for amount area - #115

Merged
bmc08gt merged 1 commit into
developfrom
chore/amount-area-text-size-withdrawal
Jan 29, 2024
Merged

bmc08gt merged 1 commit into
developfrom
chore/amount-area-text-size-withdrawal

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jan 29, 2024

Copy link
Copy Markdown
Collaborator

No description provided.

Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
@bmc08gt
bmc08gt requested a review from jeffyanta January 29, 2024 15:58
@bmc08gt bmc08gt self-assigned this Jan 29, 2024
@bmc08gt
bmc08gt merged commit 6e7b9ad into develop Jan 29, 2024
@bmc08gt
bmc08gt deleted the chore/amount-area-text-size-withdrawal branch January 29, 2024 15:58
bmc08gt added a commit that referenced this pull request Nov 4, 2026
The Sent Back footer now has a full-width hairline along its top edge, per
the spec change in flipcash-client-orchestrator #115. It is the app's
standard section divider, HorizontalDivider in CodeTheme.colors.divider at
CodeTheme.dimens.border, as in GroupInviteSheet and CurrencySendScreen.

A return bubble's receiver now reads "to You". label_cashToYou ("to you")
came in with this branch and only return bubbles used it, so it is replaced
by label_cashReturnToYou rather than left unused.

SendBackBubbleScreenshotTest checks that only the two Sent Back frames draw
the divider and that the return's receiver reads "to You", and renders the
Send Back frames to build/screenshots/send_back_bubbles.png.
bmc08gt added a commit that referenced this pull request Nov 4, 2026
The footer replaced the bottom padding, so the divider sat 1-2dp under the
last line. It now sits below the padding like the Send Back row, with the
same modifier the Available and Sending states use (insetH/insetV plus
staticGrid.x1), per the spec change in flipcash-client-orchestrator #115.

SendBackBubbleScreenshotTest checks that the gap above the divider matches
the gap above the Send Back row, that the band is grid.x9, and that a Sent
Back bubble is a bare bubble plus the hairline and band.
bmc08gt added a commit that referenced this pull request Nov 4, 2026
* feat(chat): send back a DM's opening payment

The receiver of an offered cash message gets a Send Back row under the
bubble. One GetCashMessageReturnStatus call per DM open decides whether it
shows; a return in the transcript marks the original Sent Back for both
people without a call. Tapping checks the token-quark balance at today's
rate, then opens a confirm sheet or the existing insufficient-balance
modal. The swipe pays the original's fiat amount back under the server's
payment_intent_id with ReturnPayment metadata. The id stays in memory,
is held in LiveSecrets, and is only logged masked.

* feat(activity): title send-back rows and open their DM

A returned payment reads "Sent back to <Name>" or "<Name> sent back" and opens the DM it was paid in. The DM is checked first, so a chat the server no longer has opens the row's details instead of an empty chat.

* test(chat): cover Send Back rows, taps, submit and the intent id

* fix(chat): pay the Send Back amount the balance check priced

SendBackPaymentDelegate.pay read the rate again and re-priced the return,
so the token amount it sent could differ from the one the swipe's balance
check approved. It also priced through SharedStatePayment.price, which caps
at the balance, while the check priced uncapped.

pay now takes the VerifiedFiat from the swipe's check and sends it as is.

* fix(chat): size the Send Back row 44 and the Sent Back footer 36

Per the Send Back spec's sizes: the Available/Sending row drops from
grid.x12 to grid.x11. The Sent Back footer is a grid.x9 band centred along
the bubble's bottom edge, in place of the bubble's bottom padding, instead
of a caption 16 below the last line inside it.

* fix(chat): show Rate Unavailable when a Send Back can't be priced

A tap or swipe with no fresh rate, or before the quark balance has
loaded, now shows "Rate Unavailable" instead of "Couldn't Send Back",
which stays for a failed submit. These taps reach neither the sheet nor
the insufficient-balance modal, so they no longer send Send Back: Tapped.

The balance check compares quarks only. The fiat comparison it fell back
to before the balance loaded could pass a balance just short of the
return, so that case now counts as undetermined.

* fix(chat): divide the Sent Back footer and capitalize "to You"

The Sent Back footer now has a full-width hairline along its top edge, per
the spec change in flipcash-client-orchestrator #115. It is the app's
standard section divider, HorizontalDivider in CodeTheme.colors.divider at
CodeTheme.dimens.border, as in GroupInviteSheet and CurrencySendScreen.

A return bubble's receiver now reads "to You". label_cashToYou ("to you")
came in with this branch and only return bubbles used it, so it is replaced
by label_cashReturnToYou rather than left unused.

SendBackBubbleScreenshotTest checks that only the two Sent Back frames draw
the divider and that the return's receiver reads "to You", and renders the
Send Back frames to build/screenshots/send_back_bubbles.png.

* fix(chat): put the Sent Back footer below the bubble's bottom padding

The footer replaced the bottom padding, so the divider sat 1-2dp under the
last line. It now sits below the padding like the Send Back row, with the
same modifier the Available and Sending states use (insetH/insetV plus
staticGrid.x1), per the spec change in flipcash-client-orchestrator #115.

SendBackBubbleScreenshotTest checks that the gap above the divider matches
the gap above the Send Back row, that the band is grid.x9, and that a Sent
Back bubble is a bare bubble plus the hairline and band.

* fix(chat): grow the Send Back footer in when it arrives after the bubble

The return state can load after the transcript draws. The bubble then drew
bare and jumped taller in one frame when the Send Back row or Sent Back
footer landed (on a Pixel 7a, 345px to 466px; the width stayed 623px).

The footer now sits in an AnimatedVisibility on ChatAnimations.receiptEnter,
the transcript's reflow spring. A footer known when the bubble first
composes starts visible and draws with no animation.

SendBackBubbleScreenshotTest adds a width check for the row and footer,
a mid-animation height check for each late arrival, and a first-frame
check for a footer known up front.

* fix(chat): animate every late height change on a cash bubble

A cash bubble that had already drawn jumped when its counterpart line and
token icon arrived (345 to 403px in one frame on a Pixel 7a), and when a Send
Back row gave way to Sent Back after a return. The content column now runs
animateContentSize on ChatAnimations' reflow spring, so any late line moves the
height. The first measure is taken as is, so state known at first draw is
there at full height.

The footer no longer expands itself, which would have animated its height
twice; it fades in on the reflow spring when it arrives or changes late. The
bubble's inset moves inside the animated column in every state, so a row
arriving adds only its own height instead of dipping the bubble first.

New tests in SendBackBubbleScreenshotTest for a late counterpart line and for
the row-to-Sent Back swap failed before this change: the height was already at
its final value (153.5dp and 199.5dp) mid-animation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant