Updated on 2026-08-14

This commit is contained in:
Tangem 2025-12-15 13:20:48 +05:00
parent 370690a359
commit 3bd91a49a1
9 changed files with 41 additions and 13 deletions

View file

@ -308,13 +308,14 @@ private fun DialogContent(type: DialogType, modifier: Modifier = Modifier) {
}
}
@OptIn(ExperimentalLayoutApi::class)
@Composable
private fun DialogButtons(
confirmButton: DialogButtonUM,
dismissButton: DialogButtonUM?,
modifier: Modifier = Modifier,
) {
Row(
FlowRow(
modifier = modifier,
horizontalArrangement = Arrangement.spacedBy(
space = TangemTheme.dimens.spacing4,

View file

@ -6,6 +6,8 @@ import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
@ -23,6 +25,7 @@ import com.tangem.core.ui.components.label.entity.LabelStyle
import com.tangem.core.ui.components.label.entity.LabelUM
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.extensions.resourceReference
import com.tangem.core.ui.extensions.stringReference
import com.tangem.core.ui.extensions.stringResourceSafe
import com.tangem.core.ui.res.TangemTheme
import com.tangem.core.ui.res.TangemThemePreview
@ -72,6 +75,7 @@ internal fun CreateWalletSelectionContent(state: CreateWalletSelectionUM, modifi
Column(
modifier = Modifier
.weight(1f)
.verticalScroll(rememberScrollState())
.padding(
start = 16.dp,
top = 24.dp,
@ -114,6 +118,7 @@ internal fun CreateWalletSelectionContent(state: CreateWalletSelectionUM, modifi
}
}
@OptIn(ExperimentalLayoutApi::class)
@Composable
private fun WalletBlock(
title: String,
@ -138,12 +143,11 @@ private fun WalletBlock(
vertical = 12.dp,
),
) {
Row(
FlowRow(
horizontalArrangement = Arrangement.spacedBy(8.dp),
verticalArrangement = Arrangement.spacedBy(4.dp),
) {
Text(
modifier = Modifier
.weight(1f, fill = false),
text = title,
style = TangemTheme.typography.subtitle1,
color = TangemTheme.colors.text.primary1,
@ -178,6 +182,7 @@ private fun WalletBlock(
private fun Feature(feature: CreateWalletSelectionUM.Feature, modifier: Modifier = Modifier) {
Row(
modifier = modifier,
verticalAlignment = Alignment.CenterVertically,
) {
Icon(
modifier = Modifier.size(TangemTheme.dimens.size16),
@ -223,6 +228,8 @@ private fun AlreadyHaveTangemWalletBlock(
text = stringResourceSafe(R.string.wallet_add_hardware_purchase),
style = TangemTheme.typography.button,
color = TangemTheme.colors.text.primary1,
maxLines = 3,
overflow = TextOverflow.Ellipsis,
)
SecondaryButton(
@ -244,7 +251,7 @@ private fun PreviewCreateWalletContent() {
onBackClick = { },
blocks = persistentListOf(
CreateWalletSelectionUM.Block(
title = resourceReference(R.string.wallet_create_hardware_title),
title = stringReference("Hardware wallet very long title"),
titleLabel = LabelUM(
text = resourceReference(R.string.common_recommended),
style = LabelStyle.ACCENT,
@ -279,6 +286,7 @@ private fun PreviewCreateWalletContent() {
onClick = { },
),
),
shouldShowAlreadyHaveWallet = true,
onBuyClick = { },
),
)

View file

@ -154,6 +154,11 @@ internal class AccessCodeModel @Inject constructor(
title = resourceReference(R.string.access_code_alert_validation_ok),
onClick = ::setNewCode,
),
onDismissRequest = {
uiState.update { currentState ->
currentState.copy(onAccessCodeChange = ::onAccessCodeChange)
}
},
),
)
}

View file

@ -3,7 +3,8 @@ package com.tangem.features.hotwallet.common.ui
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.ExperimentalLayoutApi
import androidx.compose.foundation.layout.FlowRow
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Text
@ -19,6 +20,7 @@ import com.tangem.core.ui.res.TangemTheme
private const val DISABLED_COLORS_ALPHA = 0.5f
@OptIn(ExperimentalLayoutApi::class)
@Suppress("LongParameterList")
@Composable
internal fun OptionBlock(
@ -44,12 +46,11 @@ internal fun OptionBlock(
}
.padding(16.dp),
) {
Row(
FlowRow(
horizontalArrangement = Arrangement.spacedBy(8.dp),
verticalArrangement = Arrangement.spacedBy(4.dp),
) {
Text(
modifier = Modifier
.weight(1f, fill = false),
text = title,
style = TangemTheme.typography.subtitle1,
color = TangemTheme.colors.text.primary1,

View file

@ -3,6 +3,8 @@ package com.tangem.features.hotwallet.createhardwarewallet.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@ -42,6 +44,7 @@ internal fun CreateHardwareWalletContent(state: CreateHardwareWalletUM, modifier
Column(
modifier = Modifier
.weight(1f)
.verticalScroll(rememberScrollState())
.padding(
start = 16.dp,
top = 24.dp,

View file

@ -3,6 +3,8 @@ package com.tangem.features.hotwallet.createmobilewallet.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@ -41,6 +43,7 @@ internal fun CreateMobileWalletContent(state: CreateMobileWalletUM, modifier: Mo
Column(
modifier = Modifier
.weight(1f)
.verticalScroll(rememberScrollState())
.padding(
start = 16.dp,
top = 24.dp,

View file

@ -8,7 +8,6 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
@ -25,7 +24,7 @@ import com.tangem.features.hotwallet.manualbackup.start.entity.ManualBackupStart
@OptIn(ExperimentalMaterial3Api::class)
@Composable
internal fun ManualBackupStartContent(state: ManualBackupStartUM, modifier: Modifier = Modifier) {
Box(
Column(
modifier
.background(TangemTheme.colors.background.primary)
.fillMaxSize()
@ -36,7 +35,11 @@ internal fun ManualBackupStartContent(state: ManualBackupStartUM, modifier: Modi
bottom = 16.dp,
),
) {
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
Column(
modifier = Modifier
.weight(1f)
.verticalScroll(rememberScrollState()),
) {
Text(
modifier = Modifier
.fillMaxWidth()
@ -86,7 +89,6 @@ internal fun ManualBackupStartContent(state: ManualBackupStartUM, modifier: Modi
PrimaryButton(
modifier = Modifier
.align(Alignment.BottomCenter)
.fillMaxWidth()
.padding(top = 16.dp),
text = stringResourceSafe(R.string.common_continue),

View file

@ -3,6 +3,8 @@ package com.tangem.features.hotwallet.upgradewallet.ui
import android.content.res.Configuration
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.Text
@ -44,6 +46,7 @@ internal fun UpgradeWalletContent(state: UpgradeWalletUM, modifier: Modifier = M
Column(
modifier = Modifier
.weight(1f)
.verticalScroll(rememberScrollState())
.padding(
start = 16.dp,
top = 24.dp,

View file

@ -117,6 +117,8 @@ private fun PurchaseBlock(onBuyClick: () -> Unit, modifier: Modifier = Modifier)
text = stringResourceSafe(R.string.wallet_add_hardware_purchase),
style = TangemTheme.typography.button,
color = TangemTheme.colors.text.primary1,
maxLines = 3,
overflow = TextOverflow.Ellipsis,
)
SecondaryButton(