From 1cd80e230edd5732b91803f8db7efc3acd7a31d1 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Mon, 4 May 2026 12:58:32 -0400 Subject: [PATCH] style(wallet): make header scroll with list Signed-off-by: Brandon McAnsh --- .../balance/internal/BalanceScreenContent.kt | 23 ++++++++++--------- .../com/flipcash/app/tokens/ui/TokenList.kt | 6 +++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/apps/flipcash/features/balance/src/main/kotlin/com/flipcash/app/balance/internal/BalanceScreenContent.kt b/apps/flipcash/features/balance/src/main/kotlin/com/flipcash/app/balance/internal/BalanceScreenContent.kt index 88dd2cdbc..7ad43b43d 100644 --- a/apps/flipcash/features/balance/src/main/kotlin/com/flipcash/app/balance/internal/BalanceScreenContent.kt +++ b/apps/flipcash/features/balance/src/main/kotlin/com/flipcash/app/balance/internal/BalanceScreenContent.kt @@ -58,22 +58,23 @@ private fun BalanceScreenContent( dispatchEvent: (BalanceViewModel.Event) -> Unit ) { Column { - BalanceHeader( - modifier = Modifier - .fillMaxWidth(), - balance = tokenState.totalBalance, - appreciation = tokenState.aggregateAppreciation, - ) { - dispatchEvent(BalanceViewModel.Event.OpenCurrencySelection) - } - - Spacer(modifier = Modifier.padding(CodeTheme.dimens.grid.x2)) - val tokens = remember(tokenState.tokens) { tokenState.tokens } TokenList( modifier = Modifier.weight(1f), itemModifier = { Modifier.animateItem(fadeInSpec = null) }, + header = { + BalanceHeader( + modifier = Modifier + .fillMaxWidth(), + balance = tokenState.totalBalance, + appreciation = tokenState.aggregateAppreciation, + ) { + dispatchEvent(BalanceViewModel.Event.OpenCurrencySelection) + } + + Spacer(modifier = Modifier.padding(CodeTheme.dimens.grid.x2)) + }, emptyState = { Box( modifier = Modifier diff --git a/apps/flipcash/shared/tokens/src/main/kotlin/com/flipcash/app/tokens/ui/TokenList.kt b/apps/flipcash/shared/tokens/src/main/kotlin/com/flipcash/app/tokens/ui/TokenList.kt index 6d5259cb1..3e3dfff3a 100644 --- a/apps/flipcash/shared/tokens/src/main/kotlin/com/flipcash/app/tokens/ui/TokenList.kt +++ b/apps/flipcash/shared/tokens/src/main/kotlin/com/flipcash/app/tokens/ui/TokenList.kt @@ -43,6 +43,7 @@ fun TokenList( pinFooter: Boolean = false, emptyState: (@Composable LazyItemScope.() -> Unit)? = null, reserves: (@Composable LazyItemScope.(mint: Mint, cashReserves: LocalFiat) -> Unit)? = null, + header: (@Composable () -> Unit)? = null, footer: (@Composable (isPinned: Boolean) -> Unit)? = null, onTokenSelected: (Token) -> Unit = { }, ) { @@ -81,6 +82,11 @@ fun TokenList( emptyState() } } else { + header?.let { content -> + item { + content() + } + } items( items = filteredTokens.orEmpty(), key = { item -> item.token.address.base58() }) { item ->