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