import { useEffect } from "react"; import { useAuth } from "./useAuth"; export const useUser = () => { const { token, user, setUser } = useAuth(); console.log(user); useEffect(() => { const fetchUser = async () => { if (!token || user) return; try { const response = await fetch("http://localhost:3000/api/users/me", { headers: { Authorization: `Bearer ${token}`, }, }); if (!response.ok) throw new Error("Failed to fetch user"); const userData = await response.json(); setUser(userData); } catch (error) { console.error("Error fetching user:", error); useAuth.getState().logout(); } }; fetchUser(); }, [token, user, setUser]); return user; };