Repository navigation
[Bug]: Request amount layout differs from Figma and BTC/USD selection is ambiguous #974
Description
What happened?
The payment-request amount entry used from Subscriptions differs between Android and iOS and from the Figma reference. The combined screenshot shows iOS on the left and Samsung Android on the right.
The dollar amount is centered rather than left-aligned. A large flexible blank area separates it from the BTC/USD controls above the keypad, making the amount section disproportionately tall. The horizontal divider shown above the keypad in Figma is absent in the supplied screenshot.
With USD selected (the main amount displays $0), BTC is unselected but has a prominent orange outline and label. USD is filled dark gray with teal text. This makes BTC appear selected and USD appear inactive. The same confusing convention appears on both platforms; it is a visual clarity problem, not evidence that the stored selection is reversed.
Expected behavior
- Follow the reference amount-entry structure: leading-aligned amount near the header, compact amount/actions block, trailing-aligned controls below it, then a divider and keypad. Avoid the oversized empty gap observed on iOS and align the corresponding Android layout.
- Make the selected denomination unmistakable on both platforms; do not rely on the current filled-versus-outline treatment alone. Confirm the final selector design with design before implementing a replacement.
- Preserve the distinction between request denomination (BTC / USD) and accepted settlement methods (including USDT). The screenshot control says USD, not USDT.
Steps to Reproduce
- Open Subscriptions and start creating a request/subscription for a contact.
- Open its Amount entry sheet.
- Select USD.
- Compare the amount alignment, spacing, control placement and selected/unselected styling with the supplied cross-platform screenshot and linked Figma frames.
Logs / Screenshots / Recordings
Visual evidence and static source inspection; no new device run or payment was performed for this report.
Bitkit Version
3.0.0 RC2 (200)
Device / OS
iPhone 13; iOS version not captured in this report
Reproducibility
Observed in the supplied manual-test screenshot; layout and styling are deterministic for this state in the reviewed RC2 source. Frequency across other sizes and OS versions has not been measured.
Additional context
Figma references (inspected 2026-10-16):
- Handoff v62 — Request payment enter amount: amount left-aligned near the top, trailing currency switch, divider above keypad.
- Refactor v63 — Request payment enter amount: compact amount/actions block, trailing Savings dropdown and separate BTC currency switch, divider above keypad.
Dropdown clarification: v63 identifies its controls as Savings dropdown and Currency switch Savings. The dropdown is for the funding source; this frame does not specify a BTC/USD denomination dropdown or the exact two-option selector currently shipped. Treat selected-state styling as a design clarification / usability defect, not a proven inversion of a Figma selected variant. These request frames are the closest verified references; the screenshot flow originates in Subscriptions.
Implementation findings: CreatePaymentRequestView.swift, shared PaymentRequestAmountView: NumberPadAmountText is followed by Spacer(), then a trailing HStack for the controls, so spare vertical space opens between the amount and controls. It assigns primary to the selected asset and secondary to the unselected asset; NumberPadActionButton renders secondary with a colored outline and primary with a dark gradient. The USD amount view has no explicit leading alignment in this container.
Companion report: synonymdev/bitkit-android#1533. Both platforms have the same confusing selection treatment and their own layout discrepancies. No production code changes are included.
Activity