import {useState} from "react"; import {useSessionStore} from "../../lib/store/sessionStore"; import {useQueryClient} from "@tanstack/react-query"; const LoginForm = () => { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const {setSession} = useSessionStore(); const queryClient = useQueryClient(); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); // console.log("Form data", {username, password}); try { const response = await fetch("/api/auth/login", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({username, password}), }); // if (!response.ok) { // throw new Error("Invalid credentials"); // } const data = await response.json(); console.log("Response", data.data); // Store token in localStorage localStorage.setItem("auth_token", data.data.token); // Optionally store user info // localStorage.setItem("user", JSON.stringify(user)); setSession(data.data.user, data.data.token); // Refetch the session data to reflect the logged-in state queryClient.invalidateQueries(); setUsername(""); setPassword(""); } catch (err) { setError("Invalid credentials"); } }; return (
); }; export default LoginForm;