Added TanExpiredCallback to close EnterTanDialog when TAN has expired
This commit is contained in:
parent
8f774361e9
commit
66d9214c4f
|
@ -18,13 +18,16 @@ import bankmeister.composeapp.generated.resources.zoom_in
|
||||||
import bankmeister.composeapp.generated.resources.zoom_out
|
import bankmeister.composeapp.generated.resources.zoom_out
|
||||||
import kotlinx.datetime.TimeZone
|
import kotlinx.datetime.TimeZone
|
||||||
import kotlinx.datetime.toLocalDateTime
|
import kotlinx.datetime.toLocalDateTime
|
||||||
|
import net.codinux.banking.client.model.tan.ActionRequiringTan
|
||||||
import net.codinux.banking.client.model.tan.AllowedTanFormat
|
import net.codinux.banking.client.model.tan.AllowedTanFormat
|
||||||
import net.codinux.banking.client.model.tan.EnterTanResult
|
import net.codinux.banking.client.model.tan.EnterTanResult
|
||||||
import net.codinux.banking.ui.composables.BankIcon
|
import net.codinux.banking.ui.composables.BankIcon
|
||||||
|
import net.codinux.banking.ui.config.DI
|
||||||
import net.codinux.banking.ui.config.Internationalization
|
import net.codinux.banking.ui.config.Internationalization
|
||||||
import net.codinux.banking.ui.forms.OutlinedTextField
|
import net.codinux.banking.ui.forms.OutlinedTextField
|
||||||
import net.codinux.banking.ui.forms.Select
|
import net.codinux.banking.ui.forms.Select
|
||||||
import net.codinux.banking.ui.model.TanChallengeReceived
|
import net.codinux.banking.ui.model.TanChallengeReceived
|
||||||
|
import net.codinux.banking.ui.model.error.ErroneousAction
|
||||||
import net.codinux.banking.ui.service.createImageBitmap
|
import net.codinux.banking.ui.service.createImageBitmap
|
||||||
import net.codinux.log.Log
|
import net.codinux.log.Log
|
||||||
import org.jetbrains.compose.resources.imageResource
|
import org.jetbrains.compose.resources.imageResource
|
||||||
|
@ -50,12 +53,29 @@ fun EnterTanDialog(tanChallengeReceived: TanChallengeReceived, onDismiss: () ->
|
||||||
var enteredTan by remember { mutableStateOf("") }
|
var enteredTan by remember { mutableStateOf("") }
|
||||||
|
|
||||||
|
|
||||||
|
challenge.addTanExpiredCallback {
|
||||||
|
val erroneousAction = when (challenge.forAction) {
|
||||||
|
ActionRequiringTan.GetTransactions -> ErroneousAction.UpdateAccountTransactions
|
||||||
|
ActionRequiringTan.TransferMoney -> ErroneousAction.TransferMoney
|
||||||
|
else -> ErroneousAction.AddAccount
|
||||||
|
}
|
||||||
|
DI.uiState.applicationErrorOccurred(erroneousAction, "TAN ist abgelaufen und kann nicht mehr eingegeben werden")
|
||||||
|
|
||||||
|
onDismiss()
|
||||||
|
}
|
||||||
if (isDecoupledMethod) {
|
if (isDecoupledMethod) {
|
||||||
challenge.addUserApprovedDecoupledTanCallback {
|
challenge.addUserApprovedDecoupledTanCallback {
|
||||||
onDismiss()
|
onDismiss()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
fun dismiss() {
|
||||||
|
tanChallengeReceived.callback(EnterTanResult(null))
|
||||||
|
|
||||||
|
onDismiss()
|
||||||
|
}
|
||||||
|
|
||||||
fun confirmCalled() {
|
fun confirmCalled() {
|
||||||
if (enteredTan.length > 2) {
|
if (enteredTan.length > 2) {
|
||||||
tanChallengeReceived.callback(EnterTanResult(enteredTan))
|
tanChallengeReceived.callback(EnterTanResult(enteredTan))
|
||||||
|
|
Loading…
Reference in New Issue