Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-29 17:59:54 +05:00
parent b3dfa28319
commit e051726484

View file

@ -4,7 +4,8 @@ import android.content.res.Configuration
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.* 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.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
@ -36,41 +37,47 @@ import com.tangem.features.send.common.ui.FeeBlockSuccess
@Composable @Composable
fun SwapSuccessScreen(state: SwapSuccessStateHolder, feeSelectorUM: FeeSelectorUM?, onBack: () -> Unit) { fun SwapSuccessScreen(state: SwapSuccessStateHolder, feeSelectorUM: FeeSelectorUM?, onBack: () -> Unit) {
Scaffold( Column(
modifier = Modifier.systemBarsPadding(), modifier = Modifier
containerColor = TangemTheme.colors.background.secondary, .systemBarsPadding()
content = { padding -> .background(TangemTheme.colors.background.secondary),
SwapSuccessScreenContent(padding = padding, feeSelectorUM = feeSelectorUM, state = state) ) {
}, Box(
topBar = { 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( AppBarWithBackButton(
onBackClick = onBack, onBackClick = onBack,
iconRes = R.drawable.ic_close_24, iconRes = R.drawable.ic_close_24,
) )
}, }
bottomBar = {
SwapSuccessScreenButtons( SwapSuccessScreenButtons(
textRes = R.string.common_close, textRes = R.string.common_close,
state = state, state = state,
onDoneClick = onBack, onDoneClick = onBack,
) )
}, }
)
} }
@Composable @Composable
private fun SwapSuccessScreenContent( private fun SwapSuccessScreenContent(
state: SwapSuccessStateHolder, state: SwapSuccessStateHolder,
feeSelectorUM: FeeSelectorUM?, feeSelectorUM: FeeSelectorUM?,
padding: PaddingValues, modifier: Modifier = Modifier,
) { ) {
Column( Column(
modifier = Modifier modifier = modifier.verticalScroll(rememberScrollState()),
.fillMaxSize()
.padding(padding)
.background(TangemTheme.colors.background.secondary)
.padding(horizontal = TangemTheme.dimens.spacing16),
) { ) {
SpacerH(56.dp)
TransactionDoneTitle( TransactionDoneTitle(
title = if (state.isTransferMode) { title = if (state.isTransferMode) {
resourceReference(R.string.transfer_in_progress_title) resourceReference(R.string.transfer_in_progress_title)
@ -124,6 +131,7 @@ private fun SwapSuccessScreenContent(
.background(TangemTheme.colors.background.action), .background(TangemTheme.colors.background.action),
) )
} }
SpacerH(16.dp)
} }
} }
@ -170,12 +178,19 @@ private fun SwapAmountBlock(
} }
@Composable @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 val content = state.navigationUM as? NavigationUM.Content
Column( Column(
modifier = Modifier modifier = modifier.padding(
.background(TangemTheme.colors.background.secondary) start = 16.dp,
.padding(TangemTheme.dimens.spacing16), end = 16.dp,
bottom = 16.dp,
),
) { ) {
val pairButtons = content?.secondaryPairButtonsUM val pairButtons = content?.secondaryPairButtonsUM
when { when {