From a0ae0edb78406cfa73a3b2a8956b547e181a3c31 Mon Sep 17 00:00:00 2001 From: jvsena42 Date: Fri, 30 Jan 2026 13:03:18 -0300 Subject: [PATCH 1/3] fix: disable button while it is loading for details --- app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt index 9011baef7..b8b11c878 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt @@ -174,8 +174,7 @@ fun NewTransactionSheetView( SecondaryButton( text = stringResource(R.string.wallet__send_details), onClick = onDetailClick, - enabled = details.paymentHashOrTxId != null, - isLoading = details.isLoadingDetails, + enabled = details.paymentHashOrTxId != null && !details.isLoadingDetails, modifier = Modifier .weight(1f) .testTag("Details") From b82717870d38c5b8bbb671491860302262b65295 Mon Sep 17 00:00:00 2001 From: jvsena42 Date: Fri, 30 Jan 2026 13:09:10 -0300 Subject: [PATCH 2/3] fix: isLoadingDetails update --- app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index 814bee504..d0892366f 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -1591,10 +1591,12 @@ class AppViewModel @Inject constructor( direction = NewTransactionSheetDirection.SENT, paymentHashOrTxId = txId, sats = amount.toLong(), + isLoadingDetails = true, ) ) lightningRepo.sync() activityRepo.syncActivities() + _successSendUiState.update { it.copy(isLoadingDetails = false) } }.onFailure { e -> Logger.error(msg = "Error sending onchain payment", e = e, context = TAG) toast( @@ -1640,8 +1642,11 @@ class AppViewModel @Inject constructor( direction = NewTransactionSheetDirection.SENT, paymentHashOrTxId = actualPaymentHash, sats = paymentAmount.toLong(), // TODO Add fee when available + isLoadingDetails = true, ), ) + activityRepo.syncActivities() + _successSendUiState.update { it.copy(isLoadingDetails = false) } }.onFailure { e -> // Delete pre-activity metadata on failure if (createdMetadataPaymentId != null) { From 5321d4d2ddcbf2e3adbaa4d9f4c4265b18042413 Mon Sep 17 00:00:00 2001 From: jvsena42 Date: Fri, 30 Jan 2026 13:19:49 -0300 Subject: [PATCH 3/3] refactor: remove unnecessary loading state --- app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index d0892366f..47f8d7f36 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -1642,11 +1642,8 @@ class AppViewModel @Inject constructor( direction = NewTransactionSheetDirection.SENT, paymentHashOrTxId = actualPaymentHash, sats = paymentAmount.toLong(), // TODO Add fee when available - isLoadingDetails = true, ), ) - activityRepo.syncActivities() - _successSendUiState.update { it.copy(isLoadingDetails = false) } }.onFailure { e -> // Delete pre-activity metadata on failure if (createdMetadataPaymentId != null) {