Updated on 2026-08-14

This commit is contained in:
Tangem 2022-12-06 20:45:53 +03:00
parent b07c9ae620
commit 2c00b9b5e7
6 changed files with 15 additions and 11 deletions

View file

@ -55,10 +55,14 @@ sealed class DetailsAction : Action {
) : AppSettings()
}
object EnrollBiometrics : AppSettings() {
object Enroll : AppSettings()
object Cancel : AppSettings()
}
data class CheckBiometricsStatus(
val awaitStatusChange: Boolean,
) : AppSettings()
object EnrollBiometrics : AppSettings()
data class BiometricsStatusChanged(
val needEnrollBiometrics: Boolean,
) : AppSettings()
}
data class ChangeAppCurrency(val fiatCurrency: FiatCurrency) : DetailsAction()

View file

@ -16,12 +16,12 @@ import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.fragment.app.viewModels
import com.tangem.core.ui.components.dialogs.EnrollBiometricsDialogContent
import com.tangem.core.ui.fragments.ComposeBottomSheetFragment
import com.tangem.core.ui.models.EnrollBiometricsDialog
import com.tangem.core.ui.res.TangemTheme
import com.tangem.tap.features.details.ui.cardsettings.resolveReference
import com.tangem.tap.features.saveWallet.ui.components.EnrollBiometricsDialogContent
import com.tangem.tap.features.saveWallet.ui.components.SaveWalletScreenContent
import com.tangem.tap.features.saveWallet.ui.models.EnrollBiometricsDialog
internal class SaveWalletBottomSheetFragment : ComposeBottomSheetFragment<SaveWalletScreenState>() {
override val expandedHeightFraction: Float = .98f

View file

@ -1,8 +1,8 @@
package com.tangem.tap.features.saveWallet.ui
import androidx.compose.runtime.Immutable
import com.tangem.core.ui.models.EnrollBiometricsDialog
import com.tangem.tap.features.details.ui.cardsettings.TextReference
import com.tangem.tap.features.saveWallet.ui.models.EnrollBiometricsDialog
@Immutable
internal data class SaveWalletScreenState(

View file

@ -1,11 +1,11 @@
package com.tangem.tap.features.saveWallet.ui
import androidx.lifecycle.ViewModel
import com.tangem.core.ui.models.EnrollBiometricsDialog
import com.tangem.tap.common.extensions.dispatchOnMain
import com.tangem.tap.features.details.ui.cardsettings.TextReference
import com.tangem.tap.features.saveWallet.redux.SaveWalletAction
import com.tangem.tap.features.saveWallet.redux.SaveWalletState
import com.tangem.tap.features.saveWallet.ui.models.EnrollBiometricsDialog
import com.tangem.tap.store
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow

View file

@ -0,0 +1,97 @@
package com.tangem.tap.features.saveWallet.ui.components
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.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.window.Dialog
import com.tangem.core.ui.R
import com.tangem.core.ui.components.SpacerH16
import com.tangem.core.ui.components.SpacerH24
import com.tangem.core.ui.components.SpacerW8
import com.tangem.core.ui.components.TextButton
import com.tangem.core.ui.res.TangemTheme
import com.tangem.tap.features.saveWallet.ui.models.EnrollBiometricsDialog
@Composable
fun EnrollBiometricsDialogContent(
modifier: Modifier = Modifier,
dialog: EnrollBiometricsDialog,
) {
Dialog(onDismissRequest = dialog.onCancel) {
Column(
modifier = modifier
.background(
shape = TangemTheme.shapes.roundedCornersLarge,
color = TangemTheme.colors.background.plain,
)
.padding(all = TangemTheme.dimens.spacing24),
) {
Text(
modifier = Modifier.fillMaxWidth(),
text = stringResource(R.string.save_user_wallet_agreement_enroll_biometrics_title),
style = TangemTheme.typography.h3,
color = TangemTheme.colors.text.primary1,
)
SpacerH16()
Text(
modifier = Modifier.fillMaxWidth(),
text = stringResource(R.string.save_user_wallet_agreement_enroll_biometrics_description),
style = TangemTheme.typography.body2,
color = TangemTheme.colors.text.primary1,
)
SpacerH24()
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.End,
) {
TextButton(
text = stringResource(R.string.common_cancel),
onClick = dialog.onCancel,
)
SpacerW8()
TextButton(
text = stringResource(R.string.common_enable),
onClick = dialog.onEnroll,
)
}
}
}
}
// region Preview
@Composable
private fun EnrollBiometricDialogContentSample(
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier
.background(TangemTheme.colors.background.primary),
) {
EnrollBiometricsDialogContent(dialog = EnrollBiometricsDialog({}, {}))
}
}
@Preview(showBackground = true, widthDp = 360)
@Composable
private fun EnrollBiometricDialogContentPreview_Light() {
TangemTheme {
EnrollBiometricDialogContentSample()
}
}
@Preview(showBackground = true, widthDp = 360)
@Composable
private fun EnrollBiometricDialogContentPreview_Dark() {
TangemTheme(isDark = true) {
EnrollBiometricDialogContentSample()
}
}
// endregion Preview

View file

@ -0,0 +1,9 @@
package com.tangem.tap.features.saveWallet.ui.models
import androidx.compose.runtime.Immutable
@Immutable
data class EnrollBiometricsDialog(
val onEnroll: () -> Unit,
val onCancel: () -> Unit,
)