import { useState, useEffect } from "react"; import { useDispatch, useSelector } from "react-redux"; import { useNavigate, Link } from "react-router-dom"; import { clearError } from "../features/slices/details-slice"; import fetchLoginUser from "../features/fetch-async/fetchLoginUser"; function LoginPage() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const dispatch = useDispatch(); const navigate = useNavigate(); const { loading, error, token } = useSelector((state) => state.userDetails); // Redirect if already logged in useEffect(() => { if (token) { navigate("/"); } }, [token, navigate]); // Clear error on unmount useEffect(() => { return () => { dispatch(clearError()); }; }, [dispatch]); const handleSubmit = async (e) => { e.preventDefault(); const result = await dispatch(fetchLoginUser({ email, password })); if (fetchLoginUser.fulfilled.match(result)) { navigate("/"); } }; return (
Enter your email and password, then press the button to continue.
{error && (Don't have an account?{" "} Register