Updated on 2026-08-14
This commit is contained in:
parent
9491a9cae6
commit
9abc118480
7 changed files with 91 additions and 66 deletions
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue