import { useState } from "react"; import { useNavigate, redirect } from "react-router-dom"; import { useGoogleLogin } from "@react-oauth/google"; import { FcGoogle } from "react-icons/fc"; import { useAuth } from "src/hooks/AuthHooks"; import { FloatingParticles } from "../FlaotingParticles"; import { NavPreLogin } from "../navigations/NavPreLogin"; import { apiUserLogin, googleLogin } from "src/api/AuthenticationApi"; export function LoginPage() { const { setIsAuthenticated } = useAuth(); const Navigate = useNavigate(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(null); const handleEmailChange = (event) => { setEmail(event.target.value); }; const handlePasswordChange = (event) => { setPassword(event.target.value); }; const handleSubmit = (event) => { event.preventDefault(); // Send a POST request to the authentication API apiUserLogin({ email: email, password: password, }) .then((res) => { localStorage.setItem("access_token", res.data.access); localStorage.setItem("refresh_token", res.data.refresh); setIsAuthenticated(true); redirect("/"); }) .catch((err) => { setError("Incorrect username or password"); }); }; const googleLoginImplicit = useGoogleLogin({ flow: "auth-code", redirect_uri: "postmessage", onSuccess: async (response) => { try { const loginResponse = await googleLogin(response.code); if (loginResponse && loginResponse.data) { const { access_token, refresh_token } = loginResponse.data; localStorage.setItem("access_token", access_token); localStorage.setItem("refresh_token", refresh_token); setIsAuthenticated(true); Navigate("/"); } } catch (error) { console.error("Error with the POST request:", error); } }, onError: (errorResponse) => console.log(errorResponse), }); return (