"use client"; import { useState, useEffect, ReactNode } from "react"; import { AuthContext, getStoredToken, getStoredUser, setStoredToken, setStoredUser } from "@/lib/auth"; import { User } from "@/lib/api"; export default function AuthProvider({ children }: { children: ReactNode }) { const [token, setToken] = useState(null); const [user, setUser] = useState(null); const [loaded, setLoaded] = useState(false); useEffect(() => { setToken(getStoredToken()); setUser(getStoredUser()); setLoaded(true); }, []); function setAuth(newToken: string | null, newUser: User | null) { setToken(newToken); setUser(newUser); setStoredToken(newToken); setStoredUser(newUser); } function logout() { setAuth(null, null); } if (!loaded) { return (
); } return ( {children} ); }