PR: Add mobile transaction review screen before payment submission#313
Merged
El-swaggerito merged 1 commit intoJul 24, 2026
Merged
Conversation
send flow to include review screen
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #248
Summary
Adds a dedicated transaction review screen (app/review-transaction.tsx) that displays complete payment details (recipient, amount, memo, network, and fee estimate) before the user signs and submits. Replaces the inline signing confirmation flow with a full-screen review step, improving payment safety by giving users a clear final check before any transaction is submitted.
Changes
Created app/review-transaction.tsx with full review UI showing recipient, amount, memo (optional), network, and fee estimate
Added fee fetching via server.fetchBaseFee() and display in the review card
Wired app/send.tsx navigation to /review-transaction on valid form submit, replacing the removed SigningConfirmModal
Removed unused SigningConfirmModal import and state from send.tsx
Updated src/components/index.ts barrel export to remove SigningConfirmModal
Exported server from src/services/stellar.ts for fee fetching in the review screen
Fixed duplicate DATA_TO_BE_REMOVED declarations in WalletResetConfirmModal.tsx and extra closing brace in stellar.ts
Added tests/reviewTransaction.test.tsx covering AC1–AC7 (recipient, amount, memo, network, back-to-edit, fee display)
Updated tests/send.test.tsx to remove the old modal-based signing confirmation tests
Testing
Ran npm test -review transaction tests pass; send.test.tsx updated to reflect new flow (legacy SigningConfirmModal tests removed)
Manual verification: navigate from Send -> Review -> Sign & Send, confirming all fields render correctly and back-to-edit returns to the form
Accessibility
All interactive elements have accessibilityLabel and accessibilityRole props
Touch targets meet the 44×44 dp minimum
Text maintains 4.5:1 contrast ratio against the dark theme
Security:
No secret key material is exposed on the review screen, only public identifiers and amounts
Signing happens locally via getSecretKey() with device-backed encryption; the secret key never leaves the device
The review screen does not store or log any payment credentials