Updated on 2026-08-14

This commit is contained in:
Tangem 2025-10-21 17:33:05 +04:00
parent 9491a9cae6
commit 9abc118480
7 changed files with 91 additions and 66 deletions

View file

@ -73,7 +73,7 @@ internal sealed class WalletSettingsAccountsUM : WalletSettingsItemUM() {
data class Footer(
override val id: String,
val addAccount: AddAccountUM,
val archivedAccounts: BlockUM,
val archivedAccounts: BlockUM?,
val showDescription: Boolean,
val description: TextReference,
) : WalletSettingsAccountsUM() {

View file

@ -1,6 +1,7 @@
package com.tangem.feature.walletsettings.ui
import android.content.res.Configuration
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
@ -325,17 +326,25 @@ private fun AccountsFooter(model: WalletSettingsAccountsUM.Footer, modifier: Mod
),
) {
AddAccountRow(model.addAccount)
HorizontalDivider(
thickness = TangemTheme.dimens.size0_5,
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = TangemTheme.dimens.spacing12),
color = TangemTheme.colors.stroke.primary,
)
BlockItem(
modifier = Modifier.fillMaxWidth(),
model = model.archivedAccounts,
)
AnimatedVisibility(visible = model.archivedAccounts != null) {
model.archivedAccounts ?: return@AnimatedVisibility
Column {
HorizontalDivider(
thickness = TangemTheme.dimens.size0_5,
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = TangemTheme.dimens.spacing12),
color = TangemTheme.colors.stroke.primary,
)
BlockItem(
modifier = Modifier.fillMaxWidth(),
model = model.archivedAccounts,
)
}
}
}
if (!model.showDescription) return
SpacerH8()

View file

@ -85,6 +85,8 @@ internal class AccountItemsDelegate @Inject constructor(
val addAccountEnabled = accounts.size < AccountList.MAX_ACCOUNTS_COUNT
val showDescription = accounts.size > 1
val isArchivedAccountsEnabled = accountStatusList.accountStatuses.size != accountStatusList.totalAccounts
WalletSettingsAccountsUM.Footer(
id = "accounts_footer",
addAccount = AddAccountUM(
@ -94,11 +96,15 @@ internal class AccountItemsDelegate @Inject constructor(
if (addAccountEnabled) openAddAccount(userWalletId) else canNotAddAccountDialog()
},
),
archivedAccounts = BlockUM(
text = resourceReference(R.string.account_archived_accounts),
iconRes = R.drawable.ic_archive_24,
onClick = { openArchivedAccounts(userWalletId) },
),
archivedAccounts = if (isArchivedAccountsEnabled) {
BlockUM(
text = resourceReference(R.string.account_archived_accounts),
iconRes = R.drawable.ic_archive_24,
onClick = { openArchivedAccounts(userWalletId) },
)
} else {
null
},
showDescription = showDescription,
description = resourceReference(R.string.account_reorder_description),
).let(::add)