import React, { useState } from "react"; import { z } from "zod"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import showToast from "../../services/toastService"; import AuthRepository from "../../repositories/AuthRepository"; import "./page-auth.css"; const ChangePasswordSchema = z.object({ email: z.string().email(), newPassword: z .string() .min(8, "Password must be at least 8 characters") .regex(/[A-Z]/, "Must contain an uppercase letter") .regex(/[a-z]/, "Must contain a lowercase letter") .regex(/\d/, "Must contain a number") .regex(/[!@#$%^&*()_+{}\[\]:;<>,.?~\\/-]/, "Must contain a special character"), oldPassword: z.string().min(1, "Old Password is required"), }); const ChangePasswordPage = ({ onClose }) => { const [loading, setLoading] = useState(false); const [hidepass, setHidepass] = useState(true); const [hidepass1, setHidepass1] = useState(true); const { register, handleSubmit, formState: { errors }, reset, } = useForm({ resolver: zodResolver(ChangePasswordSchema), }); const onChangePassword = async (data) => { try { setLoading(true); await AuthRepository.changepassword(data); showToast("Your Password changed Successfully", "success"); setLoading(false); reset(); onClose(); } catch (error) { setLoading(false); showToast("Something went wrong", "error"); } }; return (
Enter your email and old password to update.