diff --git a/features/account/impl/src/main/java/com/tangem/features/account/archived/entity/AccountArchivedUM.kt b/features/account/impl/src/main/java/com/tangem/features/account/archived/entity/AccountArchivedUM.kt index 15c30689e1..42c5faa452 100644 --- a/features/account/impl/src/main/java/com/tangem/features/account/archived/entity/AccountArchivedUM.kt +++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/entity/AccountArchivedUM.kt @@ -1,9 +1,11 @@ package com.tangem.features.account.archived.entity +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.CryptoPortfolioIconUM import com.tangem.core.ui.extensions.TextReference import kotlinx.collections.immutable.ImmutableList +@Immutable internal sealed interface AccountArchivedUM { val onCloseClick: () -> Unit diff --git a/features/account/impl/src/main/java/com/tangem/features/account/createedit/entity/AccountCreateEditUM.kt b/features/account/impl/src/main/java/com/tangem/features/account/createedit/entity/AccountCreateEditUM.kt index c8b95db8c0..52925be89a 100644 --- a/features/account/impl/src/main/java/com/tangem/features/account/createedit/entity/AccountCreateEditUM.kt +++ b/features/account/impl/src/main/java/com/tangem/features/account/createedit/entity/AccountCreateEditUM.kt @@ -1,5 +1,6 @@ package com.tangem.features.account.createedit.entity +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.AccountNameUM import com.tangem.common.ui.account.CryptoPortfolioIconUM import com.tangem.core.ui.extensions.TextReference @@ -23,6 +24,7 @@ internal data class AccountCreateEditUM( val onNameChange: (AccountNameUM) -> Unit, ) + @Immutable sealed interface DerivationInfo { val text: TextReference val index: Int? diff --git a/features/account/impl/src/main/java/com/tangem/features/account/details/entity/AccountDetailsUM.kt b/features/account/impl/src/main/java/com/tangem/features/account/details/entity/AccountDetailsUM.kt index 9463b00a81..15fe34025b 100644 --- a/features/account/impl/src/main/java/com/tangem/features/account/details/entity/AccountDetailsUM.kt +++ b/features/account/impl/src/main/java/com/tangem/features/account/details/entity/AccountDetailsUM.kt @@ -1,5 +1,6 @@ package com.tangem.features.account.details.entity +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.CryptoPortfolioIconUM import com.tangem.core.ui.extensions.TextReference @@ -13,6 +14,7 @@ internal data class AccountDetailsUM( val onManageTokensClick: () -> Unit, ) { + @Immutable sealed interface ArchiveMode { data object None : ArchiveMode data class Available( diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/ui/state/PortfolioTokenUM.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/ui/state/PortfolioTokenUM.kt index 13e65fff09..b6dd772abc 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/ui/state/PortfolioTokenUM.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/ui/state/PortfolioTokenUM.kt @@ -1,11 +1,13 @@ package com.tangem.features.markets.portfolio.impl.ui.state +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.AccountTitleUM import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.TextReference import com.tangem.domain.models.wallet.UserWalletId import kotlinx.collections.immutable.ImmutableList +@Immutable internal sealed interface PortfolioListItem { val id: String } diff --git a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/collections/entity/NFTCollectionUM.kt b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/collections/entity/NFTCollectionUM.kt index fd859b1c83..9c4f5ad206 100644 --- a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/collections/entity/NFTCollectionUM.kt +++ b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/collections/entity/NFTCollectionUM.kt @@ -1,9 +1,11 @@ package com.tangem.features.nft.collections.entity import androidx.annotation.DrawableRes +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.AccountTitleUM import com.tangem.core.ui.extensions.TextReference +@Immutable internal sealed interface NFTCollectionItem { val id: String } diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/DefaultHotCryptoComponent.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/DefaultHotCryptoComponent.kt index be49d922a7..852c1ae304 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/DefaultHotCryptoComponent.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/DefaultHotCryptoComponent.kt @@ -6,10 +6,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle diff --git a/features/referral/impl/src/main/java/com/tangem/feature/referral/models/ReferralStateHolder.kt b/features/referral/impl/src/main/java/com/tangem/feature/referral/models/ReferralStateHolder.kt index 9f0a32f146..8b2ef4b83d 100644 --- a/features/referral/impl/src/main/java/com/tangem/feature/referral/models/ReferralStateHolder.kt +++ b/features/referral/impl/src/main/java/com/tangem/feature/referral/models/ReferralStateHolder.kt @@ -1,6 +1,7 @@ package com.tangem.feature.referral.models import androidx.annotation.DrawableRes +import androidx.compose.runtime.Immutable import com.tangem.common.ui.account.PortfolioSelectUM import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.feature.referral.domain.models.ExpectedAwards @@ -14,6 +15,7 @@ internal data class ReferralStateHolder( data class HeaderState(val onBackClicked: () -> Unit) + @Immutable sealed interface ReferralInfoContentState { val award: String val networkName: String @@ -22,6 +24,7 @@ internal data class ReferralStateHolder( val accountAward: AccountAward? } + @Immutable sealed interface ReferralInfoState { data class ParticipantContent( override val award: String, @@ -49,6 +52,7 @@ internal data class ReferralStateHolder( data object Loading : ReferralInfoState } + @Immutable data class ErrorSnackbar( val throwable: Throwable, val onOkClicked: () -> Unit,