@@ -28,6 +28,7 @@ import androidx.compose.ui.unit.dp
2828import androidx.lifecycle.compose.collectAsStateWithLifecycle
2929import to.bitkit.R
3030import to.bitkit.env.Env
31+ import to.bitkit.ui.scaffold.AppTopBar
3132import to.bitkit.ui.theme.AppThemeSurface
3233import to.bitkit.ui.theme.Colors
3334import to.bitkit.ui.utils.rememberBiometricAuthSupported
@@ -41,6 +42,7 @@ fun AuthCheckView(
4142 requireBiometrics : Boolean = false,
4243 requirePin : Boolean = false,
4344 onSuccess : (() -> Unit )? = null,
45+ onBack : (() -> Unit )? = null,
4446) {
4547 val isBiometricsEnabled by appViewModel.isBiometricEnabled.collectAsStateWithLifecycle()
4648 val attemptsRemaining by appViewModel.pinAttemptsRemaining.collectAsStateWithLifecycle()
@@ -54,6 +56,7 @@ fun AuthCheckView(
5456 requirePin = requirePin,
5557 validatePin = appViewModel::validatePin,
5658 onSuccess = onSuccess,
59+ onBack = onBack,
5760 )
5861}
5962
@@ -67,6 +70,7 @@ private fun AuthCheckViewContent(
6770 requirePin : Boolean = false,
6871 validatePin : (String ) -> Boolean ,
6972 onSuccess : (() -> Unit )? = null,
73+ onBack : (() -> Unit )? ,
7074) {
7175 var showBio by rememberSaveable { mutableStateOf(isBiometricsEnabled) }
7276
@@ -89,10 +93,11 @@ private fun AuthCheckViewContent(
8993 PinPad (
9094 showLogo = showLogoOnPin,
9195 validatePin = validatePin,
92- onSuccess = onSuccess,
9396 attemptsRemaining = attemptsRemaining,
9497 allowBiometrics = isBiometricsEnabled && isBiometrySupported && ! requirePin,
9598 onShowBiometrics = { showBio = true },
99+ onSuccess = onSuccess,
100+ onBack = onBack,
96101 )
97102 }
98103 }
@@ -102,10 +107,11 @@ private fun AuthCheckViewContent(
102107private fun PinPad (
103108 showLogo : Boolean = false,
104109 validatePin : (String ) -> Boolean ,
105- onSuccess : (() -> Unit )? ,
106110 attemptsRemaining : Int ,
107111 allowBiometrics : Boolean ,
108112 onShowBiometrics : () -> Unit ,
113+ onSuccess : (() -> Unit )? ,
114+ onBack : (() -> Unit )? = null,
109115) {
110116 var pin by remember { mutableStateOf(" " ) }
111117 val isLastAttempt = attemptsRemaining == 1
@@ -122,6 +128,7 @@ private fun PinPad(
122128 Column (
123129 horizontalAlignment = Alignment .CenterHorizontally ,
124130 ) {
131+ AppTopBar (titleText = " " , onBackClick = onBack)
125132 Box (
126133 contentAlignment = Alignment .BottomCenter ,
127134 modifier = Modifier .weight(1f )
@@ -200,6 +207,7 @@ private fun PreviewBio() {
200207 AppThemeSurface {
201208 AuthCheckViewContent (
202209 onSuccess = {},
210+ onBack = {},
203211 isBiometricsEnabled = true ,
204212 isBiometrySupported = true ,
205213 showLogoOnPin = true ,
@@ -215,6 +223,7 @@ private fun PreviewPin() {
215223 AppThemeSurface {
216224 AuthCheckViewContent (
217225 onSuccess = {},
226+ onBack = {},
218227 isBiometricsEnabled = false ,
219228 isBiometrySupported = true ,
220229 showLogoOnPin = true ,
@@ -230,6 +239,7 @@ private fun PreviewPinAttempts() {
230239 AppThemeSurface {
231240 AuthCheckViewContent (
232241 onSuccess = {},
242+ onBack = null ,
233243 isBiometricsEnabled = false ,
234244 isBiometrySupported = true ,
235245 showLogoOnPin = false ,
@@ -245,6 +255,7 @@ private fun PreviewPinAttemptLast() {
245255 AppThemeSurface {
246256 AuthCheckViewContent (
247257 onSuccess = {},
258+ onBack = {},
248259 isBiometricsEnabled = false ,
249260 isBiometrySupported = true ,
250261 showLogoOnPin = true ,
0 commit comments