From 2bc92fca06e720699bc2e12e358958e0dc71b321 Mon Sep 17 00:00:00 2001 From: rasputin Date: Wed, 10 Jun 2026 18:38:15 +0200 Subject: [PATCH] refactor: observe pairingUrl state --- .idea/dictionaries/project.xml | 1 + .../gudariwallet/ui/nwc/NwcAddConnectionSheet.kt | 15 ++------------- .../bitcointxoko/gudariwallet/ui/nwc/NwcScreen.kt | 7 ++++++- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/.idea/dictionaries/project.xml b/.idea/dictionaries/project.xml index 884b7ad..94d16f6 100644 --- a/.idea/dictionaries/project.xml +++ b/.idea/dictionaries/project.xml @@ -2,6 +2,7 @@ Aead + Bitrefill Nbits Nostr Tink diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcAddConnectionSheet.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcAddConnectionSheet.kt index 7f3cf25..ac64ac2 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcAddConnectionSheet.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcAddConnectionSheet.kt @@ -36,20 +36,9 @@ private class AddConnectionState { var nextBudgetId by mutableIntStateOf(0) var budgets by mutableStateOf(emptyList()) - // Converts the LocalDateTime expiry to a Unix epoch in seconds (#10) + // Converts the LocalDateTime expiry to a Unix epoch in seconds fun expiryEpochSeconds(): Long = expiry.atZone(ZoneId.systemDefault()).toEpochSecond() - - fun reset() { - description = "" - selectedPermissions = ALL_PERMISSIONS.filter { it.default }.map { it.serverKey }.toSet() - neverExpires = false - expiry = LocalDateTime.now().plusDays(30).withSecond(0).withNano(0) - showDatePicker = false - showTimePicker = false - nextBudgetId = 0 - budgets = emptyList() - } } // ── Sheet ───────────────────────────────────────────────────────────────────── @@ -67,7 +56,7 @@ internal fun NwcAddConnectionSheet( onDismiss : () -> Unit ) { val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true) - val state = remember { AddConnectionState() } // #9 + val state = remember { AddConnectionState() } if (state.showDatePicker) { val initialMillis = state.expiry diff --git a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcScreen.kt b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcScreen.kt index 80045e3..f491277 100644 --- a/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcScreen.kt +++ b/app/src/main/java/com/bitcointxoko/gudariwallet/ui/nwc/NwcScreen.kt @@ -33,6 +33,12 @@ fun NwcScreen( val refresh = { viewModel.loadConnections(includeExpired = true) } + LaunchedEffect(pairingUrl) { + if (pairingUrl != null) { + viewModel.closeAddSheet() + } + } + Scaffold( topBar = { TopAppBar( @@ -120,7 +126,6 @@ fun NwcScreen( expiresAt = expiresAt, budgets = budgets ) - viewModel.closeAddSheet() }, onDismiss = { viewModel.closeAddSheet() } )