create visitor password

This commit is contained in:
mohammad
2024-08-19 09:49:58 +03:00
parent 869a10f92c
commit 753aa29a8a
3 changed files with 60 additions and 21 deletions

View File

@ -73,7 +73,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
ChangePasswordEvent event, Emitter<AuthState> emit) async {
try {
emit(LoadingForgetState());
bool response = await AuthenticationAPI.verifyOtp(
var response = await AuthenticationAPI.verifyOtp(
email: forgetEmailController.text, otpCode: forgetOtp.text);
if (response == true) {
await AuthenticationAPI.forgetPassword(
@ -81,8 +81,11 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
email: forgetEmailController.text);
_timer?.cancel();
emit(const TimerState(isButtonEnabled: true, remainingTime: 0));
emit(SuccessForgetState());
} else if (response == "You entered wrong otp") {
forgetValidate = response; // Set the validation message
emit(AuthInitialState());
}
emit(SuccessForgetState());
} catch (failure) {
forgetValidate='Invalid Credentials!';
emit(AuthInitialState());
@ -91,6 +94,13 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
}
}
String? validateCode(String? value) {
if (value == null || value.isEmpty) {
return 'Code is required';
}
return null;
}
void _onUpdateTimer(UpdateTimerEvent event, Emitter<AuthState> emit) {
emit(TimerState(
isButtonEnabled: event.isButtonEnabled,
@ -196,6 +206,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
validate='';
return null;
}
String? loginValidateEmail(String? value) {
if (!RegExp(r'^[^@]+@[^@]+\.[^@]+').hasMatch(value!)) {
return '';
@ -203,12 +214,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
return null;
}
String? validateCode(String? value) {
if (value == null || value.isEmpty) {
return 'Code is required';
}
return null;
}
bool _validateInputs(Emitter<AuthState> emit) {
emit(LoadingForgetState());

View File

@ -21,6 +21,11 @@ class ForgetPasswordWebPage extends StatelessWidget {
child: BlocConsumer<AuthBloc, AuthState>(
listener: (context, state) {
if (state is SuccessForgetState) {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Change Password Successfully '),
),
);
Navigator.of(context).pop();
} else if (state is FailureForgetState) {
ScaffoldMessenger.of(context).showSnackBar(
@ -242,6 +247,17 @@ class ForgetPasswordWebPage extends StatelessWidget {
const TextStyle(color: Colors.black),
),
),
if (forgetBloc.forgetValidate != '') // Check if there is a validation message
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
forgetBloc.forgetValidate,
style: const TextStyle(
color: ColorsManager.red,
fontSize: 12,
),
),
),
],
),
const SizedBox(height: 20.0),