diff --git a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
index ed41201e3f..d4b9a8ee88 100644
--- a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
+++ b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt
@@ -8,6 +8,7 @@ import com.tangem.feature.referral.api.ReferralComponent
import com.tangem.feature.stories.api.StoriesComponent
import com.tangem.feature.usedesk.api.UsedeskComponent
import com.tangem.feature.walletsettings.component.WalletSettingsComponent
+import com.tangem.features.account.ArchivedAccountListComponent
import com.tangem.features.account.AccountCreateEditComponent
import com.tangem.features.account.AccountDetailsComponent
import com.tangem.features.createwalletselection.CreateWalletSelectionComponent
@@ -94,6 +95,7 @@ internal class ChildFactory @Inject constructor(
private val redesignedWalletConnectComponentFactory: WalletConnectEntryComponent.Factory,
private val accountCreateEditComponentFactory: AccountCreateEditComponent.Factory,
private val accountDetailsComponentFactory: AccountDetailsComponent.Factory,
+ private val archivedAccountListComponentFactory: ArchivedAccountListComponent.Factory,
private val nftComponentFactory: NFTComponent.Factory,
private val nftSendComponentFactory: NFTSendComponent.Factory,
private val usedeskComponentFactory: UsedeskComponent.Factory,
@@ -565,6 +567,15 @@ internal class ChildFactory @Inject constructor(
componentFactory = accountDetailsComponentFactory,
)
}
+ is AppRoute.ArchivedAccountList -> {
+ createComponentChild(
+ context = context,
+ params = ArchivedAccountListComponent.Params(
+ userWalletId = route.userWalletId,
+ ),
+ componentFactory = archivedAccountListComponentFactory,
+ )
+ }
}
}
}
\ No newline at end of file
diff --git a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
index 55cc7fca0d..719d1dd05d 100644
--- a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
+++ b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt
@@ -346,4 +346,9 @@ sealed class AppRoute(val path: String) : Route {
data class AccountDetails(
val account: Account,
) : AppRoute(path = "/account_details/${account.accountId.value}")
+
+ @Serializable
+ data class ArchivedAccountList(
+ val userWalletId: UserWalletId,
+ ) : AppRoute(path = "/archived_account/${userWalletId.stringValue}")
}
\ No newline at end of file
diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml
index 38278a60f0..c9acb51a42 100644
--- a/core/res/src/main/res/values-de/strings.xml
+++ b/core/res/src/main/res/values-de/strings.xml
@@ -1408,6 +1408,7 @@
Fehlercode: %s. Wenn das Problem weiterhin besteht, wende Dich bitte an unseren Support.
Wenn das Problem weiterhin besteht, wende Dich bitte an unseren Support.
Wir haben einen unbekannten Fehler festgestellt.
+ Tangem Wallet unterstützt derzeit nicht %s
Fehlercode: 8 005. Wenn das Problem weiterhin besteht, wende Dich bitte an unseren Support.
Wir haben einen unbekannten Fehler festgestellt.
Tangem unterstützt derzeit das erforderliches Netzwerk von %s nicht.
@@ -1460,7 +1461,7 @@
Transaktionsanfrage
Transaktionsanfrage
Unbegrenzte Menge
- Wallet verbinden
+ WalletConnect
Verwerfen
Du hast eine unterbrochene Sicherung. Möchtest du diese fortsetzen?
Ja, fortsetzen
diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml
index 900aa6723d..a24b04d401 100644
--- a/core/res/src/main/res/values-fr/strings.xml
+++ b/core/res/src/main/res/values-fr/strings.xml
@@ -1355,6 +1355,7 @@
Demande de transaction
Demande de transaction
Montant illimité
+ WalletConnect
Ignorer
Vous avez une sauvegarde interrompue. Voulez-vous la reprendre ?
Oui, reprendre
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index f9fdb1b3f2..6bef7c8991 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -1359,7 +1359,7 @@
Нет сетей
Пожалуйста, сгенерируйте новый URI и попробуйте подключиться снова
Предложение подключения истекло
- Предварительные изменения
+ Прогнозируемые изменения
Не удалось выполнить симуляцию транзакции. Пожалуйста, действуйте с осторожностью.
Оценка не поддерживается для %s
Предложено %s
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 952d5a7dd6..e8b9b18fbc 100644
--- a/core/res/src/main/res/values-uk-rUA/strings.xml
+++ b/core/res/src/main/res/values-uk-rUA/strings.xml
@@ -1302,6 +1302,7 @@
Сеанс Wallet Connect було завершено
Код помилки: %s. Якщо проблема зберігається, зверніться до нашої служби підтримки.
Ми зіткнулися з невідомою помилкою
+ Tangem Wallet наразі не підтримує %s
Tangem наразі не підтримує необхідну мережу для %s.
Непідтримувані мережі
Цей домен пройшов перевірку та вважається безпечним, надійним і вільним від відомих загроз чи підозрілої активності. %s
@@ -1354,7 +1355,7 @@
До
Запит транзакції
Запит транзакції
- Підключення гаманця
+ WalletConnect
Відмовитися
Ви не завершили резервне копіювання. Бажаєте продовжити?
Так, поновити
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index a76469f95b..f9238788d1 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -495,6 +495,7 @@
Stay up to date with the latest features and news
Seed phrase backup
Create Mobile Wallet
+ This recovery phrase has already been imported
Mobile Wallet
This information was generated with AI.\nTap here, if you find any errors.
To change the access code tap the card or ring as shown above and do not remove until the end of the operation
@@ -1504,12 +1505,18 @@
Enable Trustline
A Trustline must be enabled to receive this token. The network requires a %1$s %2$s reserve.
Trustline Required
+ The required network %s is not added to your portfolio. Add it first, then proceed with the connection.
+ Add network to portfolio
Malicious domain
Unknown domain
Connect anyway
Timeout error. Please, try again later.
Failed to establish WalletConnect
This domain cannot be verified. Check the request carefully approving.
+ To continue, please reconnect your dApp session with the required network %s.
+ Network not connected
+ Check your network connection
+ Request timeout
Please return to your browser and reconnect via WalletConnect.
Wallet Connect session was disconnected
Sign anyway
@@ -1520,6 +1527,8 @@
Unsupported dApp
Error code: 8 005. If the problem persists — feel free to contact our support.
We\'ve encountered unknown error
+ This network %s is not supported by Tangem Wallet and cannot be connected.
+ Unsupported network
Tangem does not currently support a required network by %s.
Unsupported networks
This domain has passed verification checks and is considered safe, reputable, and free from known threats or suspicious activity. %s
diff --git a/features/account/api/src/main/java/com/tangem/features/account/ArchivedAccountListComponent.kt b/features/account/api/src/main/java/com/tangem/features/account/ArchivedAccountListComponent.kt
new file mode 100644
index 0000000000..91acb0ea4d
--- /dev/null
+++ b/features/account/api/src/main/java/com/tangem/features/account/ArchivedAccountListComponent.kt
@@ -0,0 +1,11 @@
+package com.tangem.features.account
+
+import com.tangem.core.decompose.factory.ComponentFactory
+import com.tangem.core.ui.decompose.ComposableContentComponent
+import com.tangem.domain.models.wallet.UserWalletId
+
+interface ArchivedAccountListComponent : ComposableContentComponent {
+ interface Factory : ComponentFactory
+
+ data class Params(val userWalletId: UserWalletId)
+}
\ No newline at end of file
diff --git a/features/account/impl/src/main/java/com/tangem/features/account/archived/ArchivedAccountListModel.kt b/features/account/impl/src/main/java/com/tangem/features/account/archived/ArchivedAccountListModel.kt
new file mode 100644
index 0000000000..3c2aed7f6b
--- /dev/null
+++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/ArchivedAccountListModel.kt
@@ -0,0 +1,68 @@
+package com.tangem.features.account.archived
+
+import com.tangem.core.decompose.model.Model
+import com.tangem.core.decompose.model.ParamsContainer
+import com.tangem.core.decompose.navigation.Router
+import com.tangem.core.decompose.ui.UiMessageSender
+import com.tangem.core.res.R
+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.message.DialogMessage
+import com.tangem.core.ui.message.EventMessageAction
+import com.tangem.domain.account.usecase.RecoverCryptoPortfolioUseCase
+import com.tangem.domain.models.account.Account
+import com.tangem.domain.models.account.AccountId
+import com.tangem.features.account.ArchivedAccountListComponent
+import com.tangem.features.account.archived.entity.AccountArchivedUM
+import com.tangem.utils.coroutines.CoroutineDispatcherProvider
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.launch
+import javax.inject.Inject
+
+@Suppress("UnusedPrivateMember") // todo account
+internal class ArchivedAccountListModel @Inject constructor(
+ paramsContainer: ParamsContainer,
+ private val messageSender: UiMessageSender,
+ private val router: Router,
+ override val dispatchers: CoroutineDispatcherProvider,
+ private val recoverCryptoPortfolioUseCase: RecoverCryptoPortfolioUseCase,
+) : Model() {
+
+ private val params = paramsContainer.require()
+
+ val uiState: StateFlow get() = _uiState
+ private val _uiState: MutableStateFlow = MutableStateFlow(getInitialState())
+
+ private fun confirmRecoverDialog(accountId: AccountId) {
+ val account: Account? = null // todo account find
+ account ?: return
+ val secondAction = EventMessageAction(
+ title = resourceReference(R.string.common_cancel),
+ onClick = {},
+ )
+ val firstAction = EventMessageAction(
+ title = resourceReference(R.string.account_archived_recover),
+ onClick = { recoverCryptoPortfolio(account.accountId) },
+ )
+ messageSender.send(
+ DialogMessage(
+ title = stringReference(account.name.value),
+ message = TextReference.EMPTY,
+ firstActionBuilder = { firstAction },
+ secondActionBuilder = { secondAction },
+ ),
+ )
+ }
+
+ private fun recoverCryptoPortfolio(accountId: AccountId) = modelScope.launch {
+ recoverCryptoPortfolioUseCase(accountId)
+ }
+
+ private fun getInitialState(): AccountArchivedUM {
+ return AccountArchivedUM.Loading(
+ onCloseClick = { router.pop() },
+ )
+ }
+}
\ No newline at end of file
diff --git a/features/account/impl/src/main/java/com/tangem/features/account/archived/DefaultArchivedAccountListComponent.kt b/features/account/impl/src/main/java/com/tangem/features/account/archived/DefaultArchivedAccountListComponent.kt
new file mode 100644
index 0000000000..6179fd12b2
--- /dev/null
+++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/DefaultArchivedAccountListComponent.kt
@@ -0,0 +1,40 @@
+package com.tangem.features.account.archived
+
+import androidx.activity.compose.BackHandler
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.Modifier
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.tangem.core.decompose.context.AppComponentContext
+import com.tangem.core.decompose.model.getOrCreateModel
+import com.tangem.features.account.ArchivedAccountListComponent
+import com.tangem.features.account.archived.ui.ArchivedAccountListContent
+import dagger.assisted.Assisted
+import dagger.assisted.AssistedFactory
+import dagger.assisted.AssistedInject
+
+internal class DefaultArchivedAccountListComponent @AssistedInject constructor(
+ @Assisted appComponentContext: AppComponentContext,
+ @Assisted params: ArchivedAccountListComponent.Params,
+) : AppComponentContext by appComponentContext, ArchivedAccountListComponent {
+
+ private val model: ArchivedAccountListModel = getOrCreateModel(params)
+
+ @Composable
+ override fun Content(modifier: Modifier) {
+ val state by model.uiState.collectAsStateWithLifecycle()
+ ArchivedAccountListContent(
+ modifier = modifier,
+ state = state,
+ )
+ BackHandler(onBack = state.onCloseClick)
+ }
+
+ @AssistedFactory
+ interface Factory : ArchivedAccountListComponent.Factory {
+ override fun create(
+ context: AppComponentContext,
+ params: ArchivedAccountListComponent.Params,
+ ): DefaultArchivedAccountListComponent
+ }
+}
\ No newline at end of file
diff --git a/features/account/impl/src/main/java/com/tangem/features/account/archived/di/AccountArchivedModule.kt b/features/account/impl/src/main/java/com/tangem/features/account/archived/di/AccountArchivedModule.kt
new file mode 100644
index 0000000000..21c674cef2
--- /dev/null
+++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/di/AccountArchivedModule.kt
@@ -0,0 +1,27 @@
+package com.tangem.features.account.archived.di
+
+import com.tangem.core.decompose.model.Model
+import com.tangem.features.account.ArchivedAccountListComponent
+import com.tangem.features.account.archived.ArchivedAccountListModel
+import com.tangem.features.account.archived.DefaultArchivedAccountListComponent
+import dagger.Binds
+import dagger.Module
+import dagger.hilt.InstallIn
+import dagger.hilt.components.SingletonComponent
+import dagger.multibindings.ClassKey
+import dagger.multibindings.IntoMap
+
+@Module
+@InstallIn(SingletonComponent::class)
+internal interface AccountArchivedModule {
+
+ @Binds
+ fun bindArchivedAccountListComponentFactory(
+ impl: DefaultArchivedAccountListComponent.Factory,
+ ): ArchivedAccountListComponent.Factory
+
+ @Binds
+ @IntoMap
+ @ClassKey(ArchivedAccountListModel::class)
+ fun bindArchivedAccountListModel(model: ArchivedAccountListModel): Model
+}
\ No newline at end of file
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
new file mode 100644
index 0000000000..ee42b871ff
--- /dev/null
+++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/entity/AccountArchivedUM.kt
@@ -0,0 +1,27 @@
+package com.tangem.features.account.archived.entity
+
+import com.tangem.core.ui.extensions.TextReference
+import com.tangem.features.account.common.CryptoPortfolioIconUM
+import kotlinx.collections.immutable.ImmutableList
+
+internal sealed interface AccountArchivedUM {
+ val onCloseClick: () -> Unit
+
+ data class Loading(override val onCloseClick: () -> Unit) : AccountArchivedUM
+ data class Error(
+ override val onCloseClick: () -> Unit,
+ val onRetryClick: () -> Unit,
+ ) : AccountArchivedUM
+ data class Content(
+ override val onCloseClick: () -> Unit,
+ val accounts: ImmutableList,
+ ) : AccountArchivedUM
+}
+
+internal data class ArchivedAccountUM(
+ val accountId: String,
+ val accountName: String,
+ val accountIcon: CryptoPortfolioIconUM,
+ val tokensInfo: TextReference,
+ val onClick: (accountId: String) -> Unit,
+)
\ No newline at end of file
diff --git a/features/account/impl/src/main/java/com/tangem/features/account/archived/ui/ArchivedAccountListContent.kt b/features/account/impl/src/main/java/com/tangem/features/account/archived/ui/ArchivedAccountListContent.kt
new file mode 100644
index 0000000000..65b5e1794c
--- /dev/null
+++ b/features/account/impl/src/main/java/com/tangem/features/account/archived/ui/ArchivedAccountListContent.kt
@@ -0,0 +1,202 @@
+package com.tangem.features.account.archived.ui
+
+import android.content.res.Configuration
+import androidx.compose.foundation.background
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.layout.*
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.itemsIndexed
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider
+import androidx.compose.ui.unit.dp
+import com.tangem.core.res.R
+import com.tangem.core.ui.components.appbar.AppBarWithBackButton
+import com.tangem.core.ui.components.buttons.SecondarySmallButton
+import com.tangem.core.ui.components.buttons.SmallButtonConfig
+import com.tangem.core.ui.decorations.roundedShapeItemDecoration
+import com.tangem.core.ui.extensions.resolveReference
+import com.tangem.core.ui.extensions.resourceReference
+import com.tangem.core.ui.extensions.stringReference
+import com.tangem.core.ui.extensions.stringResourceSafe
+import com.tangem.core.ui.res.TangemTheme
+import com.tangem.core.ui.res.TangemThemePreview
+import com.tangem.domain.models.account.CryptoPortfolioIcon
+import com.tangem.features.account.archived.entity.AccountArchivedUM
+import com.tangem.features.account.archived.entity.ArchivedAccountUM
+import com.tangem.features.account.common.toUM
+import com.tangem.features.account.details.ui.AccountIcon
+import kotlinx.collections.immutable.toImmutableList
+
+@Composable
+internal fun ArchivedAccountListContent(state: AccountArchivedUM, modifier: Modifier = Modifier) {
+ Column(
+ modifier = modifier
+ .background(color = TangemTheme.colors.background.secondary)
+ .fillMaxSize()
+ .imePadding()
+ .systemBarsPadding(),
+ horizontalAlignment = Alignment.CenterHorizontally,
+ ) {
+ AppBarWithBackButton(
+ text = stringResourceSafe(R.string.account_archived_title),
+ onBackClick = state.onCloseClick,
+ modifier = Modifier.height(TangemTheme.dimens.size56),
+ )
+
+ Column(
+ modifier = Modifier
+ .fillMaxSize()
+ .weight(1f),
+
+ ) {
+ when (state) {
+ is AccountArchivedUM.Content -> ArchiveAccountContent(state)
+ is AccountArchivedUM.Error -> ArchiveAccountError(state)
+ is AccountArchivedUM.Loading -> ArchiveAccountLoading()
+ }
+ }
+ }
+}
+
+@Composable
+private fun ArchiveAccountLoading(modifier: Modifier = Modifier) {
+ Box(
+ modifier = modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center,
+ ) {
+ CircularProgressIndicator(
+ color = TangemTheme.colors.icon.primary1,
+ modifier = Modifier,
+ )
+ }
+}
+
+@Composable
+private fun ArchiveAccountError(state: AccountArchivedUM.Error, modifier: Modifier = Modifier) {
+ Box(
+ modifier = modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center,
+ ) {
+ Column(
+ verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
+ horizontalAlignment = Alignment.CenterHorizontally,
+ ) {
+ Text(
+ color = TangemTheme.colors.text.tertiary,
+ style = TangemTheme.typography.caption2,
+ text = stringResourceSafe(R.string.common_unable_to_load),
+ )
+ SecondarySmallButton(
+ config = SmallButtonConfig(
+ text = resourceReference(R.string.try_to_load_data_again_button_title),
+ onClick = state.onRetryClick,
+ ),
+ )
+ }
+ }
+}
+
+@Composable
+private fun ArchiveAccountContent(state: AccountArchivedUM.Content, modifier: Modifier = Modifier) {
+ LazyColumn(modifier = modifier) {
+ itemsIndexed(
+ items = state.accounts,
+ key = { index, item -> item.accountId },
+ ) { index, account ->
+ ArchivedAccountRow(
+ item = account,
+ modifier = Modifier.roundedShapeItemDecoration(
+ backgroundColor = TangemTheme.colors.background.primary,
+ radius = TangemTheme.dimens.radius20,
+ currentIndex = index,
+ addDefaultPadding = true,
+ lastIndex = state.accounts.lastIndex,
+ ),
+ )
+ }
+ }
+}
+
+@Composable
+private fun ArchivedAccountRow(item: ArchivedAccountUM, modifier: Modifier = Modifier) {
+ Row(
+ modifier = modifier
+ .fillMaxWidth()
+ .clickable(onClick = { item.onClick(item.accountId) })
+ .padding(all = TangemTheme.dimens.spacing12),
+ verticalAlignment = Alignment.CenterVertically,
+ horizontalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12),
+ ) {
+ AccountIcon(
+ modifier = Modifier
+ .size(36.dp)
+ .clip(RoundedCornerShape(9.dp)),
+ accountName = item.accountName,
+ accountIcon = item.accountIcon,
+ )
+ Column(
+ modifier = Modifier.weight(1f),
+ verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing2),
+ ) {
+ Text(
+ text = item.accountName,
+ style = TangemTheme.typography.subtitle2,
+ color = TangemTheme.colors.text.primary1,
+ )
+ Text(
+ color = TangemTheme.colors.text.tertiary,
+ style = TangemTheme.typography.caption2,
+ text = item.tokensInfo.resolveReference(),
+ )
+ }
+
+ SecondarySmallButton(
+ config = SmallButtonConfig(
+ text = resourceReference(R.string.account_archived_recover),
+ onClick = { item.onClick(item.accountId) },
+ ),
+ )
+ }
+}
+
+@Preview(showBackground = true, widthDp = 360)
+@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+private fun WcConnectionsContentPreview(@PreviewParameter(PreviewStateProvider::class) params: AccountArchivedUM) {
+ TangemThemePreview {
+ ArchivedAccountListContent(state = params)
+ }
+}
+
+@Suppress("MagicNumber")
+private class PreviewStateProvider : CollectionPreviewParameterProvider(
+ buildList {
+ fun portfolioIcon() = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM()
+
+ val firstList = List(10) {
+ ArchivedAccountUM(
+ accountId = it.toString(),
+ accountName = "Account name",
+ accountIcon = portfolioIcon(),
+ tokensInfo = stringReference("10 tokens in 2 networks"),
+ onClick = {},
+
+ )
+ }.toImmutableList()
+ val first = AccountArchivedUM.Content(
+ onCloseClick = {},
+ accounts = firstList,
+ )
+ add(first)
+ add(AccountArchivedUM.Loading {})
+ add(AccountArchivedUM.Error({}, {}))
+ },
+)
\ No newline at end of file
diff --git a/features/account/impl/src/main/java/com/tangem/features/account/details/ui/AccountDetailsContent.kt b/features/account/impl/src/main/java/com/tangem/features/account/details/ui/AccountDetailsContent.kt
index 6234a1001b..08b3562176 100644
--- a/features/account/impl/src/main/java/com/tangem/features/account/details/ui/AccountDetailsContent.kt
+++ b/features/account/impl/src/main/java/com/tangem/features/account/details/ui/AccountDetailsContent.kt
@@ -183,7 +183,7 @@ private fun AccountRow(state: AccountDetailsUM) {
// todo account make reusable
@Composable
-private fun AccountIcon(accountName: String, accountIcon: CryptoPortfolioIconUM, modifier: Modifier = Modifier) {
+internal fun AccountIcon(accountName: String, accountIcon: CryptoPortfolioIconUM, modifier: Modifier = Modifier) {
Box(
contentAlignment = Alignment.Center,
modifier = modifier.background(accountIcon.color.getUiColor()),