Skip to content

Commit caeff8d

Browse files
committed
feat: handle click event WIP
1 parent a595577 commit caeff8d

File tree

3 files changed

+43
-4
lines changed

3 files changed

+43
-4
lines changed

app/src/main/java/to/bitkit/models/NewTransactionSheetDetails.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import kotlinx.serialization.Serializable
66
import to.bitkit.data.APP_PREFS
77
import to.bitkit.di.json
88
import to.bitkit.utils.Logger
9+
import uniffi.bitkitcore.ActivityFilter
10+
import uniffi.bitkitcore.PaymentType
911

1012
@Serializable
1113
data class NewTransactionSheetDetails(
@@ -60,3 +62,18 @@ enum class NewTransactionSheetType {
6062
enum class NewTransactionSheetDirection {
6163
SENT, RECEIVED
6264
}
65+
66+
fun NewTransactionSheetDirection.toTxType(): PaymentType = if (this == NewTransactionSheetDirection.SENT) {
67+
PaymentType.SENT
68+
} else {
69+
PaymentType.RECEIVED
70+
}
71+
72+
fun NewTransactionSheetType.toActivityFilter(): ActivityFilter {
73+
return if (this == NewTransactionSheetType.ONCHAIN) {
74+
ActivityFilter.ONCHAIN
75+
} else {
76+
ActivityFilter.LIGHTNING
77+
}
78+
}
79+

app/src/main/java/to/bitkit/ui/screens/wallets/sheets/NewTransactionSheet.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import androidx.compose.ui.res.stringResource
2626
import androidx.compose.ui.tooling.preview.Preview
2727
import androidx.compose.ui.unit.dp
2828
import com.airbnb.lottie.compose.LottieAnimation
29-
import com.airbnb.lottie.compose.LottieClipSpec
3029
import com.airbnb.lottie.compose.LottieCompositionSpec
3130
import com.airbnb.lottie.compose.rememberLottieComposition
3231
import to.bitkit.R
@@ -51,7 +50,11 @@ fun NewTransactionSheet(
5150
NewTransactionSheet(
5251
onDismissRequest = { appViewModel.hideNewTransactionSheet() },
5352
details = appViewModel.newTransaction,
54-
onCloseClick = { appViewModel.hideNewTransactionSheet() }
53+
onCloseClick = { appViewModel.hideNewTransactionSheet() },
54+
onDetailClick = {
55+
appViewModel.hideNewTransactionSheet()
56+
appViewModel.onClickActivityDetail()
57+
},
5558
)
5659
}
5760

@@ -60,7 +63,8 @@ fun NewTransactionSheet(
6063
fun NewTransactionSheet(
6164
onDismissRequest: () -> Unit,
6265
details: NewTransactionSheetDetails,
63-
onCloseClick: () -> Unit
66+
onCloseClick: () -> Unit,
67+
onDetailClick: () -> Unit
6468
) {
6569
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
6670

@@ -77,7 +81,7 @@ fun NewTransactionSheet(
7781
NewTransactionSheetView(
7882
details = details,
7983
onCloseClick = onCloseClick,
80-
onDetailClick = onCloseClick //TODO IMPLEMENT
84+
onDetailClick = onDetailClick
8185
)
8286
}
8387
}

app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import to.bitkit.models.NewTransactionSheetDetails
2929
import to.bitkit.models.NewTransactionSheetDirection
3030
import to.bitkit.models.NewTransactionSheetType
3131
import to.bitkit.models.Toast
32+
import to.bitkit.models.toActivityFilter
33+
import to.bitkit.models.toTxType
3234
import to.bitkit.services.CoreService
3335
import to.bitkit.services.LdkNodeEventBus
3436
import to.bitkit.services.LightningService
@@ -505,6 +507,22 @@ class AppViewModel @Inject constructor(
505507
}
506508
}
507509

510+
fun onClickActivityDetail() {
511+
val filter = newTransaction.type.toActivityFilter()
512+
val paymentType = newTransaction.direction.toTxType()
513+
514+
viewModelScope.launch(Dispatchers.IO) {
515+
val activity = coreService.activity.get(filter = filter, txType = paymentType, limit = 1u).firstOrNull()
516+
517+
if (activity == null) {
518+
Logger.error(msg = "Activity not found")
519+
return@launch
520+
}
521+
522+
//TODO NAVIGATION
523+
}
524+
}
525+
508526
private fun attachTagsToActivity(paymentHashOrTxId: String?, type: ActivityFilter) {
509527
val tags = _sendUiState.value.selectedTags
510528
Logger.debug("attachTagsToActivity $tags")

0 commit comments

Comments
 (0)