Updated on 2026-08-14
This commit is contained in:
parent
c0fb9e8bdb
commit
a1a659f56d
7 changed files with 13 additions and 14 deletions
|
|
@ -246,7 +246,7 @@ class TapApplication : Application(), ImageLoaderFactory {
|
|||
shopService = TangemShopService(this, config.shopify!!)
|
||||
initAnalytics(this, config)
|
||||
initFeedbackManager(this, preferencesStorage, foregroundActivityObserver, store)
|
||||
learn2earnSetupAdditionalDependencies(config)
|
||||
setupLearn2earnAdditionalDependencies(config)
|
||||
}
|
||||
|
||||
private fun initAnalytics(application: Application, config: Config) {
|
||||
|
|
@ -309,7 +309,7 @@ class TapApplication : Application(), ImageLoaderFactory {
|
|||
store.dispatch(GlobalAction.SetFeedbackManager(feedbackManager))
|
||||
}
|
||||
|
||||
private fun learn2earnSetupAdditionalDependencies(config: Config) {
|
||||
private fun setupLearn2earnAdditionalDependencies(config: Config) {
|
||||
learn2ernInteractor.setupDependencies(
|
||||
authCredentials = config.tangemComAuthorization,
|
||||
countryCodeProvider = { store.state.globalState.userCountryCode ?: Locale.current.language },
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ internal class DefaultLearn2earnRepository(
|
|||
private fun createNewUser(): PromoUserData = PromoUserData(
|
||||
promoCode = null,
|
||||
isRegisteredInPromotion = false,
|
||||
alreadyReceivedAward = false,
|
||||
isAlreadyReceivedAward = false,
|
||||
)
|
||||
|
||||
private companion object {
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ package com.tangem.feature.learn2earn.data.models
|
|||
data class PromoUserData(
|
||||
val promoCode: String?,
|
||||
val isRegisteredInPromotion: Boolean,
|
||||
val alreadyReceivedAward: Boolean,
|
||||
val isAlreadyReceivedAward: Boolean,
|
||||
)
|
||||
|
|
@ -103,7 +103,7 @@ class DefaultLearn2earnInteractor(
|
|||
val address = getWalletAddressForAward(awardCurrency)
|
||||
val awardResponse = repository.requestAward(walletId, address)
|
||||
if (awardResponse.status == true) {
|
||||
updateUserData { it.copy(alreadyReceivedAward = true) }
|
||||
updateUserData { it.copy(isAlreadyReceivedAward = true) }
|
||||
null
|
||||
} else {
|
||||
awardResponse.error
|
||||
|
|
@ -123,7 +123,7 @@ class DefaultLearn2earnInteractor(
|
|||
val address = getWalletAddressForAward(awardCurrency)
|
||||
val awardWithCodeResponse = repository.requestAwardByCode(walletId, address, promoCode)
|
||||
if (awardWithCodeResponse.status == true) {
|
||||
updateUserData { it.copy(alreadyReceivedAward = true) }
|
||||
updateUserData { it.copy(isAlreadyReceivedAward = true) }
|
||||
null
|
||||
} else {
|
||||
awardWithCodeResponse.error
|
||||
|
|
@ -159,7 +159,7 @@ class DefaultLearn2earnInteractor(
|
|||
is PromotionError.CardAlreadyHasAward, is PromotionError.WalletAlreadyHasAward,
|
||||
is PromotionError.CodeWasAlreadyUsed,
|
||||
-> {
|
||||
updateUserData { it.copy(alreadyReceivedAward = true) }
|
||||
updateUserData { it.copy(isAlreadyReceivedAward = true) }
|
||||
}
|
||||
else -> Unit
|
||||
}
|
||||
|
|
@ -202,7 +202,7 @@ class DefaultLearn2earnInteractor(
|
|||
|
||||
private fun promotionIsActive(): Boolean {
|
||||
val isActive = when {
|
||||
repository.getUserData().alreadyReceivedAward -> false
|
||||
repository.getUserData().isAlreadyReceivedAward -> false
|
||||
promotion.isError() -> false
|
||||
else -> promotion.getPromotionInfo().status == PromotionInfoResponse.Status.ACTIVE
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@ import androidx.compose.foundation.layout.padding
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.feature.learn2earn.presentation.Learn2earnViewModel
|
||||
import com.tangem.feature.learn2earn.presentation.ui.state.Learn2earnState
|
||||
|
||||
/**
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
@Composable
|
||||
fun Learn2earnMainPageScreen(viewModel: Learn2earnViewModel, modifier: Modifier = Modifier) {
|
||||
fun Learn2earnMainPageScreen(state: Learn2earnState, modifier: Modifier = Modifier) {
|
||||
GetBonusView(
|
||||
state = viewModel.uiState.mainScreenState,
|
||||
state = state.mainScreenState,
|
||||
modifier = modifier
|
||||
.padding(horizontal = TangemTheme.dimens.size16)
|
||||
.padding(vertical = TangemTheme.dimens.size8),
|
||||
)
|
||||
Learn2earnDialogs(viewModel.uiState.mainScreenState.dialog)
|
||||
Learn2earnDialogs(state.mainScreenState.dialog)
|
||||
}
|
||||
|
|
@ -79,7 +79,6 @@ internal fun Learn2earnState.hideDialog(): Learn2earnState {
|
|||
}
|
||||
}
|
||||
|
||||
@Suppress("MagicNumber")
|
||||
internal fun Learn2earnState.updateProgress(showProgress: Boolean): Learn2earnState {
|
||||
return if (mainScreenState.showProgress == showProgress) {
|
||||
this
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import javax.inject.Inject
|
|||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
@HiltViewModel
|
||||
class WebViewViewModel @Inject constructor(
|
||||
internal class WebViewViewModel @Inject constructor(
|
||||
private val handler: WebViewRedirectHandler,
|
||||
) : ViewModel(), WebViewRedirectHandler {
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue