From 54fe752d4a163f7b17fb2c0450b406d3c9756ff7 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 12 Dec 2025 11:19:30 +0300 Subject: [PATCH] Updated on 2026-08-14 --- features/onramp/impl/build.gradle.kts | 2 ++ .../redirect/DefaultOnrampRedirectComponent.kt | 4 ++-- .../redirect/model/OnrampRedirectModel.kt | 17 ++++++++++++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/features/onramp/impl/build.gradle.kts b/features/onramp/impl/build.gradle.kts index 44736bee00..290dd27ce5 100644 --- a/features/onramp/impl/build.gradle.kts +++ b/features/onramp/impl/build.gradle.kts @@ -48,6 +48,8 @@ dependencies { implementation(projects.domain.settings) implementation(projects.domain.transaction.models) implementation(projects.domain.account.status) + implementation(projects.domain.appTheme) + implementation(projects.domain.appTheme.models) /** DI */ implementation(deps.hilt.android) diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/DefaultOnrampRedirectComponent.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/DefaultOnrampRedirectComponent.kt index 3f0059348b..cd879af404 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/DefaultOnrampRedirectComponent.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/DefaultOnrampRedirectComponent.kt @@ -42,9 +42,9 @@ internal class DefaultOnrampRedirectComponent @AssistedInject constructor( BackHandler(onBack = params.onBack) OnrampRedirectContent(modifier = modifier, state = model.state) - val isDarkTheme = isSystemInDarkTheme() + val isSystemInDarkTheme = isSystemInDarkTheme() LaunchedEffect(model.state) { - model.getRedirectUrl(isDarkTheme = isDarkTheme) + model.getRedirectUrl(isSystemInDarkTheme = isSystemInDarkTheme) } } diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/model/OnrampRedirectModel.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/model/OnrampRedirectModel.kt index c803a99746..a550929c72 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/model/OnrampRedirectModel.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/redirect/model/OnrampRedirectModel.kt @@ -1,5 +1,6 @@ package com.tangem.features.onramp.redirect.model +import arrow.core.getOrElse import com.tangem.common.routing.AppRoute import com.tangem.common.routing.AppRouter import com.tangem.core.analytics.api.AnalyticsEventHandler @@ -13,6 +14,8 @@ import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.extensions.wrappedList import com.tangem.core.ui.message.DialogMessage +import com.tangem.domain.apptheme.GetAppThemeModeUseCase +import com.tangem.domain.apptheme.model.AppThemeMode import com.tangem.domain.onramp.GetOnrampRedirectUrlUseCase import com.tangem.domain.onramp.model.cache.OnrampTransaction import com.tangem.domain.onramp.model.error.OnrampError @@ -24,7 +27,9 @@ import com.tangem.features.onramp.redirect.entity.OnrampRedirectUM import com.tangem.features.onramp.success.OnrampSuccessScreenListener import com.tangem.features.onramp.utils.sendOnrampErrorEvent import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import timber.log.Timber @@ -38,6 +43,7 @@ internal class OnrampRedirectModel @Inject constructor( private val messageSender: UiMessageSender, private val analyticsEventHandler: AnalyticsEventHandler, private val onrampSuccessScreenListener: OnrampSuccessScreenListener, + private val getAppThemeModeUseCase: GetAppThemeModeUseCase, private val appRouter: AppRouter, paramsContainer: ParamsContainer, getWalletsUseCase: GetWalletsUseCase, @@ -74,8 +80,17 @@ internal class OnrampRedirectModel @Inject constructor( subscribeToOnrampSuccessListener() } - fun getRedirectUrl(isDarkTheme: Boolean) { + fun getRedirectUrl(isSystemInDarkTheme: Boolean) { modelScope.launch { + val isDarkTheme = getAppThemeModeUseCase() + .map { result -> + when (result.getOrElse { AppThemeMode.FOLLOW_SYSTEM }) { + AppThemeMode.FORCE_DARK -> true + AppThemeMode.FORCE_LIGHT -> false + AppThemeMode.FOLLOW_SYSTEM -> isSystemInDarkTheme + } + }.firstOrNull() ?: isSystemInDarkTheme + getOnrampRedirectUrlUseCase.invoke( userWallet = selectedUserWallet, quote = params.onrampProviderWithQuote,