diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index ddf5455028..7de8b4b57e 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -1884,6 +1884,7 @@ Deine%s ist in Aave hinterlegt Chart konnte nicht geladen werden... Das Bereitstellen von %1$s %2$s bei Aave steht aus. + Deaktiviere den Yield-Modus APY %1$s%% Verfügbar Aktueller effektiver Jahreszins @@ -1912,11 +1913,12 @@ Prüfe Deine Netzwerkverbindung Informationen zu den Netzwerkgebühren nicht erreichbar Jede Einzahlung, die Du tätigst, wird automatisch an Aave weitergeleitet. + Alle %1$s auf Ihrem Konto werden automatisch an Aave bereitgestellt. Automatische Übertragung zu Aave Senden, tauschen oder verkaufen Deine Gelder sofort, wann immer Du willst. - Jederzeit Zugriff auf Dein Geld + Sofort verfügbar Wie funktioniert das? - Aave ist ein dezentrales Protokoll, das ein Gesamtvermögen von über 61 Milliarden Dollar verwaltet. + Aave ist ein On-Chain-Protokoll zur Erstellung von nicht-kustodialen Liquiditätsmärkten, um Zinsen mit variablem Satz zu verdienen. Dezentral und selbstverwahrend Durch die Nutzung dieses Dienstes erklärst Du Dich mit provider\n%1$s und %2$s einverstanden Mit Aave verbinden @@ -1932,6 +1934,7 @@ Dein %s wird an Aave übermittelt, bleibt aber verwaltbar. Siehe Gebührenrichtlinie Deine nächste Aufladung wird automatisch an Aave weitergeleitet. + Alle Ihre zukünftigen eingehenden %1$s-Einlagen werden automatisch an Aave bereitgestellt. Aktiv Pausiert Deaktiviere den Yield-Modus diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index 1a1ad0aad3..8379c45b32 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -1499,6 +1499,7 @@ Su %s está depositado en Aave No se puede cargar el gráfico... El suministro de %1$s %2$s a Aave está pendiente. + Desactivar el modo de rendimiento APY %1$s%% Disponible APY actual @@ -1527,11 +1528,12 @@ Compruebe su conexión de red Información de tarifas de red inaccesible Cada depósito que realice se suministrará a Aave automáticamente. + Todos los %1$s en tu cuenta se suministrarán automáticamente a Aave. Transferencia automática a Aave Envíe, intercambie o venda sus fondos al instante, cuando quiera. - Acceda a sus fondos en cualquier momento + Acceso inmediato ¿Cómo funciona? - Aave es un protocolo descentralizado que administra más de 61 billones de dólares en valor total. + Aave es un protocolo on-chain para crear mercados de liquidez no custodiales y ganar intereses a tasa variable. Descentralizado y autocustodiado Al utilizar este servicio, usted acepta que el proveedor\n%1$s y %2$s Conectar Aave @@ -1547,6 +1549,7 @@ Su %s se suministrará a Aave, pero seguirá siendo gestionable. Ver política de tarifas Sus próximas recargas se suministrarán automáticamente a Aave. + Todos tus futuros depósitos %1$s se suministrarán automáticamente a Aave. Activo En pausa Desactivación del modo de rendimiento diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 2a30362217..3c836280ec 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -1477,6 +1477,7 @@ Vos %s sont déposés dans Aave. Impossible de charger le graphique... L’approvisionnement de %1$s %2$s sur Aave est en attente. + Désactiver le mode rendement APY %1$s%% Disponible APY actuel @@ -1505,11 +1506,12 @@ Vérifiez votre connexion réseau. Informations sur les frais de réseau inaccessibles Chaque dépôt que vous effectuez sera automatiquement transféré à Aave. + Tous les %1$s de votre compte seront automatiquement fournis à Aave. Transfert automatique vers Aave Envoyez, échangez ou vendez vos fonds instantanément, quand vous le souhaitez. - Accédez à vos fonds à tout moment + Accès immédiat Comment ça marche ? - Aave est un protocole décentralisé qui gère plus de 61 milliards de dollars en valeur totale. + Aave est un protocole on-chain permettant de créer des marchés de liquidité non dépositaire pour gagner des intérêts à taux variable. Décentralisé et auto-détenu En utilisant ce service, vous acceptez les conditions générales du fournisseur %1$s et %2$s. Connecter Aave @@ -1525,6 +1527,7 @@ Vos %s seront fournis à Aave, mais resteront gérables. Voir la politique tarifaire Vos prochains dépôts seront automatiquement transférés vers Aave. + Tous vos futurs dépôts %1$s seront automatiquement fournis à Aave. Actif En pause Désactivation du mode de rendement diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 6b9eb2fcce..1ff1d4fbaf 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -1836,6 +1836,7 @@ あなたの%sはAaveに預けられています チャートを読み込めません・・ Aaveへの%1$s %2$sの供給は保留中です。 + 利回りモードを無効にする 年利%1$s%% 利用可能 現在のAPY @@ -1864,9 +1865,10 @@ ネットワーク接続を確認してください ネットワーク手数料についての情報にアクセスできません あなたが行うすべての入金は、自動的にAaveへ供給されます。 + アカウントのすべての %1$s は自動的に Aave に供給されます。 Aaveへの自動送金 いつでも、即座に資金を送信、交換、売却できます。 - いつでも資金にアクセス可能 + すぐに利用可能 使い方 Aaveは、総額610億ドル以上の資産を管理する分散型プロトコルです。 分散型・自己管理型 @@ -1884,6 +1886,7 @@ %sはAaveに供給されますが、管理可能な状態のままになります。 入金手数料ポリシーを見る 次回の入金は自動的にAaveに供給されます。 + 今後のすべての %1$s 入金は自動的に Aave に供給されます。 アクティブ 停止中 利回りモードを解除中 diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index 9995970f79..e12c0def79 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -179,6 +179,7 @@ дней Удалить + Отключить Отключено Отключить Готово @@ -1597,6 +1598,7 @@ Ваш %s внесён в Aave Невозможно загрузить график Отправка %1$s %2$s на Aave ожидает выполнения. + Завершить режим доходности APY %1$s%% Доступно Текущий APY @@ -1625,11 +1627,12 @@ Проверьте ваше интернет соединение Информация о комиссии недоступна Каждое пополнение вашего адреса автоматически будет отправляться в Aave. + Все %1$s на вашем счёте будут автоматически переданы в Aave. Автоперевод в AAVE Отправляйте, обменивайте или продавайте свои средства мгновенно, когда захотите. - Мгновенный вывод средств + Свободный доступ Как это работает? - Aave — децентрализованный протокол, управляющий активами на сумму более $61 млрд. + Aave — это ончейн-протокол для создания некостодиальных рынков ликвидности, позволяющий получать доход с переменной ставкой. Децентрализованный и некастодиальный Используя сервис, вы соглашаетесь с условиями провайдера %1$s и %2$s Подключить Aave @@ -1645,6 +1648,7 @@ Ваш %s будет передан в Aave и останется всегда доступным. Политика комиссий Следующие пополнения вашего счёта автоматически поступят в Aave. + Все ваши будущие поступления %1$s будут автоматически направляться в Aave. Активен На паузе Завершение режима доходности diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 35f9ffc00b..05d849f93f 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -1453,6 +1453,7 @@ Ваш %s внесений у Aave Неможливо завантажити графік Поповнення %1$s %2$s на Aave очікує виконання. + Завершити заробіток APY %1$s%% Доступно Поточний APY @@ -1481,11 +1482,12 @@ Перевірте підключення до мережі Інформація про комісію недоступна Кожен ваш депозит буде автоматично надходити до Aave. + Всі %1$s на вашому рахунку будуть автоматично передані в Aave. Автопереказ до AAVE Відправляйте, обмінюйте або продавайте свої кошти миттєво, в будь-який час. - Миттєвий вивід коштів + Вільний доступ Як це працює? - Aave — децентралізований протокол, що керує активами на понад $61 млрд. + Aave — це ончейн-протокол для створення некостодіальних ринків ліквідності, що дозволяє отримувати дохід з змінною ставкою. Децентралізований та некастодіальний Використовуючи сервіс, ви погоджуєтесь з умовами провайдера %1$s та %2$s Підключити Aave @@ -1501,6 +1503,7 @@ Ваш %s буде передано до Aave, і залишиться завжди доступним. Політика комісій Ваші наступні поповнення рахунку автоматично надходитимуть до Aave. + Всі ваші майбутні надходження %1$s будуть автоматично спрямовані в Aave. Активний На паузі Вимкнення режиму прибутковості diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index dfd30b29a3..9cb5e7b0a8 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -1910,6 +1910,7 @@ Your %s is supplied to Aave Unable to load chart... Supply of %1$s %2$s to Aave is pending. + Disable Yield Mode APY %1$s%% Available Current APY @@ -1927,7 +1928,7 @@ An approximate network fee of %1$s (%2$s) will be deducted from each future top-up, and it won\'t exceed your %3$s (%4$s) limit. If network fees rise above the maximum fee, the transaction won\'t go through until they decrease. You can change this limit later. Maximum fee - The minimum amount is calculated based on the current network fee, ensuring it doesn\'t exceed 4% of the top-up amount, which equals the minimum %1$s (%2$s). + The minimum amount is calculated based on the current network fee, ensuring it doesn\'t exceed 4%% of the top-up amount, which equals the minimum %1$s (%2$s). Minimum top-up Top-up fee policy Tangem also takes a 15% service fee on yield generated. @@ -1938,11 +1939,12 @@ Check your network connection Network fee info unreachable Every top-up will be supplied to Aave automatically. + All %1$s on your account will be supplied to Aave automatically. Auto-supply to Aave Send, swap, or sell your funds instantly, anytime you want. - Access your funds anytime + No lock-ups How it works? - Aave is a decentralized protocol managing over $61 billion in total value. + Aave is an on-chain protocol that offers non-custodial liquidity markets, enabling users to accrue yield at variable rates. Decentralized and self-custodial By using this service, you agree with provider\n%1$s and %2$s Connect to Aave @@ -1955,9 +1957,10 @@ Interest rate is variable When you top up, your funds will be automatically supplied to Aave to start generating yield. %s will be deducted to cover the transaction fee. Supply assets - Your %s will be supplied to Aave, but will remain manageable. + Your %s will be supplied to Aave with no lock-ups and will remain fully accessible. See top-up fee policy Your next top-ups will be automatically supplied to Aave. + All your future incoming %1$s deposits will be automatically supplied to Aave. Active Paused Disabling Yield Mode diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/common/ui/YieldSupplyActionContent.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/common/ui/YieldSupplyActionContent.kt index 177149a2f3..d2b8c520de 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/common/ui/YieldSupplyActionContent.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/common/ui/YieldSupplyActionContent.kt @@ -94,7 +94,8 @@ internal fun YieldSupplyActionContent( YieldSupplyFeeRow( title = resourceReference(R.string.common_network_fee_title), value = fee, - modifier = Modifier.fillMaxWidth() + modifier = Modifier + .fillMaxWidth() .clip(RoundedCornerShape(14.dp)) .background(TangemTheme.colors.background.action) .padding(horizontal = 16.dp, vertical = 12.dp), @@ -139,7 +140,10 @@ private class YieldSupplyActionContentPreviewProvider : PreviewParameterProvider R.string.yield_module_start_earning_sheet_description, wrappedList("USDT"), ), - footer = resourceReference(R.string.yield_module_start_earning_sheet_next_deposits), + footer = resourceReference( + R.string.yield_module_start_earning_sheet_next_deposits_v2, + wrappedList("USDT"), + ), footerLink = resourceReference(R.string.yield_module_start_earning_sheet_fee_policy), currencyIconState = CurrencyIconState.Loading, yieldSupplyFeeUM = YieldSupplyFeeUM.Content( diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt index df2c84d279..08381eab85 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt @@ -55,8 +55,9 @@ internal fun YieldSupplyBlockContent(yieldSupplyUM: YieldSupplyUM, modifier: Mod resourceReference(R.string.yield_module_stop_earning), modifier, ) - YieldSupplyUM.Unavailable -> SupplyUnavailable(modifier) - YieldSupplyUM.Initial -> Unit + YieldSupplyUM.Unavailable, + YieldSupplyUM.Initial, + -> Unit } } } @@ -80,18 +81,6 @@ private fun SupplyAvailable(supplyUM: YieldSupplyUM.Available, modifier: Modifie ) } -@Composable -private fun SupplyUnavailable(modifier: Modifier = Modifier) { - SupplyInfo( - title = resourceReference(R.string.yield_module_unavailable_title), - subtitle = resourceReference(R.string.yield_module_unavailable_subtitle), - rewardsApy = null, - iconTint = TangemTheme.colors.icon.inactive, - button = null, - modifier = modifier, - ) -} - @Suppress("LongMethod") @Composable private fun SupplyContent(supplyUM: YieldSupplyUM.Content, modifier: Modifier = Modifier) { diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/entity/YieldSupplyPromoUM.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/entity/YieldSupplyPromoUM.kt index fca29d33ea..e10b365bf0 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/entity/YieldSupplyPromoUM.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/entity/YieldSupplyPromoUM.kt @@ -7,4 +7,5 @@ data class YieldSupplyPromoUM( val policyLink: String, val title: TextReference, val subtitle: TextReference, + val tokenSymbol: String, ) \ No newline at end of file diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/model/YieldSupplyPromoModel.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/model/YieldSupplyPromoModel.kt index 09c57f0305..2c01ceb12d 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/model/YieldSupplyPromoModel.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/model/YieldSupplyPromoModel.kt @@ -34,6 +34,7 @@ internal class YieldSupplyPromoModel @Inject constructor( val uiState: YieldSupplyPromoUM = YieldSupplyPromoUM( tosLink = TangemBlogUrlBuilder.YIELD_SUPPLY_TOS_URL, policyLink = TangemBlogUrlBuilder.YIELD_SUPPLY_PRIVACY_URL, + tokenSymbol = params.currency.symbol, title = resourceReference(R.string.yield_module_promo_screen_title), subtitle = resourceReference( R.string.yield_module_promo_screen_variable_rate_info, diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/ui/YieldSupplyPromoContent.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/ui/YieldSupplyPromoContent.kt index dc7127e226..24eac0bb13 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/ui/YieldSupplyPromoContent.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/promo/ui/YieldSupplyPromoContent.kt @@ -113,7 +113,7 @@ private fun ColumnScope.Content(yieldSupplyPromoUM: YieldSupplyPromoUM, clickInt ), ) SpacerH32() - PromoItems() + PromoItems(yieldSupplyPromoUM.tokenSymbol) } SpacerH32() } @@ -151,7 +151,7 @@ private fun YieldStatusAppBar(onBackClick: () -> Unit, onHowItWorksClick: () -> } @Composable -private fun PromoItems() { +private fun PromoItems(tokenSymbol: String) { PromoItem( icon = R.drawable.ic_flash_new_24, title = resourceReference(R.string.yield_module_promo_screen_cash_out_title), @@ -161,7 +161,10 @@ private fun PromoItems() { PromoItem( icon = R.drawable.ic_repeat_24, title = resourceReference(R.string.yield_module_promo_screen_auto_balance_title), - subtitle = resourceReference(R.string.yield_module_promo_screen_auto_balance_subtitle), + subtitle = resourceReference( + R.string.yield_module_promo_screen_auto_balance_subtitle_v2, + wrappedList(tokenSymbol), + ), ) SpacerH24() PromoItem( @@ -258,6 +261,7 @@ private fun YieldSupplyPromoContent_Preview() { tosLink = "https://tangem.com/terms-of-service/", policyLink = "https://tangem.com/privacy-policy/", title = resourceReference(R.string.yield_module_promo_screen_title), + tokenSymbol = "USDT", subtitle = resourceReference(R.string.yield_module_promo_screen_variable_rate_info, wrappedList("5.3")), ), clickIntents = object : YieldSupplyPromoClickIntents { diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/YieldSupplyActiveComponent.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/YieldSupplyActiveComponent.kt index 0dccc9df82..18d339bb5c 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/YieldSupplyActiveComponent.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/YieldSupplyActiveComponent.kt @@ -58,7 +58,7 @@ internal class YieldSupplyActiveComponent( @Composable override fun Footer() { SecondaryButton( - text = stringResourceSafe(R.string.yield_module_stop_earning), + text = stringResourceSafe(R.string.yield_module_disable_button), onClick = params.callback::onStopEarning, modifier = Modifier .fillMaxWidth() diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningEntryModel.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningEntryModel.kt index 696f86af29..88108f3a9d 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningEntryModel.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningEntryModel.kt @@ -40,7 +40,10 @@ internal class YieldSupplyStartEarningEntryModel @Inject constructor( R.string.yield_module_start_earning_sheet_description, wrappedList(params.cryptoCurrency.symbol), ), - footer = resourceReference(R.string.yield_module_start_earning_sheet_next_deposits), + footer = resourceReference( + R.string.yield_module_start_earning_sheet_next_deposits_v2, + wrappedList(params.cryptoCurrency.symbol), + ), footerLink = resourceReference(R.string.yield_module_start_earning_sheet_fee_policy), currencyIconState = CryptoCurrencyToIconStateConverter().convert(params.cryptoCurrency), yieldSupplyFeeUM = YieldSupplyFeeUM.Loading, diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningModel.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningModel.kt index 95e7c4d6d1..3446144179 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningModel.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/startearning/model/YieldSupplyStartEarningModel.kt @@ -45,7 +45,7 @@ import java.math.BigDecimal import javax.inject.Inject import kotlin.properties.Delegates -@Suppress("LongParameterList") +@Suppress("LongParameterList", "LargeClass") @ModelScoped internal class YieldSupplyStartEarningModel @Inject constructor( override val dispatchers: CoroutineDispatcherProvider, @@ -96,7 +96,10 @@ internal class YieldSupplyStartEarningModel @Inject constructor( R.string.yield_module_start_earning_sheet_description, wrappedList(cryptoCurrency.symbol), ), - footer = resourceReference(R.string.yield_module_start_earning_sheet_next_deposits), + footer = resourceReference( + R.string.yield_module_start_earning_sheet_next_deposits_v2, + wrappedList(cryptoCurrency.symbol), + ), footerLink = resourceReference(R.string.yield_module_start_earning_sheet_fee_policy), currencyIconState = CryptoCurrencyToIconStateConverter().convert(params.cryptoCurrency), yieldSupplyFeeUM = YieldSupplyFeeUM.Loading,