preauth, preauth comp success now

This commit is contained in:
kizzy 2026-06-26 14:04:59 +07:00
parent 1a7e4c2020
commit db6cfa3eb6
3 changed files with 76 additions and 11 deletions

View File

@ -16,6 +16,7 @@ import androidx.compose.foundation.layout.statusBarsPadding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.Backspace
import androidx.compose.material.icons.rounded.Backspace
import androidx.compose.material3.Button
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.Card
@ -25,7 +26,9 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.mob.utsmyanmar.ui.theme.Color
@ -178,3 +181,62 @@ fun NumericEntryScreen(
}
}
}
@Composable
private fun NumericKeypad(
keys: List<List<String>>,
onKeyClick: (String) -> Unit
) {
Column(
modifier = Modifier.fillMaxWidth(),
verticalArrangement = Arrangement.spacedBy(6.dp)
) {
keys.forEach { row ->
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(6.dp)
) {
row.forEach { key ->
KeyPadButton(
text = key,
modifier = Modifier.weight(1f),
onClick = { onKeyClick(key) }
)
}
}
}
}
}
@Composable
private fun KeyPadButton(
text: String,
modifier: Modifier = Modifier,
onClick: () -> Unit
) {
val enabled = text.isNotBlank()
Box(
modifier = modifier
.height(66.dp)
.shadow(
elevation = 2.dp,
shape = RoundedCornerShape(8.dp),
clip = false
)
.background(
color = Color.White,
shape = RoundedCornerShape(8.dp)
)
.clickable(enabled = enabled) { onClick() },
contentAlignment = Alignment.Center
) {
Text(
text = text,
color = if (enabled) Color.LegacyRed else Color.White,
fontSize = 24.sp,
fontWeight = FontWeight.Normal,
textAlign = TextAlign.Center
)
}
}

View File

@ -128,6 +128,9 @@ fun AppNavGraph(
}
}
}
val transProcessViewModel: TransProcessViewModel = hiltViewModel(activity)
transProcessViewModel.resetTransactionStatus()
DashboardScreen2(
dashboardUiState = dashboardUiState,
deviceInfo = deviceInfo,

View File

@ -31,22 +31,22 @@ object MockData {
// )
//debit
private val mockCardData: MockCardData = MockCardData(
cardNo="9503032443884321",
expDate="3102",
cardScheme="MPU",
cardHolderName="Htin Kyaw Win",
iccData="9503032443884321=310220100"
)
// private val mockCardData: MockCardData = MockCardData(
// cardNo="6244310039574344",
// expDate="3011",
// cardNo="9503032443884321",
// expDate="3102",
// cardScheme="MPU",
// cardHolderName="Htin Kyaw Win",
// iccData="6244310039574344=30112011558125900000"
// iccData="9503032443884321=310220100"
// )
private val mockCardData: MockCardData = MockCardData(
cardNo="6244310039574344",
expDate="3011",
cardScheme="MPU",
cardHolderName="Htin Kyaw Win",
iccData="6244310039574344=30112011558125900000"
)
fun generateMPUCard(): CardDataX = CardDataX().apply {
pan = mockCardData.cardNo
exp = mockCardData.expDate