Updated on 2026-08-14
This commit is contained in:
parent
724b7df243
commit
da1707a5ea
9 changed files with 135 additions and 146 deletions
|
|
@ -33,15 +33,9 @@ internal object WalletScreenPreviewData {
|
|||
|
||||
private val textContentTokensState = WalletTokensListState.ContentState.Content(
|
||||
items = persistentListOf(
|
||||
TokensListItemUM.NetworkGroupTitle(
|
||||
id = 1,
|
||||
name = stringReference("Bitcoin"),
|
||||
),
|
||||
TokensListItemUM.GroupTitle(id = 1, text = stringReference("Network Bitcoin")),
|
||||
TokensListItemUM.Token(state = tokenItemState),
|
||||
TokensListItemUM.NetworkGroupTitle(
|
||||
id = 2,
|
||||
name = stringReference("Ethereum"),
|
||||
),
|
||||
TokensListItemUM.GroupTitle(id = 2, text = stringReference("Network Ethereum")),
|
||||
TokensListItemUM.Token(
|
||||
state = tokenItemState.copy(
|
||||
id = "2",
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import com.tangem.core.ui.components.SecondaryButton
|
|||
import com.tangem.core.ui.components.buttons.actions.ActionButtonConfig
|
||||
import com.tangem.core.ui.components.buttons.actions.RoundedActionButton
|
||||
import com.tangem.core.ui.components.token.TokenItem
|
||||
import com.tangem.core.ui.components.tokenlist.internal.DraggableNetworkTitleItem
|
||||
import com.tangem.core.ui.components.tokenlist.internal.DraggableGroupTitleItem
|
||||
import com.tangem.core.ui.event.EventEffect
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.stringResourceSafe
|
||||
|
|
@ -176,10 +176,10 @@ private fun LazyItemScope.DraggableItem(
|
|||
val modifierWithBackground = itemModifier.background(color = TangemTheme.colors.background.primary)
|
||||
|
||||
when (item) {
|
||||
is DraggableItem.GroupHeader -> DraggableNetworkTitleItem(
|
||||
modifier = modifierWithBackground,
|
||||
networkName = item.networkName,
|
||||
is DraggableItem.GroupHeader -> DraggableGroupTitleItem(
|
||||
state = item.groupTitle,
|
||||
reorderableTokenListState = reorderableState,
|
||||
modifier = modifierWithBackground,
|
||||
)
|
||||
is DraggableItem.Token -> TokenItem(
|
||||
modifier = modifierWithBackground,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@ package com.tangem.feature.wallet.presentation.organizetokens.model
|
|||
|
||||
import androidx.compose.runtime.Immutable
|
||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||
import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.feature.wallet.impl.R
|
||||
import com.tangem.feature.wallet.presentation.organizetokens.model.DraggableItem.RoundingMode
|
||||
|
||||
/**
|
||||
|
|
@ -30,7 +34,16 @@ internal sealed class DraggableItem {
|
|||
val networkName: String,
|
||||
override val roundingMode: RoundingMode = RoundingMode.None,
|
||||
override val showShadow: Boolean = false,
|
||||
) : DraggableItem()
|
||||
) : DraggableItem() {
|
||||
|
||||
val groupTitle = TokensListItemUM.GroupTitle(
|
||||
id = id,
|
||||
text = resourceReference(
|
||||
id = R.string.wallet_network_group_title,
|
||||
formatArgs = wrappedList(networkName),
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Item for token.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@ package com.tangem.feature.wallet.presentation.wallet.state.model
|
|||
import androidx.compose.runtime.Immutable
|
||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||
import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.feature.wallet.impl.R
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
|
@ -30,7 +31,13 @@ internal sealed class WalletTokensListState {
|
|||
|
||||
data object Locked : ContentState() {
|
||||
override val items = persistentListOf(
|
||||
TokensListItemUM.NetworkGroupTitle(id = 42, name = TextReference.Res(id = R.string.main_tokens)),
|
||||
TokensListItemUM.GroupTitle(
|
||||
id = 42,
|
||||
text = resourceReference(
|
||||
id = R.string.wallet_network_group_title,
|
||||
formatArgs = wrappedList(resourceReference(id = R.string.main_tokens)),
|
||||
),
|
||||
),
|
||||
TokensListItemUM.Token(state = TokenItemState.Locked(id = "Locked#1")),
|
||||
)
|
||||
override val organizeTokensButtonConfig = null
|
||||
|
|
|
|||
|
|
@ -2,7 +2,8 @@ package com.tangem.feature.wallet.presentation.wallet.state.transformers.convert
|
|||
|
||||
import com.tangem.common.ui.tokens.TokenItemStateConverter
|
||||
import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.common.util.cardTypesResolver
|
||||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||
|
|
@ -10,6 +11,7 @@ import com.tangem.domain.tokens.model.NetworkGroup
|
|||
import com.tangem.domain.tokens.model.TokenList
|
||||
import com.tangem.domain.tokens.model.TotalFiatBalance
|
||||
import com.tangem.domain.wallets.models.UserWallet
|
||||
import com.tangem.feature.wallet.impl.R
|
||||
import com.tangem.feature.wallet.presentation.wallet.state.model.WalletTokensListState
|
||||
import com.tangem.feature.wallet.presentation.wallet.viewmodels.intents.WalletClickIntents
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
|
@ -60,9 +62,12 @@ internal class TokenListStateConverter(
|
|||
}
|
||||
|
||||
private fun MutableList<TokensListItemUM>.addGroup(group: NetworkGroup): List<TokensListItemUM> {
|
||||
val groupTitle = TokensListItemUM.NetworkGroupTitle(
|
||||
val groupTitle = TokensListItemUM.GroupTitle(
|
||||
id = group.network.hashCode(),
|
||||
name = stringReference(group.network.name),
|
||||
text = resourceReference(
|
||||
id = R.string.wallet_network_group_title,
|
||||
formatArgs = wrappedList(group.network.name),
|
||||
),
|
||||
)
|
||||
|
||||
add(groupTitle)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue