Repository navigation
fix: usdt amount keypad sits above continue - #1636
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Superseded: af98a0d changed the layout to match the Bitcoin amount screen (see the description's Preview); the checks below covered the earlier layout. QA on an Android 16 emulator (1080×2400, 420 dpi), regtest debug build of this branch:
Not driven: the Paykit request Amount step paid in USDT (see Manual Tests); it uses the same layout code. |
[Medium impact] The PR appears safe to merge; no actionable defects were found. SummaryUpdates both USDT amount screens to place the controls above the keypad and Continue directly below it.
No actionable issues were found. Android rendering and device tests were not run. Reviews (1) · Last reviewed commit: "fix: keep continue reachable on compact ..." · Reviewed by Greptile |
Regtest APKDownload bitkit-dev-debug universal APK (expires in 30 days). |
talosmachina
left a comment
There was a problem hiding this comment.
No findings. Puts the USDT amount keypad edge to edge directly above Continue, centres the amount in the free space above it, and lets the step scroll on short screens; moves bleedHorizontal to a shared modifier. Reviewed 33a0509, full tier.
What I checked, and 4 candidates I ruled out
Read in full: UsdtSendContent.kt (UsdtAmountContent, UsdtPaymentContent padding), SendAmountScreen.kt (SendAmountNodeRunning), NumberPad.kt (key height from availableHeight), BleedHorizontal.kt, WidgetSizeCarousel.kt
CI: lint, detekt, build, build-local green; e2e running
Build: Bitkit track: the branch was not built here (Android branches are not built on this box, iOS does not build on Linux), so this review is reasoned from the code and from CI.
Ruled out
- Bitcoin amount step changed: the scroll and the two fills apply only when
paykitUsesUsdt; the Bitcoin path keepsFillHeight(min = 12.dp)and the old keypad call. - Keypad loses its height source:
NumberPadgets no fixed height inside the scroll, so it takes(maxHeight * 0.4 / 4)clamped to its min and ideal key heights, and the whole step scrolls when that still does not fit. - Bleed overshoots the sheet: both callers sit in a column with 16 dp horizontal padding, and the modifier reports the parent width while placing the wider content at -16 dp.
- Widget carousel regression: the moved modifier body is byte-for-byte the old private one.
Merge confidence: 4/5, e2e had not finished; the change is layout covered by the updated journey, not a unit test.
jvsena42
left a comment
There was a problem hiding this comment.
Code scan at 33a0509: no issues found.
- Layout: the amount is centred between flexible spacers. The keypad's key height comes from the available height, clamped to 50–75, and Continue stays below it.
- Bitcoin path unchanged: on Android the scroll fallback applies only when the Paykit amount step is paid in USDT.
- Edge-to-edge keypad: the 16 dp bleed is not clipped, and the moved modifier body is unchanged.
- Untouched: Back, insets and nav-bar padding.
- Parity: Android adds a scroll fallback for short screens with large text. iOS keeps its fixed layout, which is 32 pt shorter than before, so the SE plus largest Dynamic Type case is no worse than master. I'll raise it only if the device run shows Continue clipped. See synonymdev/bitkit-ios#1061.
- Journeys:
usdt-send-review-and-details.xmlupdated, identical across both repos.
Device gate (partial): 33a0509 — not run yet. Pending:
- keys 1 and 3 reach the screen edges, and the outer 16 dp of key 1 takes taps;
- the gap from the keypad to Continue;
- a short screen with large text, scrolled to Continue;
- the same on the Paykit Amount step paid in USDT.
Device results will follow in a separate review.
jvsena42
left a comment
There was a problem hiding this comment.
Device gate (partial): 33a0509 — not run. The USDT fixture went down (Docker stopped on a full disk) before this PR's turn on the Android lane, and the pass is paused. Pending:
- keypad edge to edge, edge taps and the gap to Continue;
- font scale 1.3 on a short display;
- the Paykit Amount step paid in USDT.
The iOS twin's layout checks passed on synonymdev/bitkit-ios#1061.
|
I recommend matching the existing on-chain and Lightning send amount layout rather than introducing a separate layout for USDT. Fixing the floating keypad makes sense, but this PR also changes the amount positioning, keypad width and key sizing, and adds a 16 dp gap above Continue. Those differences are not necessary to fix the original issue. Please keep the same amount placement, keypad sizing, horizontal insets and spacing above Continue as the Bitcoin screens. USDT’s extra controls can wrap where needed, and the small-screen scrolling fallback can stay. If we want to redesign the amount layout, that should be a consistent change across all three flows rather than USDT alone. |
@pwltr done in af98a0d. Both USDT amount screens (the USDT wallet's Send and the Paykit request Amount paid in USDT) now use the Bitcoin screen's layout: the amount at the top, a flexible gap of at least 12 dp, the controls bar, the keypad sized from the step's height with the 16 dp insets, and Continue directly below the keypad. The centred amount, the edge-to-edge keypad, the 40% key sizing and the 16 dp gap above Continue are gone, and A redesign toward the Figma frame (the amount centred, an edge-to-edge keypad) is listed under Out of Scope as a change for all three amount flows. @jvsena42 your device results here covered the earlier layout. |
Closes #1627
Twin: synonymdev/bitkit-ios#1061
This PR moves the USDT Amount step's keypad down so it sits right above Continue, as on the Bitcoin amount screen. The amount stays at the top, the free space sits between the amount and the controls bar, and the keypad keeps the Bitcoin screen's sizing and 16 dp side insets.
Description
usdt-send-review-and-details.xml, which asserted the old 32-point gap.Out of Scope
SendAmountScreen.ktbitcoin branch and the other numpad screens: unchanged.Design
Bitkit - Refactor v63 › Send (USDT) › Amount USDT. This PR follows the Bitcoin amount screen's layout rather than the frame's centred amount and edge-to-edge keypad, so the three amount screens stay consistent.
Preview
QA Notes
Journeys
usdt-send-review-and-details.xml— the amount sits at the top, the controls sit right above the keypad and Continue sits right below it, as on the Bitcoin Amount screenManual Tests
journeys/payment-requests/README.mdpublishes Bitcoin endpoints only; a request paid in USDT on Arbitrum needs an issuer that publishes a USDT endpointAutomated Checks
N/A