Skip to content

Commit d050468

Browse files
committed
feat: implement Activity preview WIP
1 parent 37fa95b commit d050468

File tree

3 files changed

+60
-1
lines changed

3 files changed

+60
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ data class NewTransactionSheetDetails(
1717
val direction: NewTransactionSheetDirection,
1818
val sats: Long,
1919
val paymentHashOrTxId: String? = null,
20+
val transactionSheet: TransactionSheet? = null
2021
) {
2122
companion object {
2223
private const val BACKGROUND_TRANSACTION_KEY = "backgroundTransaction"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package to.bitkit.models
2+
3+
import kotlinx.serialization.Serializable
4+
5+
@Serializable
6+
sealed class TransactionSheet(
7+
val type: NewTransactionSheetType,
8+
val direction: NewTransactionSheetDirection,
9+
) {
10+
data class SendOnChain(
11+
val sats: ULong,
12+
val fee: ULong,
13+
val isSelfSend: Boolean,
14+
val isTransfer: Boolean,
15+
val timestamp: ULong,
16+
val tags: List<String> = emptyList(),
17+
) :
18+
TransactionSheet(
19+
type = NewTransactionSheetType.ONCHAIN,
20+
direction = NewTransactionSheetDirection.SENT
21+
)
22+
}

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

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import com.synonym.bitkitcore.LnurlChannelData
1515
import com.synonym.bitkitcore.LnurlPayData
1616
import com.synonym.bitkitcore.LnurlWithdrawData
1717
import com.synonym.bitkitcore.OnChainInvoice
18+
import com.synonym.bitkitcore.PaymentState
1819
import com.synonym.bitkitcore.PaymentType
1920
import com.synonym.bitkitcore.Scanner
2021
import com.synonym.bitkitcore.decode
@@ -54,6 +55,7 @@ import to.bitkit.ext.maxSendableSat
5455
import to.bitkit.ext.maxWithdrawableSat
5556
import to.bitkit.ext.minSendableSat
5657
import to.bitkit.ext.minWithdrawableSat
58+
import to.bitkit.ext.nowTimestamp
5759
import to.bitkit.ext.rawId
5860
import to.bitkit.ext.removeSpaces
5961
import to.bitkit.ext.setClipboardText
@@ -64,6 +66,7 @@ import to.bitkit.models.NewTransactionSheetDirection
6466
import to.bitkit.models.NewTransactionSheetType
6567
import to.bitkit.models.Suggestion
6668
import to.bitkit.models.Toast
69+
import to.bitkit.models.TransactionSheet
6770
import to.bitkit.models.TransactionSpeed
6871
import to.bitkit.models.toActivityFilter
6972
import to.bitkit.models.toCoreNetworkType
@@ -939,7 +942,14 @@ class AppViewModel @Inject constructor(
939942
type = NewTransactionSheetType.ONCHAIN,
940943
direction = NewTransactionSheetDirection.SENT,
941944
sats = amount.toLong(),
942-
paymentHashOrTxId = txId
945+
transactionSheet = TransactionSheet.SendOnChain(
946+
sats = amount,
947+
fee = 10uL, // TODO GET FEE,
948+
isSelfSend = false,
949+
isTransfer = false,
950+
tags = tags,
951+
timestamp = nowTimestamp().toEpochMilli().toULong(),
952+
)
943953
)
944954
)
945955
)
@@ -1049,6 +1059,32 @@ class AppViewModel @Inject constructor(
10491059
}.onFailure {
10501060
// Navigate to activity detail preview if activity doesn't exists yet
10511061
// TODO CREATE A PREVIEW SCREEN
1062+
when (val transactionData = newTransaction.transactionSheet) {
1063+
is TransactionSheet.SendOnChain -> {
1064+
val uiStatePreview = ActivityDetailScreenState.Success(
1065+
activityId = null,
1066+
isLightning = false,
1067+
isSent = true,
1068+
timestamp = transactionData.timestamp,
1069+
totalValue = transactionData.sats + transactionData.fee,
1070+
paymentValue = transactionData.sats,
1071+
fee = transactionData.fee,
1072+
isSelfSend = transactionData.isSelfSend,
1073+
isTransfer = transactionData.isTransfer,
1074+
paymentState = PaymentState.PENDING,
1075+
tags = transactionData.tags,
1076+
isBoosted = false,
1077+
canBeBoosted = false,
1078+
isConfirmed = false,
1079+
message = "",
1080+
doesExist = true,
1081+
)
1082+
1083+
mainScreenEffect(MainScreenEffect.Navigate(Routes.ActivityDetailPreview(uiStatePreview)))
1084+
}
1085+
1086+
null -> TODO()
1087+
}
10521088
}
10531089

10541090
} else {

0 commit comments

Comments
 (0)