Updated on 2026-08-14

This commit is contained in:
Tangem 2026-04-27 21:10:26 +04:00
parent b004f8df6b
commit 1964b3cfad
22 changed files with 204 additions and 173 deletions

View file

@ -2,6 +2,7 @@ package com.tangem.feature.tokendetails.presentation.tokendetails.model
import androidx.compose.runtime.Stable
import arrow.core.getOrElse
import com.tangem.common.TangemBlogUrlBuilder
import com.tangem.common.ui.expressStatus.ExpressStatusBottomSheetConfig
import com.tangem.common.ui.expressStatus.state.ExpressTransactionStateUM
import com.tangem.common.ui.expressStatus.state.ExpressTransactionsBlockState
@ -114,6 +115,12 @@ internal class ExpressTransactionsModel @Inject constructor(
router.openUrl(url)
}
override fun onReadAboutCrossChainBridgesClick() {
modelScope.launch {
router.openUrl(TangemBlogUrlBuilder.build(TangemBlogUrlBuilder.Post.AboutCrossChainBridges))
}
}
override fun onConfirmDisposeExpressStatus() {
uiMessageSender.send(
DialogMessage(

View file

@ -100,6 +100,8 @@ interface ExpressTransactionsClickIntents {
fun onOpenUrlClick(url: String)
fun onReadAboutCrossChainBridgesClick()
fun onConfirmDisposeExpressStatus()
fun onDisposeExpressStatus()

View file

@ -13,6 +13,7 @@ import com.tangem.domain.dynamicaddresses.DynamicAddressesDerivationChecker
import com.tangem.domain.dynamicaddresses.DynamicAddressesFeatureToggles
import com.tangem.domain.dynamicaddresses.DynamicAddressesSupportedBlockchains
import com.tangem.domain.dynamicaddresses.IsXpubSupportedUseCase
import com.tangem.common.TangemBlogUrlBuilder
import com.tangem.common.routing.AppRoute
import com.tangem.common.routing.AppRouter
import com.tangem.common.ui.bottomsheet.receive.AddressModel
@ -960,6 +961,12 @@ internal class TokenDetailsModel @Inject constructor(
router.openUrl(url)
}
override fun onReadAboutCrossChainBridgesClick() {
modelScope.launch {
router.openUrl(TangemBlogUrlBuilder.build(TangemBlogUrlBuilder.Post.AboutCrossChainBridges))
}
}
override fun onSwapPromoDismiss(promoId: PromoId) {
modelScope.launch(dispatchers.main) {
shouldShowPromoTokenUseCase.neverToShow(promoId)

View file

@ -39,7 +39,6 @@ import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toPersistentList
import com.tangem.utils.logging.TangemLogger
import java.math.BigDecimal
import java.util.Locale
// Fixme [REDACTED_JIRA]
@Suppress("LargeClass")
@ -232,7 +231,7 @@ internal class TokenDetailsSwapTransactionsStateConverter(
} else {
ExchangeStatusNotification.TokenRefunded(
cryptoCurrency = refundToken,
onReadMoreClick = { clickIntents.onOpenUrlClick(url = getAboutCrossChainBridgesLink()) },
onReadMoreClick = clickIntents::onReadAboutCrossChainBridgesClick,
onGoToTokenClick = { clickIntents.onGoToRefundedTokenClick(refundToken) },
)
}
@ -424,12 +423,4 @@ internal class TokenDetailsSwapTransactionsStateConverter(
isDone = isSendingDone,
)
}
private fun getAboutCrossChainBridgesLink(): String {
return if (Locale.getDefault().country == "RU") {
"https://tangem.com/ru/blog/post/an-overview-of-cross-chain-bridges/"
} else {
"https://tangem.com/en/blog/post/an-overview-of-cross-chain-bridges/"
}
}
}