diff --git a/app/src/main/java/com/tangem/tap/domain/termsOfUse/TermsOfUse.kt b/app/src/main/java/com/tangem/tap/domain/termsOfUse/TermsOfUse.kt
new file mode 100644
index 0000000000..7facc2c92f
--- /dev/null
+++ b/app/src/main/java/com/tangem/tap/domain/termsOfUse/TermsOfUse.kt
@@ -0,0 +1,52 @@
+package com.tangem.tap.domain.termsOfUse
+
+import android.content.res.Resources
+import androidx.core.os.ConfigurationCompat
+import java.util.*
+
+/**
+[REDACTED_AUTHOR]
+ */
+class TermsOfUse {
+ val locale: Locale = ConfigurationCompat.getLocales(Resources.getSystem().configuration).get(0)
+
+ fun getUrl(cardId: String): String? {
+ val terms = CardTermsFactory.create(cardId) ?: return null
+
+ return terms.getUrl(locale.country)
+ }
+}
+
+class CardTermsOfUse(
+ private val urlsByRegion: Map,
+ private val defaultRegion: String,
+) {
+
+ fun getUrl(region: String): String? {
+ return urlsByRegion[region.toLowerCase()] ?: urlsByRegion[defaultRegion]
+ }
+}
+
+
+class CardTermsFactory {
+ companion object {
+
+ fun create(cardId: String): CardTermsOfUse? {
+ val batch = cardId.substring(0..3)
+
+ return when (batch) {
+ "CB05" -> {
+ CardTermsOfUse(
+ mapOf(
+ "ru" to "https://yandex.ru/",
+ "en" to "https://www.google.com/",
+ "fr" to "https://www.qwant.com",
+ ),
+ "ru"
+ )
+ }
+ else -> null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt
index 2ec73c0f00..14fc7582a8 100644
--- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt
+++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt
@@ -6,6 +6,7 @@ import com.tangem.commands.common.card.Card
import com.tangem.tap.common.redux.NotificationAction
import com.tangem.tap.common.redux.global.FiatCurrencyName
import com.tangem.tap.domain.tasks.ScanNoteResponse
+import com.tangem.tap.domain.termsOfUse.TermsOfUse
import com.tangem.tap.domain.twins.TwinCardNumber
import com.tangem.tap.features.details.redux.twins.CreateTwinWallet
import com.tangem.tap.network.coinmarketcap.FiatCurrency
@@ -19,6 +20,7 @@ sealed class DetailsAction : Action {
val scanNoteResponse: ScanNoteResponse,
val wallet: Wallet?,
val isCreatingTwinWalletAllowed: Boolean?,
+ val termsOfUse: TermsOfUse,
val fiatCurrencyName: FiatCurrencyName,
val fiatCurrencies: List? = null,
) : DetailsAction()
diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt
index 805d31f8c9..c26028d141 100644
--- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt
+++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt
@@ -73,7 +73,8 @@ private fun handlePrepareScreen(action: DetailsAction.PrepareScreen, state: Deta
action.fiatCurrencyName
),
securityScreenState = SecurityScreenState(currentOption = securityOption),
- createTwinWalletState = twinsState
+ createTwinWalletState = twinsState,
+ cardTermsOfUseUrl = action.termsOfUse.getUrl(action.card.cardId)
)
}
diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt
index 4730507ebc..774ecfd6c6 100644
--- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt
+++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt
@@ -18,7 +18,8 @@ data class DetailsState(
val eraseWalletState: EraseWalletState? = null,
val confirmScreenState: ConfirmScreenState? = null,
val securityScreenState: SecurityScreenState? = null,
- val createTwinWalletState: CreateTwinWalletState? = null
+ val createTwinWalletState: CreateTwinWalletState? = null,
+ val cardTermsOfUseUrl: String? = null
) : StateType
data class CardInfo(
diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt
index 262482b360..caa9780539 100644
--- a/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt
+++ b/app/src/main/java/com/tangem/tap/features/details/ui/DetailsFragment.kt
@@ -1,5 +1,7 @@
package com.tangem.tap.features.details.ui
+import android.content.Intent
+import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.activity.OnBackPressedCallback
@@ -80,6 +82,13 @@ class DetailsFragment : Fragment(R.layout.fragment_details), StoreSubscriber
+
+
+ app:layout_constraintTop_toBottomOf="@id/tv_card_tou" />
Invalid destination tag. It won\'t be added to the transaction
Invalid Memo ID. It won\'t be added to the transaction
+ Terms of use