validateEnteredPin function
Future<void>
validateEnteredPin({
- required BuildContext context,
- required String flag,
- required SetPinStatus setPinStatus,
- ReduxAction<
CoreState> ? logoutAction,
Validates that the PINs provided match & are valid createPin and confirmPin
Implementation
Future<void> validateEnteredPin({
required BuildContext context,
required String flag,
required SetPinStatus setPinStatus,
ReduxAction<CoreState>? logoutAction,
}) async {
final MiscState? miscState =
StoreProvider.state<CoreState>(context)!.miscState;
if (miscState!.createPin!.length == 4 && miscState.confirmPin!.length == 4) {
if (miscState.createPin == miscState.confirmPin) {
/// Update pinCode
StoreProvider.dispatch<CoreState>(
context,
BatchUpdateMiscStateAction(pinCode: miscState.confirmPin),
);
switch (setPinStatus) {
case SetPinStatus.IsSettingPin:
await StoreProvider.dispatch<CoreState>(
context, PhoneSignUpAction(context: context));
return;
case SetPinStatus.IsResettingPin:
await StoreProvider.dispatch<CoreState>(
context, UpdateUserPinAction(context: context));
return;
case SetPinStatus.IsChangingPin:
await StoreProvider.dispatch<CoreState>(
context,
ChangeUserPinAction(
pin: miscState.createPin!,
context: context,
logoutAction: logoutAction,
),
);
return;
}
} else {
ScaffoldMessenger.of(context)
.showSnackBar(snackbar(content: snackBarMatchingPinMessage));
}
}
}