diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 188ec9511e..6b76c494d8 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -39,6 +39,7 @@ Trop de tentatives Vous avez désactivé l\'authentification biométrique sur votre téléphone et ne pourrez pas enregistrer de portefeuilles dans l\'application. Pour enregistrer des portefeuilles, veuillez activer la fonction d\'authentification biométrique dans les paramètres de votre téléphone. Démarrer le processus de sauvegarde + Avec votre carte bancaire ou votre compte bancaire %d carte %d cartes @@ -65,10 +66,11 @@ ADA insuffisant pour le transfert de jetons Vous devez conserver un peu d\'ADA car vous avez des jetons sur la blockchain Cardano ADA insuffisant - J\'accepte + Accepter Accès refusé - Tout + Tous Permettre + Analytique Appliquer Approbation Approuver @@ -81,6 +83,8 @@ Aller à %1$s Vous n\'avez pas octroyé l\'accès à votre caméra, veuillez modifier vos paramètres de confidentialité Annuler + Choisissez une action + Réclamez des récompenses Fermer Continuer Copier @@ -90,7 +94,7 @@ Personnalisé %d jour - %d jours + %d jours Supprimer Désactivé @@ -98,6 +102,7 @@ Activer Activé Erreur + Échangez Explorez Explorez l\'historique des transactions Explorateur @@ -108,7 +113,12 @@ Vitesse et frais Obtenir des adresses Aller au fournisseur + Aller au jeton Importez + + dans %d jour + dans %d jours + Plus tard Verrouillé Réseau principal @@ -129,7 +139,7 @@ Rejeter Recharger Renommer - Enregistrer + Enregistrez Sauvegarder les modifications Rechercher Rechercher des jetons @@ -141,13 +151,13 @@ Partager Signez Signez et envoyez - Enjeu + Stake Staking Démarrer Soumettre Avec succès Support - Échange + Échanger termes et conditions Aujourd\'hui La transaction a échoué @@ -156,6 +166,7 @@ Je comprends Il y avait une erreur. Veuillez réessayer. Inaccessible + Unstakez Oui Adresse du contrat copiée ! Réseaux disponibles @@ -163,6 +174,8 @@ Adresse du contrat L\'adresse du contrat n\'est pas valide Veuillez sélectionner le réseau + Ce jeton a déjà été ajouté à la liste + Ce jeton existe déjà Les décimales doivent être un entier valide, jusqu\'à %d Dérivation personnalisée Par exemple m/00\'/0000\'/0\'/0/0 @@ -204,7 +217,7 @@ Emetteur Signé Envoyer un commentaire - Référénces + Détails Vérifiez votre connexion Internet ou passez à un réseau différent Conditions d\'utilisation Vous avez utilisé une carte d\'un autre portefeuille. Appuyez sur la carte associée à ce portefeuille @@ -222,6 +235,8 @@ Échange par %s Visitez le site Web du fournisseur pour obtenir un remboursement Opération échouée par le fournisseur + Le montant de la transaction a été remboursé en %1$s sur votre portefeuille en raison des règles OKX ou du pont. %2$s + Le montant a été remboursé en %1$s (réseau %2$s) Visitez le site Web du fournisseur pour la vérification Vérification KYC requise par le fournisseur Annulé @@ -241,12 +256,13 @@ Envoyé Données fournies par le fournisseur. Le montant estimé est sujet à modification en raison des conditions du marché. Statut de l\'échange - Verification requise + Vérification requise + En attente du hachage de la transaction Liste de tous les jetons ajoutés à votre portefeuille En cherche des meilleurs taux Taux flottant En utilisant la fonctionnalité d\'échange, vous acceptez les %s - En utilisant la fonctionnalité d\'échange, vous acceptez les conditions %1$s et %2$s du fournisseur. + En utilisant la fonctionnalité d\'échange, vous acceptez les conditions %1$s et %2$s du fournisseur D\'autres fournisseurs arriveront bientôt.\nRestez branchés ! Politique de confidentialité Fournisseur @@ -255,10 +271,12 @@ Disponible à partir de %s Indisponible pour cette paire Permission requise + Recommandé Conditions d\'utilisation Aucun jeton trouvé. Veuillez essayer une autre demande ID : %s ID de transaction copié + Avec une autre devise dans votre portefeuille Les informations suivantes sont facultatives. Vous pouvez les effacer si vous ne souhaitez pas les partager. Dites-nous quelles fonctions vous manquent, et nous essaierons de vous aider. Veuillez nous dire quelle carte vous avez @@ -273,6 +291,8 @@ Le réseau facturera des frais d\'approbation de jeton pour vérifier que vous autorisez l\'utilisation de votre jeton pour l\'échange. Spécifiez la limite approuvée pour le jeton sélectionné Montant %s + La fonction Approuver est nécessaire pour accorder la permission à une autre adresse d\'utiliser une quantité spécifique de vos jetons. De par leur conception, les contrats intelligents ne peuvent pas accéder à vos jetons sans votre approbation. En « déverrouillant » vos jetons, vous autorisez le contrat intelligent StakeKit à les utiliser. Les mineurs du réseau reçoivent des frais de gaz (payés par vous) pour enregistrer cette action sur la blockchain. Vous pouvez staker votre jeton après avoir donné votre approbation. + Pour continuer, vous devez autoriser le contrat intelligent StakeKit à utiliser votre %s Pour continuer, accordez aux smart contracts de %1s l\'autorisation d\'utiliser votre %2s Donner l\'autorisation Illimité @@ -331,20 +351,68 @@ Mon portfolio Marché Pour générer des adresses pour les réseaux sélectionnés, vous devez scanner votre carte Tangem + Les données de cette section proviennent des réseaux suivants : %s Impossible de charger les données… + Aucune donnée + Actions rapides Résultat Voir les jetons de moins de 100 000 $ de capitalisation boursière Afficher les jetons Aucun résultat Sélectionnez un réseau Sélectionnez un portefeuille + 1 mois + 1 an + 24 heures + 3 mois + 6 mois + 7 jours + Tout + Acheteurs expérimentés + Évaluation Trier par + Meilleurs Gagnants + Top Perdants + Tendances À propos de %s + + Basé sur %d évaluation + Basé sur %d évaluations + + Site web + Pression d\'achat + La différence entre le volume des acheteurs et le volume des vendeurs + Approvisionnement en circulation + Le nombre total de pièces disponibles pour le trading et en circulation sur le marché + Acheteurs expérimentés + Acheteurs nets avec l\'exigence supplémentaire d\'avoir au moins 100 transactions sortantes + Valorisation entièrement diluée + La valeur théorique totale d\'une crypto-monnaie si toutes les pièces qui pourraient exister étaient en circulation, y compris celles qui ne circulent pas actuellement + Date de la Genesis + Haut + Détenteurs + L\'évolution du nombre de détenteurs de jetons au cours d\'une période donnée Idées Liens + Liquidité + Le changement dans la quantité de liquidité disponible pour le jeton pendant la période spécifiée + Indice de liquidité + Faible + Capitalisation boursière + La valeur marchande totale d\'une crypto-monnaie, calculée en multipliant le prix actuel de la pièce par le nombre total de pièces en circulation + Évaluation du marché + Position dans le classement des crypto-monnaies entre toutes les pièces en fonction de la capitalisation boursière + Approvisionnement maximal Métriques + Official links Performance des prix + Dépôt Score de sécurité + Social + Approvisionnement total + Le nombre maximal de pièces ou de jetons pouvant exister pour une crypto-monnaie particulière + Volume des échanges (24h) + Le montant total d\'une crypto-monnaie qui a été échangé au cours des dernières 24 heures, indiquant le niveau d\'activité et de liquidité du marché Vous devez définir un seul code d\'accès pour protéger toutes vos cartes Protéger Vous pourrez définir un code d\'accès individuel sur chaque carte plus tard @@ -388,12 +456,12 @@ Sauvegarde en cours En savoir plus sur les seed phrases - Empty + Vide Écrivez ces %d mots dans l\'ordre indiqué ci-dessous et conservez-les dans un endroit sûr et secret. Votre seed phrase - Empty + %d mots Pour importer votre portefeuille, entrez votre seed phrase dans le champ ci-dessous @@ -416,6 +484,7 @@ Activation de la carte Carte de sauvegarde n°%d Aucune carte de sauvegarde + Notifications Une carte de sauvegarde ajoutée Préparez votre carte Deux cartes de sauvegarde ajoutées @@ -444,6 +513,7 @@ Accès à la caméra refusé %1$s (%2$s) sur le réseau %3$s Envoyez uniquement %s à cette adresse. L\'envoi de toute autre devise entraînera sa perte irréversible. + Affichez un code QR ou partagez votre adresse Participer Échec du chargement des informations sur le programme de parrainage. Veuillez réessayer plus tard. Échec du chargement des informations sur le programme de parrainage. Code d\'erreur : %s. Veuillez réessayer plus tard. @@ -511,7 +581,7 @@ Entrez l\'adresse L\'adresse est la même que celle de votre portefeuille Mémo invalide. Il ne sera pas ajouté à la transaction. - Memo + Mémo Vérifiez votre connexion réseau Informations sur les frais de réseau inaccessibles De @@ -522,7 +592,7 @@ Max Somme maximale Frais jusqu\'à - Memo invalide + Mémo invalide Couverture des frais de réseau Fonds insuffisants pour le transfert, car le total des frais et du montant du transfert dépasse le solde existant Le total dépasse le solde @@ -569,35 +639,71 @@ Nom Actif Afin d\'unstaker vos actifs, appuyez sur le bloc ci-dessus + Le montant à staker doit être au moins %s + Réclamation déstakée Pourcentage de rendement annuel Le pourcentage de rendement annuel que vous pouvez gagner en participant au staking. APR + Les récompenses s\'accumulent automatiquement sur votre solde de staking quotidiennement. Disponible Taux de récompense moyen + Qu\'est-ce que le Staking ? %s profit estimatif Cote du marché Métriques Minimum requis Aucune récompense à réclamer Réclamation de récompense - Un moyen de recevoir des récompenses de staking. Il peut être réclamé automatiquement ou manuellement. + Méthode de réception des récompenses de staking.\nElle peut être automatique, où la récompense est créditée sur votre adresse, ou manuelle, où vous devez retirer la récompense en créant une transaction pour la recevoir. Calendrier de récompenses Il s\'agit d\'un calendrier qui détermine le moment où les participants au staking reçoivent leurs récompenses. Récompenses à réclamer: %s Staking %s - Période de détachement + Période de dissociation La période que vous devez attendre après avoir demandé le retrait des fonds du staking avant que les jetons ne soient disponibles. Période d\'échauffement Le temps imparti pour activer la participation au staking. + Bloqué + Migrer Native staking + Le staking vous permet de gagner %1$s. Vos récompenses de staking arrivent tous les jours. + Le staking vous permet de gagner %1$s. Vos récompenses de staking arrivent toutes les heures. + Le staking vous permet de gagner %1$s. Vos récompenses de staking arrivent tous les mois. + Le staking vous permet de gagner %1$s. Vos récompenses de staking arrivent toutes les semaines. Gagnez des récompenses de staking Les récompenses cessent de s\'accumuler immédiatement après que vous ayez commencé le unstaking. Le processus de unstaking prend %s. + Vos fonds ont été destakés. Vous pouvez désormais les retirer avec vos récompenses gagnées. + Prêt à retirer + Réassocier + Restakez + Restakez des récompenses + Révoquer + Revoter + Auto + Manuel + Bloquer + Jour + Chaque jour + Époque + Ère + Heure + Mois + Semaine Récompenses Stake verrouillé Staker plus + Stake %s + déstaker %s + Dissociation + Débloquer Non-staké Vérifiez non-stakés pour réclamer vos actifs + Unstaking Validateur + Validateurs + Voter + Vote bloqué + Retirer Stockez vos actifs crypto en toute sécurité tout en conservant les clés privées contenues dans votre carte Portefeuille matériel révolutionnaire Jusqu\'à 3 cartes physiques pour un portefeuille @@ -609,6 +715,8 @@ Découvrez Tangem Échangez, achetez des NFT, faites des prêts et des dépôts dans plus de 100 services décentralisés différents Compatible avec Web 3.0 + Échangez plus de jetons à de meilleurs taux directement dans votre portefeuille. + Nouveau fournisseur d\'échange disponible ! Le montant comprend :\n• les frais du fournisseur de services\n• les frais de réseau pour l\'envoi de %s depuis l\'échange vers l\'adresse de l\'utilisateur. Le montant comprend les frais du fournisseur de services. Frais @@ -620,7 +728,7 @@ Fonds insuffisants Donner l\'autorisation En cours - Échanger + Échangez Vous recevez Choisir le jeton non disponible @@ -673,7 +781,7 @@ Utilisez %s ou scannez une carte pour avoir accès à votre portefeuille Restez à jour avec les dernières fonctionnalités et actualités Soyez le premier informé des nouvelles promotions - Souhaitez-vous utiliser les notifications push? + Souhaitez-vous utiliser les\nnotifications push? Ajouter un nouveau portefeuille Êtes-vous sûr de vouloir supprimer ce portefeuille ? Une erreur s\'est produite, veuillez scanner votre carte pour vous connecter @@ -724,6 +832,8 @@ Paramètres du portefeuille Tangem Utilisez %s ou scannez une carte pour déverrouiller l\'accès à votre portefeuille + Le processus d\'octroi des autorisations est actuellement en cours et sera bientôt terminé + Approbation en cours Il semble que l\'activation de la carte ne se soit pas déroulée correctement. Cela peut être dû à un problème avec le module NFC de votre appareil ou à une mauvaise connexion de la carte sur votre appareil. Veuillez contacter notre équipe de support pour obtenir de l’aide. Erreur d\'activation Selon les développeurs du réseau BNB, le support de la norme BEP-2\nprendra fin en juin 2024. Pour éviter de perdre des actifs avec cette norme, veuillez les convertir à la norme BEP-20. Utilisez notre service de d\'échange pour les transférer sur le réseau BNB Smart Chain. @@ -765,6 +875,8 @@ Il ne reste que %s signatures sur cette carte. Vous devez retirer tous vos fonds. Faible nombre de signatures Les jetons sur différents réseaux peuvent avoir des adresses différentes. Vérifiez bien que votre adresse correspond au réseau lorsque vous transférez des fonds. + MATIC est en cours de migration vers POL. Cependant, aucune date limite n\'a été fixée et MATIC n\'est pas encore obsolète. Vous pouvez continuer à utiliser le jeton MATIC en toute sécurité ou utiliser des échanges pour l\'échanger contre POL. + Migration de MATIC vers POL Utilisez votre carte pour obtenir une adresse pour le réseau %d Utilisez votre carte pour obtenir des adresses pour les réseaux %d diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 025170ee41..3d498f8938 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -69,6 +69,7 @@ アクセスが拒否されました すべて 許可する + アナリティクス 適用する 承認 承認 @@ -81,6 +82,7 @@ %1$sへ移動 カメラへのアクセスを許可していません。プライバシー設定を調整してください。 キャンセル + アクションを選択 報酬を受け取る 閉じる 続ける @@ -633,6 +635,7 @@ 年率 ステーキングに参加することで得られる年間収益率。 APR + 報酬は毎日自動的にステーキング残高に蓄積されます。 利用可能 平均報酬率 ステーキングとは? @@ -660,6 +663,8 @@ ステーキングにより%1$sを獲得できます。ステーキング報酬は毎週受け取れます。 ステーキング報酬を獲得 ステーキング解除プロセスの開始後、報酬の獲得はすぐに停止します。ステーキング解除には%sかかります。 + あなたの資金はステーキング解除されました。獲得した報酬とともに引き出すことができます。 + 準備中 引き出し準備完了 再結束 再度ステーキングする diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt index c50607e576..60cfb91e45 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt @@ -103,4 +103,10 @@ enum class BalanceType { -> false } } +} + +enum class RewardBlockType { + NoRewards, + Rewards, + RewardUnavailable, } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/InnerYieldBalanceState.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/InnerYieldBalanceState.kt index 3056c85688..41fa1c3862 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/InnerYieldBalanceState.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/InnerYieldBalanceState.kt @@ -4,6 +4,7 @@ import androidx.compose.runtime.Immutable import com.tangem.core.ui.extensions.TextReference import com.tangem.domain.staking.model.stakekit.BalanceType import com.tangem.domain.staking.model.stakekit.PendingAction +import com.tangem.domain.staking.model.stakekit.RewardBlockType import com.tangem.domain.staking.model.stakekit.Yield import kotlinx.collections.immutable.ImmutableList import java.math.BigDecimal @@ -12,8 +13,7 @@ sealed class InnerYieldBalanceState { data class Data( val rewardsCrypto: String, val rewardsFiat: String, - val isRewardsToClaim: Boolean, - val isRewardsClaimable: Boolean, + val rewardBlockType: RewardBlockType, val balance: ImmutableList, ) : InnerYieldBalanceState() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt index 1524154584..856bec78cc 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt @@ -12,9 +12,9 @@ import com.tangem.features.staking.impl.R import com.tangem.features.staking.impl.presentation.state.BalanceGroupedState import com.tangem.features.staking.impl.presentation.state.BalanceState import com.tangem.features.staking.impl.presentation.state.InnerYieldBalanceState +import com.tangem.lib.crypto.BlockchainUtils.isSolana import com.tangem.utils.Provider import com.tangem.utils.converter.Converter -import com.tangem.utils.isNullOrZero import kotlinx.collections.immutable.toPersistentList import org.joda.time.DateTime import java.util.Calendar @@ -35,9 +35,7 @@ internal class YieldBalancesConverter( val cryptoRewardsValue = yieldBalance.getRewardStakingBalance() val fiatRewardsValue = cryptoCurrencyStatus.value.fiatRate?.times(cryptoRewardsValue) val groupedBalances = getGroupedBalance(yieldBalance.balance) - val isRewardsClaimable = yieldBalance.balance.items - .filter { it.type == BalanceType.REWARDS } - .any { it.pendingActions.isNotEmpty() } + InnerYieldBalanceState.Data( rewardsCrypto = BigDecimalFormatter.formatCryptoAmount( cryptoAmount = cryptoRewardsValue, @@ -48,8 +46,7 @@ internal class YieldBalancesConverter( fiatCurrencyCode = appCurrency.code, fiatCurrencySymbol = appCurrency.symbol, ), - isRewardsToClaim = !cryptoRewardsValue.isNullOrZero(), - isRewardsClaimable = isRewardsClaimable, + rewardBlockType = getRewardBlockType(), balance = groupedBalances, ) } else { @@ -165,6 +162,23 @@ internal class YieldBalancesConverter( } } + private fun getRewardBlockType(): RewardBlockType { + val cryptoCurrencyStatus = cryptoCurrencyStatusProvider() + val yieldBalance = cryptoCurrencyStatus.value.yieldBalance as? YieldBalance.Data + val isRewardsClaimable = yieldBalance?.balance?.items + ?.filter { it.type == BalanceType.REWARDS } + ?.any { it.pendingActions.isNotEmpty() } + ?: false + + val isSolana = isSolana(cryptoCurrencyStatus.currency.network.id.value) + + return when { + isSolana -> RewardBlockType.RewardUnavailable + isRewardsClaimable -> RewardBlockType.Rewards + else -> RewardBlockType.NoRewards + } + } + private fun Calendar.resetHours() { this[Calendar.HOUR_OF_DAY] = 0 this[Calendar.MINUTE] = 0 diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt index 091afc897a..b6a1eabe64 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt @@ -4,11 +4,10 @@ import com.tangem.core.ui.components.list.RoundedListWithDividersItemData import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.staking.model.stakekit.BalanceType +import com.tangem.domain.staking.model.stakekit.RewardBlockType import com.tangem.domain.staking.model.stakekit.Yield import com.tangem.features.staking.impl.R -import com.tangem.features.staking.impl.presentation.state.BalanceGroupedState -import com.tangem.features.staking.impl.presentation.state.BalanceState -import com.tangem.features.staking.impl.presentation.state.InnerYieldBalanceState +import com.tangem.features.staking.impl.presentation.state.* import com.tangem.features.staking.impl.presentation.state.StakingStates import kotlinx.collections.immutable.persistentListOf @@ -61,8 +60,7 @@ internal object InitialStakingStatePreview { yieldBalance = InnerYieldBalanceState.Data( rewardsFiat = "100 $", rewardsCrypto = "100 SOL", - isRewardsToClaim = false, - isRewardsClaimable = false, + rewardBlockType = RewardBlockType.RewardUnavailable, balance = persistentListOf( BalanceGroupedState( title = stringReference("Staked"), diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt index ec508e38a9..6020b27b49 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt @@ -39,6 +39,7 @@ import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview import com.tangem.core.ui.utils.BigDecimalFormatter import com.tangem.domain.staking.model.stakekit.BalanceType +import com.tangem.domain.staking.model.stakekit.RewardBlockType import com.tangem.features.staking.impl.R import com.tangem.features.staking.impl.presentation.state.BalanceGroupedState import com.tangem.features.staking.impl.presentation.state.BalanceState @@ -88,8 +89,7 @@ internal fun StakingInitialInfoContent(state: StakingStates.InitialInfoState, cl StakingRewardBlock( rewardCrypto = state.yieldBalance.rewardsCrypto, rewardFiat = state.yieldBalance.rewardsFiat, - isRewardsToClaim = state.yieldBalance.isRewardsToClaim, - isRewardsClaimable = state.yieldBalance.isRewardsClaimable, + rewardBlockType = state.yieldBalance.rewardBlockType, onRewardsClick = clickIntents::openRewardsValidators, ) SpacerH12() @@ -143,27 +143,33 @@ private fun BannerBlock(onClick: () -> Unit) { private fun StakingRewardBlock( rewardCrypto: String, rewardFiat: String, - isRewardsToClaim: Boolean, - isRewardsClaimable: Boolean, + rewardBlockType: RewardBlockType, onRewardsClick: () -> Unit, ) { - val (text, textColor) = if (isRewardsToClaim) { - annotatedReference { - append(PLUS) - appendSpace() - append(rewardFiat) - appendSpace() - append(DOT) - appendSpace() - append(rewardCrypto) - } to TangemTheme.colors.text.primary1 - } else { - resourceReference(R.string.staking_details_no_rewards_to_claim) to TangemTheme.colors.text.tertiary + val (text, textColor) = when (rewardBlockType) { + RewardBlockType.Rewards -> { + annotatedReference { + append(PLUS) + appendSpace() + append(rewardFiat) + appendSpace() + append(DOT) + appendSpace() + append(rewardCrypto) + } to TangemTheme.colors.text.primary1 + } + RewardBlockType.RewardUnavailable -> { + resourceReference(R.string.staking_details_auto_claiming_rewards_daily_text) to + TangemTheme.colors.text.tertiary + } + RewardBlockType.NoRewards -> { + resourceReference(R.string.staking_details_no_rewards_to_claim) to TangemTheme.colors.text.tertiary + } } InputRowDefault( title = resourceReference(R.string.staking_rewards), text = text, - iconRes = R.drawable.ic_chevron_right_24.takeIf { isRewardsToClaim && isRewardsClaimable }, + iconRes = R.drawable.ic_chevron_right_24.takeIf { rewardBlockType == RewardBlockType.Rewards }, textColor = textColor, modifier = Modifier .clip(TangemTheme.shapes.roundedCornersXMedium) @@ -171,7 +177,7 @@ private fun StakingRewardBlock( .clickable( interactionSource = remember { MutableInteractionSource() }, indication = rememberRipple(), - enabled = isRewardsToClaim && isRewardsClaimable, + enabled = rewardBlockType == RewardBlockType.Rewards, onClick = onRewardsClick, ), )