Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-30 15:16:50 +02:00
parent 066ab573b3
commit 3fefb7bf52
21 changed files with 944 additions and 56 deletions

View file

@ -32,6 +32,15 @@ interface PortfolioSelectorComponent : ComposableBottomSheetComponent, Composabl
val portfolioFetcher: PortfolioFetcher,
val controller: PortfolioSelectorController,
val bsCallback: BottomSheetCallback? = null,
val settings: Settings = Settings(),
)
/**
* @param isWalletSelectionOnly when `true`, the selector always shows a flat wallet list and ignores the global
* accounts mode (no account grouping).
*/
data class Settings(
val isWalletSelectionOnly: Boolean = false,
)
interface BottomSheetCallback {

View file

@ -59,14 +59,15 @@ internal class PortfolioSelectorModel @Inject constructor(
flow4 = selectorController.isEnabled,
flow5 = selectedAccountState,
transform = { isAccountsMode, portfolioData, artworks, isEnabled, selectedAccount ->
val isAccountsModeEffective = isAccountsMode && !params.settings.isWalletSelectionOnly
val uiList = buildUiList(
isAccountsMode = isAccountsMode,
isAccountsMode = isAccountsModeEffective,
portfolioData = portfolioData,
artworks = artworks,
isEnabled = isEnabled,
selectedAccount = selectedAccount,
)
val title = when (isAccountsMode) {
val title = when (isAccountsModeEffective) {
true -> resourceReference(R.string.common_choose_account)
false -> resourceReference(R.string.common_choose_wallet)
}