Updated on 2026-08-14
This commit is contained in:
parent
dad6711cc0
commit
31ee969e05
3 changed files with 13 additions and 1 deletions
|
|
@ -6,6 +6,7 @@ import com.tangem.core.decompose.di.ModelScoped
|
|||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.core.decompose.ui.UiMessageSender
|
||||
import com.tangem.core.ui.components.fields.PinTextColor
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.message.DialogMessage
|
||||
import com.tangem.core.ui.message.EventMessageAction
|
||||
|
|
@ -60,6 +61,7 @@ internal class AccessCodeModel @Inject constructor(
|
|||
|
||||
private fun getInitialState() = AccessCodeUM(
|
||||
accessCode = "",
|
||||
accessCodeColor = PinTextColor.Primary,
|
||||
onAccessCodeChange = ::onAccessCodeChange,
|
||||
isConfirmMode = params.accessCodeToConfirm != null,
|
||||
buttonEnabled = false,
|
||||
|
|
@ -76,6 +78,12 @@ internal class AccessCodeModel @Inject constructor(
|
|||
} else {
|
||||
value.length == uiState.value.accessCodeLength
|
||||
},
|
||||
accessCodeColor = when {
|
||||
params.accessCodeToConfirm == null -> PinTextColor.Primary
|
||||
value.length != uiState.value.accessCodeLength -> PinTextColor.Primary
|
||||
value == params.accessCodeToConfirm -> PinTextColor.Success
|
||||
else -> PinTextColor.WrongCode
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
package com.tangem.features.hotwallet.accesscode.entity
|
||||
|
||||
import com.tangem.core.ui.components.fields.PinTextColor
|
||||
import com.tangem.features.hotwallet.accesscode.ACCESS_CODE_LENGTH
|
||||
|
||||
internal data class AccessCodeUM(
|
||||
val accessCode: String,
|
||||
val accessCodeColor: PinTextColor,
|
||||
val onAccessCodeChange: (String) -> Unit,
|
||||
val isConfirmMode: Boolean,
|
||||
val buttonEnabled: Boolean,
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ internal fun AccessCode(state: AccessCodeUM, modifier: Modifier = Modifier) {
|
|||
length = state.accessCodeLength,
|
||||
isPasswordVisual = state.isConfirmMode,
|
||||
value = state.accessCode,
|
||||
pinTextColor = PinTextColor.Primary,
|
||||
pinTextColor = state.accessCodeColor,
|
||||
onValueChange = state.onAccessCodeChange,
|
||||
)
|
||||
}
|
||||
|
|
@ -109,6 +109,7 @@ private fun PreviewSet() {
|
|||
AccessCode(
|
||||
state = AccessCodeUM(
|
||||
accessCode = "",
|
||||
accessCodeColor = PinTextColor.Primary,
|
||||
onAccessCodeChange = {},
|
||||
isConfirmMode = false,
|
||||
buttonEnabled = false,
|
||||
|
|
@ -127,6 +128,7 @@ private fun PreviewConfirm() {
|
|||
AccessCode(
|
||||
state = AccessCodeUM(
|
||||
accessCode = "123456",
|
||||
accessCodeColor = PinTextColor.Success,
|
||||
onAccessCodeChange = {},
|
||||
isConfirmMode = true,
|
||||
buttonEnabled = true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue