From 3e900b5d5b164afe2a34be0d2645055932902277 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jul 2026 14:09:48 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../impl/model/PromoBannersBlockModel.kt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/features/promo-banners/impl/src/main/kotlin/com/tangem/features/promobanners/impl/model/PromoBannersBlockModel.kt b/features/promo-banners/impl/src/main/kotlin/com/tangem/features/promobanners/impl/model/PromoBannersBlockModel.kt index 9e251f128c..1f665f15d6 100644 --- a/features/promo-banners/impl/src/main/kotlin/com/tangem/features/promobanners/impl/model/PromoBannersBlockModel.kt +++ b/features/promo-banners/impl/src/main/kotlin/com/tangem/features/promobanners/impl/model/PromoBannersBlockModel.kt @@ -2,10 +2,15 @@ package com.tangem.features.promobanners.impl.model import androidx.core.net.toUri import com.tangem.core.analytics.api.AnalyticsEventHandler +import com.tangem.core.decompose.di.GlobalUiMessageSender import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.core.decompose.ui.UiMessageSender import com.tangem.core.navigation.deeplink.DeeplinkLauncher +import com.tangem.core.ui.R +import com.tangem.core.ui.extensions.resourceReference +import com.tangem.core.ui.message.ToastMessage import com.tangem.domain.common.wallets.UserWalletsListRepository import com.tangem.features.promobanners.api.PromoBannersBlockComponent import com.tangem.features.promobanners.impl.analytics.PromoBannerAnalyticsEvent @@ -26,6 +31,7 @@ import javax.inject.Inject private typealias ShownBannerKey = Pair +@Suppress("LongParameterList") @ModelScoped internal class PromoBannersBlockModel @Inject constructor( override val dispatchers: CoroutineDispatcherProvider, @@ -34,6 +40,7 @@ internal class PromoBannersBlockModel @Inject constructor( private val deeplinkLauncher: DeeplinkLauncher, private val analyticsEventHandler: AnalyticsEventHandler, private val userWalletsListRepository: UserWalletsListRepository, + @GlobalUiMessageSender private val uiMessageSender: UiMessageSender, ) : Model() { private val params = paramsContainer.require() @@ -206,7 +213,12 @@ internal class PromoBannersBlockModel @Inject constructor( private fun onButtonClick(displayId: Int, deeplink: String?) { analyticsEventHandler.send(PromoBannerAnalyticsEvent.Clicked(displayId, placeholderName)) - deeplink?.let { deeplinkLauncher.launch(appendSurveyDisplayId(it, displayId)) } + + if (deeplink.isNullOrBlank()) { + uiMessageSender.send(ToastMessage(message = resourceReference(R.string.common_something_went_wrong))) + } else { + deeplinkLauncher.launch(appendSurveyDisplayId(deeplink, displayId)) + } } private fun appendSurveyDisplayId(deeplink: String, displayId: Int): String {