sendPasswordResetEmail method
Future<void>
sendPasswordResetEmail()
Implementation
Future<void> sendPasswordResetEmail() async {
if (FirebaseAuth.instance.currentUser?.email == null) {
debugPrint('Email not found');
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message:
"Error occurred while trying to send email, please contact support",
);
return;
}
try {
await FirebaseAuth.instance.sendPasswordResetEmail(
email: FirebaseAuth.instance.currentUser!.email!);
CustomFlashWidget.showFlashMessage(
type: FlashType.success,
title: "Email sent",
message: "Reset password email was sent to your account",
);
} catch (e) {
if (e is FirebaseAuthException && e.code == 'auth/too-many-requests') {
debugPrint('Error sending password reset email: Too many attempts');
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message: "Too many attempts. Please try again later",
);
} else {
debugPrint('Error sending password reset email: $e');
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Error",
message:
"Error occurred while trying to send email, please contact support",
);
}
}
}