import { useState } from "react"; import { Link } from "react-router-dom"; import { AuthWrapper } from "./AuthWrapper"; import { useNavigate } from "react-router-dom"; import "./page-auth.css"; import AuthRepository from "../../repositories/AuthRepository"; import showToast from "../../services/toastService"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; const loginScheam = z.object({ username: z.string().email(), password: z.string().min(1, { message: "Password required" }), rememberMe: z.boolean(), }); const LoginPage = () => { const navigate = useNavigate(); const [loading, setLoading] = useState(false); const [hidepass, setHidepass] = useState(true); const { register, handleSubmit, formState: { errors }, reset, getValues, } = useForm({ resolver: zodResolver(loginScheam), }); const onSubmit = async (data) => { setLoading(true); try { let userCredential = { username: data.username, password: data.password, }; const response = await AuthRepository.login(userCredential); localStorage.setItem("jwtToken", response.data.token); localStorage.setItem("refreshToken", response.data.refreshToken); setLoading(false); navigate("/dashboard"); } catch (err) { console.log("Unable to proceed. Please try again."); setLoading(false); } }; return (

Welcome to PMS!

Please sign-in to your account and start the adventure

{errors.username && (
{errors.username.message}
)}
setHidepass(!hidepass)} > {hidepass ? ( ) : ( )}
{errors.password && (
{errors.password.message}
)}
Forgot Password?

New on our platform? Request a Demo

); }; export default LoginPage;