Skip to content

feat: send flow design updates v60#863

Draft
jvsena42 wants to merge 11 commits intofeat/settings-v60from
feat/send-v60
Draft

feat: send flow design updates v60#863
jvsena42 wants to merge 11 commits intofeat/settings-v60from
feat/send-v60

Conversation

@jvsena42
Copy link
Member

Implements v60 design for the send flow, matching iOS PR #488.

Description

This PR:

  1. Adds show/hide details toggle on the send confirmation screen with coin-stack image animation driven by swipe progress
  2. Adds "Send from" section with payment method switching (Savings/Spending) on unified/BIP21 payments
  3. Reorganizes the confirmation screen layout using a new reusable SendSectionView component
  4. Adds "Instant" (Lightning) option to the fee rate selection screen for unified payments
  5. Improves custom fee rate defaults to fall back through settings default, slow rate, then 1
  6. Replaces absolute invoice expiry timestamps with relative time formatting ("in 10 minutes")
  7. Adds swipe progress callback to SwipeToConfirm for driving animations

Preview

QA Notes

1. Show/Hide Details Toggle

  • Open send flow, enter an address and amount, continue to confirmation
  • Verify the coin-stack image is shown by default (details hidden)
  • Tap "Show Details" button and verify details sections appear (Send from, Send to, Fee & Speed, Tags)
  • Tap "Hide Details" and verify coin-stack image returns
  • Swipe partially on the swipe button and verify the coin-stack rotates

2. Payment Method Switching (requires unified/BIP21 invoice)

  • Scan or paste a BIP21 URI that contains both on-chain address and lightning invoice
  • On confirmation screen, show details and verify "Send from" shows "Savings" with transfer icon
  • Tap the Savings button to switch to Spending (Lightning)
  • Verify fee section updates to show "Instant" with routing fee estimate
  • Switch back to Savings and verify on-chain fee recalculates

3. Fee Rate Screen - Instant Option

  • From a unified payment confirmation, tap "Fee & Speed"
  • Verify "Instant" appears as the first option with Lightning icon and purple color
  • Select Instant and verify it switches to Lightning payment method
  • Select a non-instant option and verify it switches back to on-chain

4. Custom Fee Defaults

  • Navigate to Fee Rate > Custom
  • Verify the initial value comes from: custom setting (if set) > slow fee rate > 1
  • Not from the current transaction speed's fee rate

5. Relative Invoice Expiry

  • Send to a Lightning invoice
  • Show details on confirmation screen
  • Verify invoice expiration shows relative time (e.g., "in 59 minutes") instead of absolute date

@jvsena42 jvsena42 self-assigned this Mar 25, 2026
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