Updated on 2026-08-14
This commit is contained in:
parent
6018cf0b71
commit
f7b10f3ed5
31 changed files with 446 additions and 105 deletions
|
|
@ -9,6 +9,7 @@ import com.tangem.features.staking.impl.presentation.state.BalanceState
|
|||
import com.tangem.features.staking.impl.presentation.state.bottomsheet.InfoType
|
||||
import java.math.BigDecimal
|
||||
|
||||
// TODO split this interface to click intents and other interaction events
|
||||
@Suppress("TooManyFunctions")
|
||||
internal interface StakingClickIntents : AmountScreenClickIntents {
|
||||
|
||||
|
|
@ -72,5 +73,7 @@ internal interface StakingClickIntents : AmountScreenClickIntents {
|
|||
|
||||
fun onActivateTonAccountNotificationClick()
|
||||
|
||||
fun onActivateTonAccountNotificationShow()
|
||||
|
||||
fun onActivateTonAccountClick()
|
||||
}
|
||||
|
|
@ -953,6 +953,11 @@ internal class StakingModel @Inject constructor(
|
|||
}
|
||||
|
||||
override fun onActivateTonAccountNotificationClick() {
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvent.UninitializedAddressScreen(
|
||||
token = cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
modelScope.launch {
|
||||
stateController.update(
|
||||
ShowTonInitializeBottomSheetTransformer(
|
||||
|
|
@ -1006,7 +1011,20 @@ internal class StakingModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun onActivateTonAccountNotificationShow() {
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvent.UninitializedAddress(
|
||||
token = cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
override fun onActivateTonAccountClick() {
|
||||
analyticsEventHandler.send(
|
||||
StakingAnalyticsEvent.ButtonActivate(
|
||||
token = cryptoCurrencyStatus.currency.symbol,
|
||||
),
|
||||
)
|
||||
modelScope.launch {
|
||||
tonAccountInitializeTransaction?.let { transaction ->
|
||||
sendTransactionUseCase.invoke(
|
||||
|
|
|
|||
|
|
@ -81,5 +81,7 @@ internal object StakingClickIntentsStub : StakingClickIntents {
|
|||
|
||||
override fun onActivateTonAccountNotificationClick() {}
|
||||
|
||||
override fun onActivateTonAccountNotificationShow() {}
|
||||
|
||||
override fun onActivateTonAccountClick() {}
|
||||
}
|
||||
|
|
@ -295,6 +295,7 @@ internal class AddStakingNotificationsTransformer(
|
|||
val cryptoCurrencyNetworkIdValue = cryptoCurrencyStatusProvider().currency.network.rawId
|
||||
|
||||
if (isTon(cryptoCurrencyNetworkIdValue) && !isAccountInitialized) {
|
||||
prevState.clickIntents.onActivateTonAccountNotificationShow()
|
||||
add(
|
||||
StakingNotification.Warning.InitializeTonAccount(
|
||||
onInitializeClick = prevState.clickIntents::onActivateTonAccountNotificationClick,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue