feat(wallet): add no-wallet guard for /pay and fix payment event type

Phase 3b: Deferred features completion

Task 1: /pay No-Wallet Guard
- Add noWalletSetup and isCheckingWallet flags to PaymentEntryState
- Update PaymentEntryPresenter to check wallet state early via collectAsState
- Add full-screen "Wallet Required" prompt to PaymentEntryView when no wallet
- Add onOpenWalletSettings callback through the entire navigation chain
- Wire callback in MessagesFlowNode to navigate to WalletPanel

Task 2: Payment Timeline Card (already existed, just fixed event type)
- Fix isPaymentEventType() to check for correct event types:
  - co.sulkta.payment.request (was incorrectly com.sulkta.cardano.payment)
  - co.sulkta.payment.status (for status updates)

Build verified: assembleGplayDebug passes
This commit is contained in:
Kayos 2026-03-28 09:47:55 -07:00
parent e33c87c164
commit 455f45ed59
8 changed files with 266 additions and 73 deletions

View file

@ -44,5 +44,7 @@ interface WalletEntryPoint : FeatureEntryPoint {
interface Callback : Plugin {
fun onPaymentSent(txHash: String)
fun onPaymentCancelled()
/** Called when user needs to set up wallet before paying. Caller should navigate to wallet panel. */
fun onOpenWalletSettings()
}
}