diff --git a/Bitkit/Views/PaymentRequests/CreatePaymentRequestView.swift b/Bitkit/Views/PaymentRequests/CreatePaymentRequestView.swift
index 24a34f99f..5f343e3e6 100644
--- a/Bitkit/Views/PaymentRequests/CreatePaymentRequestView.swift
+++ b/Bitkit/Views/PaymentRequests/CreatePaymentRequestView.swift
@@ -348,21 +348,20 @@ struct PaymentRequestAmountView: View {
}
}
- Spacer().frame(height: 16)
+ Spacer(minLength: 12)
amountControls(showUnit: allowedAssets.contains(.btc))
.hidden()
.overlay(alignment: .topTrailing) {
amountControls(showUnit: asset == .btc)
}
- .padding(.bottom, 16)
+ .padding(.bottom, 12)
if conversionError {
BodySText(t("wallet__payment_request_rate_unavailable"), textColor: .white64)
}
CustomDivider()
.accessibilityIdentifier("\(testIdentifierPrefix)AmountDivider")
- Spacer(minLength: 16)
NumberPad(
type: asset == .usd ? .decimal : amountViewModel.getNumberPadType(currency: currency),
errorKey: amountViewModel.errorKey
@@ -380,8 +379,6 @@ struct PaymentRequestAmountView: View {
}
}
- Spacer(minLength: 24)
-
CustomButton(title: t("common__continue"), isDisabled: !allowedAssets.contains(asset) || (amount?.atomic ?? 0) == 0) {
guard allowedAssets.contains(asset), let amount else { return }
onContinue(
@@ -667,7 +664,7 @@ struct PaymentRequestSentView: View {
Image("check")
.resizable()
.aspectRatio(contentMode: .fit)
- .frame(width: 256, height: 256)
+ .frame(maxWidth: UIScreen.main.bounds.width * 0.8, maxHeight: UIScreen.main.bounds.width * 0.8)
.frame(maxWidth: .infinity)
Spacer(minLength: 8)
@@ -676,14 +673,16 @@ struct PaymentRequestSentView: View {
.padding(.bottom, 8)
BodyMText(description, textColor: .white64)
- .padding(.bottom, 16)
+ .padding(.bottom, 32)
+
+ CaptionMText(t("wallet__payment_request_recipient").localizedUppercase, textColor: .white64, lineHeight: 18)
+ .padding(.bottom, 8)
PaymentRequestCard(
request: request,
isHighlighted: false
)
-
- Spacer(minLength: 32)
+ .padding(.bottom, 16)
CustomButton(title: t("common__ok")) {
sheets.hideSheet(reason: "Payment request created")
diff --git a/changelog.d/next/1138.fixed.md b/changelog.d/next/1138.fixed.md
new file mode 100644
index 000000000..d7b2e84c9
--- /dev/null
+++ b/changelog.d/next/1138.fixed.md
@@ -0,0 +1 @@
+Payment request amount entry keeps the number pad above Continue, and the Payment Requested sheet keeps OK at the bottom with the recipient above it.
diff --git a/journeys/paykit-amount-layout.xml b/journeys/paykit-amount-layout.xml
index 4053d110e..df74405ae 100644
--- a/journeys/paykit-amount-layout.xml
+++ b/journeys/paykit-amount-layout.xml
@@ -2,7 +2,7 @@
Use an onboarded wallet with USDT enabled, an existing test contact and a current BTC/USD rate. Verify request denomination layout without sending or publishing a request.
Open Payment Requests and create a request for the test contact. Open Amount.
- Use the denomination toggle to select USD and enter 1.50. Verify the amount is leading-aligned near the header, the denomination toggle is trailing-aligned directly below it, and a divider separates them from the keypad.
+ Use the denomination toggle to select USD and enter 1.50. Verify the layout matches the Send amount screen: the amount is leading-aligned near the header, spare space sits below it, and the trailing-aligned denomination toggle, the divider, the keypad and Continue sit at the same height and position as on Send.
Use the single denomination toggle to switch between BTC and USD several times. Verify the Bitcoin unit control is shown only in BTC. Verify the amount controls, divider and keypad stay at the same vertical positions, including when the Bitcoin unit button wraps below the denomination toggle at enlarged text sizes.
Verify every keypad key remains legible and tappable on a short screen at enlarged text sizes, including zero, decimal/000 and Delete. Scroll as needed to reach all keys and Continue. Continue to details and verify the request denomination and amount remain 1.50 USD. Cancel without sending.
Open Subscriptions and start creating a subscription for the same contact. Select USDT before opening Amount. Starting from zero, enter 1.50 without deleting first. Continue and verify the subscription amount is 1.50 USD. Reopen Amount and verify the existing cents are preserved. Repeat the layout check in BTC and USD. Verify the controls do not overlap the keypad or Continue.
diff --git a/journeys/payment-requests/request-summary.xml b/journeys/payment-requests/request-summary.xml
index 29faddb0e..393cf1b0a 100644
--- a/journeys/payment-requests/request-summary.xml
+++ b/journeys/payment-requests/request-summary.xml
@@ -4,7 +4,7 @@
On the requester, send the payer contact a Payment Request for 21,000 sats with the note "Lunch last week"
- On the requester, verify completion (id "PaymentRequestSent") says "Sent" with "You have sent a payment request", or "Queued" with "Your payment request is queued and will send automatically"; the title and description must agree
+ On the requester, verify completion (id "PaymentRequestSent") says "Sent" with "You have sent a payment request", or "Queued" with "Your payment request is queued and will send automatically"; the title and description must agree. Verify a RECIPIENT caption sits above the request card, with OK at the bottom of the sheet and the heading, description and recipient card directly above it
On the payer, verify the Payment Request confirmation screen (id "PaymentRequestConfirm") appears with 21,000 sats without opening the pending Payment Requests bell
Verify From (id "PaymentRequestFrom") shows the requester's contact name
Verify For (id "PaymentRequestFor") shows "Lunch last week"