From e051726484d5077fd105c028abbd100cc17658eb Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 29 Jul 2026 17:59:54 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../feature/swap/ui/SwapSuccessScreen.kt | 69 +++++++++++-------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt index 109479d7be..dfc1f76f69 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt @@ -4,7 +4,8 @@ import android.content.res.Configuration import androidx.annotation.StringRes import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.material3.Scaffold +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -36,41 +37,47 @@ import com.tangem.features.send.common.ui.FeeBlockSuccess @Composable fun SwapSuccessScreen(state: SwapSuccessStateHolder, feeSelectorUM: FeeSelectorUM?, onBack: () -> Unit) { - Scaffold( - modifier = Modifier.systemBarsPadding(), - containerColor = TangemTheme.colors.background.secondary, - content = { padding -> - SwapSuccessScreenContent(padding = padding, feeSelectorUM = feeSelectorUM, state = state) - }, - topBar = { + Column( + modifier = Modifier + .systemBarsPadding() + .background(TangemTheme.colors.background.secondary), + ) { + Box( + modifier = Modifier.weight(1f), + ) { + SwapSuccessScreenContent( + feeSelectorUM = feeSelectorUM, + state = state, + modifier = Modifier + .padding(horizontal = 16.dp), + ) + Fade( + modifier = Modifier.align(Alignment.BottomCenter), + backgroundColor = TangemTheme.colors.background.secondary, + ) AppBarWithBackButton( onBackClick = onBack, iconRes = R.drawable.ic_close_24, ) - }, - bottomBar = { - SwapSuccessScreenButtons( - textRes = R.string.common_close, - state = state, - onDoneClick = onBack, - ) - }, - ) + } + SwapSuccessScreenButtons( + textRes = R.string.common_close, + state = state, + onDoneClick = onBack, + ) + } } @Composable private fun SwapSuccessScreenContent( state: SwapSuccessStateHolder, feeSelectorUM: FeeSelectorUM?, - padding: PaddingValues, + modifier: Modifier = Modifier, ) { Column( - modifier = Modifier - .fillMaxSize() - .padding(padding) - .background(TangemTheme.colors.background.secondary) - .padding(horizontal = TangemTheme.dimens.spacing16), + modifier = modifier.verticalScroll(rememberScrollState()), ) { + SpacerH(56.dp) TransactionDoneTitle( title = if (state.isTransferMode) { resourceReference(R.string.transfer_in_progress_title) @@ -124,6 +131,7 @@ private fun SwapSuccessScreenContent( .background(TangemTheme.colors.background.action), ) } + SpacerH(16.dp) } } @@ -170,12 +178,19 @@ private fun SwapAmountBlock( } @Composable -private fun SwapSuccessScreenButtons(@StringRes textRes: Int, state: SwapSuccessStateHolder, onDoneClick: () -> Unit) { +private fun SwapSuccessScreenButtons( + @StringRes textRes: Int, + state: SwapSuccessStateHolder, + onDoneClick: () -> Unit, + modifier: Modifier = Modifier, +) { val content = state.navigationUM as? NavigationUM.Content Column( - modifier = Modifier - .background(TangemTheme.colors.background.secondary) - .padding(TangemTheme.dimens.spacing16), + modifier = modifier.padding( + start = 16.dp, + end = 16.dp, + bottom = 16.dp, + ), ) { val pairButtons = content?.secondaryPairButtonsUM when {