From 8e0e984b9a7b3e57232c78e3c6039f0fa116b30f Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 29 Aug 2024 14:02:43 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../presentation/wallet/ui/WalletScreen.kt | 44 ++++++++++--------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt index b8dd2da1b7..369c9f8215 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt @@ -2,8 +2,11 @@ package com.tangem.feature.wallet.presentation.wallet.ui import android.content.res.Configuration import androidx.activity.compose.BackHandler +import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.core.TweenSpec import androidx.compose.animation.core.animateFloatAsState +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut import androidx.compose.foundation.Canvas import androidx.compose.foundation.background import androidx.compose.foundation.gestures.detectTapGestures @@ -72,7 +75,8 @@ import com.tangem.feature.wallet.presentation.wallet.ui.components.visa.balances import com.tangem.feature.wallet.presentation.wallet.ui.components.visa.depositButton import com.tangem.feature.wallet.presentation.wallet.ui.utils.changeWalletAnimator import com.tangem.features.markets.component.BottomSheetState -import com.tangem.features.markets.component.BottomSheetState.* +import com.tangem.features.markets.component.BottomSheetState.COLLAPSED +import com.tangem.features.markets.component.BottomSheetState.EXPANDED import com.tangem.features.markets.component.MarketsEntryComponent import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.launch @@ -220,12 +224,9 @@ private fun WalletContent( } if (marketsEntryComponent != null) { - val bottomSheetState = remember { - mutableStateOf(BottomSheetState.COLLAPSED) - } - var headerSize by remember { - mutableStateOf(0.dp) - } + val bottomSheetState = remember { mutableStateOf(COLLAPSED) } + + var headerSize by remember { mutableStateOf(0.dp) } BaseScaffoldWithMarkets( state = state, @@ -241,17 +242,15 @@ private fun WalletContent( modifier = Modifier, ) }, - ) { - scaffoldContent() - } + content = scaffoldContent, + ) } else { BaseScaffold( state = state, selectedWallet = selectedWallet, snackbarHostState = snackbarHostState, - ) { - scaffoldContent() - } + content = scaffoldContent, + ) } } @@ -274,16 +273,21 @@ private fun BaseScaffold( ) }, floatingActionButton = { - val manageTokensButtonConfig by remember(state.selectedWalletIndex) { - mutableStateOf( - (state.wallets[state.selectedWalletIndex] as? WalletState.MultiCurrency)?.manageTokensButtonConfig, - ) - } + val manageTokensButtonConfig by rememberUpdatedState( + newValue = (state.wallets[state.selectedWalletIndex] as? WalletState.MultiCurrency) + ?.manageTokensButtonConfig, + ) + + AnimatedVisibility( + visible = manageTokensButtonConfig != null, + enter = fadeIn(), + exit = fadeOut(), + ) { + val config = manageTokensButtonConfig ?: return@AnimatedVisibility - manageTokensButtonConfig?.let { ManageTokensButton( modifier = Modifier.navigationBarsPadding(), - onClick = it.onClick, + onClick = config.onClick, ) } },