Skip to content

Port missing v60 UI/UX improvements to iOS #516

@jvsena42

Description

@jvsena42

Summary

Several UI/UX improvements merged on Android need to be ported to iOS. This issue tracks all of them.

Changes to port

  • Middle-ellipsis address truncation on Receive screen (Android #886)

    • Replace .lineLimit(2) tail truncation with middle-ellipsis so users see both start and end of address
    • iOS already has String.ellipsis() utility that supports .middle style — reuse it
  • Connection Issues overlay on Send/Receive/Transfer views (Android #878)

    • Add ConnectionIssuesView overlay that shows when network is lost during Send, Receive, Force Transfer, and Transfer flows
    • Auto-dismiss when connectivity is restored
    • Note: SyncNodeView on SendSheet already exists on iOS; the missing piece is the network-loss overlay
    • Also includes: awaitPeerConnected() before cooperative channel close (iOS currently just sleeps 2s)
  • Update Funding screen to match v60 design (Android #885)

    • Replace "Advanced" button with "Manual Setup" shortcut (navigate directly to external node flow)
    • Update description text to: "The easiest option is to use your Bitkit savings or send bitcoin from a different wallet."
    • Note: "Use other wallet" → CJIT navigation already works on iOS
  • Update External Success screen (Android #883)

    • Change title from "Connection initiated" to "Channel opening"
    • Replace "switch" image with "lightning" illustration (asset already exists in iOS)
    • Change nav title from "Lightning Connection" to "Spending Balance"
  • Transfer from Savings button on empty Spending screen (Android #882)

    • Show "Transfer From Savings" button when spending balance is zero, no activity, and savings balance > 0
    • Navigate to transfer-to-spending flow

Key iOS files

  • Bitkit/Views/Wallets/Receive/ReceiveQr.swift
  • Bitkit/Components/CopyAddressCard.swift
  • Bitkit/Components/SyncNodeView.swift
  • Bitkit/Views/Wallets/Send/SendSheet.swift
  • Bitkit/Views/Transfer/FundingOptions.swift
  • Bitkit/Views/Transfer/FundManualSuccessView.swift
  • Bitkit/Views/Wallets/SpendingWalletScreen.swift
  • Bitkit/Managers/NetworkMonitor.swift

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions