Updated on 2026-08-14
This commit is contained in:
parent
f8b66b9637
commit
f117e5a246
7 changed files with 44 additions and 13 deletions
|
|
@ -427,7 +427,7 @@
|
|||
<string name="send_additional_field_already_included">Уже содержится в введенном адресе</string>
|
||||
<string name="send_alert_fee_coverage_subract_text">Вычесть</string>
|
||||
<string name="send_alert_fee_coverage_title">Недостаточно средств для покрытия комиссии сети. Вычесть недостающую сумму для покрытия комиссии из отправляемой суммы?</string>
|
||||
<string name="send_alert_fee_too_high_text">Сумма комиссии в %@ раз превышает рекомендованную. Убедитесь, что указанная комиссия верна.</string>
|
||||
<string name="send_alert_fee_too_high_text">Сумма комиссии в %s раз превышает рекомендованную. Убедитесь, что указанная комиссия верна.</string>
|
||||
<string name="send_alert_fee_too_low_text">Вы указали комиссию ниже рекомендуемой, это может привести к задержке исполнения вашей транзакции. Продолжить?</string>
|
||||
<string name="send_alert_transaction_failed_text">Причина: %1$s\nКод: %2$s</string>
|
||||
<string name="send_alert_transaction_failed_title">Транзакция не выполнена</string>
|
||||
|
|
@ -537,9 +537,9 @@
|
|||
<string name="toast_balances_hidden">Балансы скрыты</string>
|
||||
<string name="toast_balances_shown">Балансы показаны</string>
|
||||
<string name="toast_undo">Отменить</string>
|
||||
<string name="token_button_unavailability_generic_description">Выбранная операция в данный момент недоступна. Попробуйте позже.</string>
|
||||
<string name="token_button_unavailability_reason_buy_unavailable">В данный момент покупка монеты %s недоступна. Но мы работаем над её добавлением.</string>
|
||||
<string name="token_button_unavailability_reason_empty_balance">У вас нет средств для отправки. Пополните счет, чтобы иметь возможность отправить с него средства.</string>
|
||||
<string name="token_button_unavailability_reason_no_quotes">Выбранная операция в данный момент недоступна. Попробуйте позже.</string>
|
||||
<string name="token_button_unavailability_reason_not_exchangeable">Обмен %s не доступен. Но мы работаем над его добавлением.</string>
|
||||
<string name="token_button_unavailability_reason_sell_unavailable">В данный момент продажа монеты %s недоступна. Но мы работаем над её добавлением.</string>
|
||||
<string name="token_details_generate_xpub">Сгенерировать XPUB</string>
|
||||
|
|
@ -548,6 +548,7 @@
|
|||
<string name="token_details_hide_alert_title">Скрыть %s</string>
|
||||
<string name="token_details_hide_token">Скрыть токен</string>
|
||||
<string name="token_details_token_type_subtitle">%1$s токен в сети %%image%% %2$s</string>
|
||||
<string name="token_details_token_type_subtitle_no_standard">Токен в сети %%image%% %1$s</string>
|
||||
<string name="token_details_unable_hide_alert_message">Токен %1$s является основной валютой в сети %2$s и не может быть скрыт до тех пор, пока у вас в списке есть другие токены этой сети.</string>
|
||||
<string name="token_details_unable_hide_alert_title">Невозможно скрыть %s</string>
|
||||
<string name="token_swap_changelly_promotion_message">Обменивайте этот токен на другие с %1$s комиссии за обслуживание с %2$s по %3$s февраля.</string>
|
||||
|
|
|
|||
|
|
@ -534,9 +534,9 @@
|
|||
<string name="toast_balances_hidden">Balances hidden</string>
|
||||
<string name="toast_balances_shown">Balances shown</string>
|
||||
<string name="toast_undo">Undo</string>
|
||||
<string name="token_button_unavailability_generic_description">This operation is currently unavailable. Please try again later.</string>
|
||||
<string name="token_button_unavailability_reason_buy_unavailable">The purchase of the %s is currently unavailable. But we are working on adding it.</string>
|
||||
<string name="token_button_unavailability_reason_empty_balance">You do not have funds to send. Top up your account to be able to send funds from it.</string>
|
||||
<string name="token_button_unavailability_reason_no_quotes">This operation is currently unavailable. Please try again later.</string>
|
||||
<string name="token_button_unavailability_reason_not_exchangeable">%s swap is not available. But we are working on adding it.</string>
|
||||
<string name="token_button_unavailability_reason_sell_unavailable">Sell of the %s coin is currently unavailable. But we are working on adding it.</string>
|
||||
<string name="token_details_generate_xpub">Generate XPUB</string>
|
||||
|
|
@ -545,6 +545,7 @@
|
|||
<string name="token_details_hide_alert_title">Hide %s</string>
|
||||
<string name="token_details_hide_token">Hide token</string>
|
||||
<string name="token_details_token_type_subtitle">%1$s token in %%image%% %2$s network</string>
|
||||
<string name="token_details_token_type_subtitle_no_standard">Token in %%image%% %1$s network</string>
|
||||
<string name="token_details_unable_hide_alert_message">The %1$s token is the main currency on the %2$s network and cannot be hidden as long as you have other tokens on this network in the list.</string>
|
||||
<string name="token_details_unable_hide_alert_title">Unable to hide %s</string>
|
||||
<string name="token_swap_changelly_promotion_message">Exchange this token for another at %1$s service fees from February %2$s-%3$s.</string>
|
||||
|
|
|
|||
|
|
@ -57,6 +57,21 @@ internal object TokenDetailsPreviewData {
|
|||
),
|
||||
)
|
||||
|
||||
val tokenInfoBlockStateWithLongNameNoStandard = TokenInfoBlockState(
|
||||
name = "Tether (USDT) with long name test",
|
||||
iconState = TokenInfoBlockState.IconState.TokenIcon(
|
||||
url = "https://s3.eu-central-1.amazonaws.com/tangem.api/coins/large/stellar.png",
|
||||
fallbackTint = Color.Cyan,
|
||||
fallbackBackground = Color.Blue,
|
||||
isGrayscale = false,
|
||||
),
|
||||
currency = TokenInfoBlockState.Currency.Token(
|
||||
standardName = null,
|
||||
networkIcon = R.drawable.img_shibarium_22,
|
||||
networkName = "Shibarium",
|
||||
),
|
||||
)
|
||||
|
||||
val tokenInfoBlockState = TokenInfoBlockState(
|
||||
name = "Tether USDT",
|
||||
iconState = TokenInfoBlockState.IconState.CustomTokenIcon(
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ internal data class TokenInfoBlockState(
|
|||
* @param networkIcon - token's network icon.
|
||||
*/
|
||||
data class Token(
|
||||
val standardName: String,
|
||||
val standardName: String?,
|
||||
val networkName: String,
|
||||
@DrawableRes val networkIcon: Int,
|
||||
) : Currency()
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.tangem.core.ui.extensions.networkIconResId
|
|||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.res.TangemTheme
|
||||
import com.tangem.domain.tokens.model.CryptoCurrency
|
||||
import com.tangem.domain.tokens.model.Network
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.*
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsActionButton
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsPullToRefreshConfig
|
||||
|
|
@ -40,7 +41,7 @@ internal class TokenDetailsSkeletonStateConverter(
|
|||
currency = when (value) {
|
||||
is CryptoCurrency.Coin -> TokenInfoBlockState.Currency.Native
|
||||
is CryptoCurrency.Token -> TokenInfoBlockState.Currency.Token(
|
||||
standardName = value.network.standardType.name,
|
||||
standardName = value.network.standardType.getSpecifiedNameOrNull(),
|
||||
networkName = value.network.name,
|
||||
networkIcon = value.networkIconResId,
|
||||
)
|
||||
|
|
@ -65,6 +66,9 @@ internal class TokenDetailsSkeletonStateConverter(
|
|||
)
|
||||
}
|
||||
|
||||
private fun Network.StandardType.getSpecifiedNameOrNull(): String? =
|
||||
name.takeIf { this !is Network.StandardType.Unspecified }
|
||||
|
||||
private fun createMenu(cryptoCurrency: CryptoCurrency): TokenDetailsAppBarMenuConfig = TokenDetailsAppBarMenuConfig(
|
||||
items = buildList {
|
||||
if (featureToggles.isGenerateXPubEnabled() && isBitcoin(cryptoCurrency.network.id.value)) {
|
||||
|
|
|
|||
|
|
@ -105,13 +105,22 @@ private const val SEPARATOR = " %image% "
|
|||
|
||||
@Composable
|
||||
private fun extractNetwork(tokenCurrency: TokenInfoBlockState.Currency.Token): ExtractedTokenNetworkText {
|
||||
val splitString = stringResource(
|
||||
id = R.string.token_details_token_type_subtitle,
|
||||
formatArgs = arrayOf(
|
||||
tokenCurrency.standardName,
|
||||
tokenCurrency.networkName,
|
||||
),
|
||||
).split(SEPARATOR)
|
||||
val splitString = if (tokenCurrency.standardName != null) {
|
||||
stringResource(
|
||||
id = R.string.token_details_token_type_subtitle,
|
||||
formatArgs = arrayOf(
|
||||
tokenCurrency.standardName,
|
||||
tokenCurrency.networkName,
|
||||
),
|
||||
).split(SEPARATOR)
|
||||
} else {
|
||||
stringResource(
|
||||
id = R.string.token_details_token_type_subtitle_no_standard,
|
||||
formatArgs = arrayOf(
|
||||
tokenCurrency.networkName,
|
||||
),
|
||||
).split(SEPARATOR)
|
||||
}
|
||||
|
||||
return remember(splitString) {
|
||||
ExtractedTokenNetworkText(
|
||||
|
|
@ -153,5 +162,6 @@ private class TokenInfoStateProvider : CollectionPreviewParameterProvider<TokenI
|
|||
TokenDetailsPreviewData.tokenInfoBlockState,
|
||||
TokenDetailsPreviewData.tokenInfoBlockStateWithLongName,
|
||||
TokenDetailsPreviewData.tokenInfoBlockStateWithLongNameInMainCurrency,
|
||||
TokenDetailsPreviewData.tokenInfoBlockStateWithLongNameNoStandard,
|
||||
),
|
||||
)
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 0e4934995b8e7c69862ef80362e86bd166bd1288
|
||||
Subproject commit d8e6da9ab3a0442657822352cb6274237d88e77d
|
||||
Loading…
Add table
Add a link
Reference in a new issue