Updated on 2026-08-14

This commit is contained in:
Tangem 2025-02-04 17:20:33 +04:00
parent f9bd500ada
commit c64d6c7045
4 changed files with 8 additions and 3 deletions

View file

@ -2,6 +2,7 @@ package com.tangem.feature.tokendetails.presentation.tokendetails
import androidx.compose.ui.graphics.Color
import androidx.paging.PagingData
import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig
import com.tangem.core.ui.components.marketprice.MarketPriceBlockState
import com.tangem.core.ui.components.marketprice.PriceChangeState
import com.tangem.core.ui.components.marketprice.PriceChangeType
@ -11,7 +12,6 @@ import com.tangem.core.ui.extensions.TextReference
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.components.containers.pullToRefresh.PullToRefreshConfig
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.tokendetails.presentation.tokendetails.state.*
import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsActionButton
@ -129,6 +129,7 @@ internal object TokenDetailsPreviewData {
displayCryptoBalance = "966,96 XLM",
displayFiatBalance = "91,50$",
isBalanceSelectorEnabled = true,
isBalanceFlickering = false,
)
val balanceError = TokenDetailsBalanceBlockState.Error(
actionButtons = actionButtons,

View file

@ -26,6 +26,7 @@ internal sealed class TokenDetailsBalanceBlockState {
val displayCryptoBalance: String,
val displayFiatBalance: String,
val isBalanceSelectorEnabled: Boolean,
val isBalanceFlickering: Boolean,
) : TokenDetailsBalanceBlockState()
data class Error(

View file

@ -121,6 +121,7 @@ internal class TokenDetailsLoadedBalanceConverter(
onBalanceSelect = clickIntents::onBalanceSelect,
selectedBalanceType = currentState.selectedBalanceType,
isBalanceSelectorEnabled = isBalanceSelectorEnabled,
isBalanceFlickering = false, // TODO: Implement in [REDACTED_JIRA]
)
is CryptoCurrencyStatus.Loading -> TokenDetailsBalanceBlockState.Loading(
actionButtons = currentState.actionButtons,

View file

@ -14,6 +14,7 @@ import androidx.constraintlayout.compose.ConstraintLayout
import com.tangem.core.ui.components.RectangleShimmer
import com.tangem.core.ui.components.buttons.HorizontalActionChips
import com.tangem.core.ui.components.buttons.segmentedbutton.SegmentedButtons
import com.tangem.core.ui.components.flicker
import com.tangem.core.ui.extensions.orMaskWithStars
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.extensions.stringResourceSafe
@ -113,7 +114,7 @@ private fun FiatBalance(
),
)
is TokenDetailsBalanceBlockState.Content -> Text(
modifier = modifier,
modifier = modifier.flicker(state.isBalanceFlickering),
text = state.displayFiatBalance.orMaskWithStars(isBalanceHidden),
style = TangemTheme.typography.h2,
color = TangemTheme.colors.text.primary1,
@ -141,7 +142,7 @@ private fun CryptoBalance(
),
)
is TokenDetailsBalanceBlockState.Content -> Text(
modifier = modifier,
modifier = modifier.flicker(state.isBalanceFlickering),
text = state.displayCryptoBalance.orMaskWithStars(isBalanceHidden),
style = TangemTheme.typography.caption2,
color = TangemTheme.colors.text.tertiary,
@ -202,6 +203,7 @@ private class TokenDetailsBalanceBlockStateProvider : CollectionPreviewParameter
collection = listOf(
TokenDetailsPreviewData.balanceLoading,
TokenDetailsPreviewData.balanceContent,
TokenDetailsPreviewData.balanceContent.copy(isBalanceFlickering = true),
TokenDetailsPreviewData.balanceError,
),
)