import React, { createContext, useContext, useState, useEffect } from "react"; const AuthContext = createContext(); export const AuthProvider = ({ children }) => { const [isAuthenticated, setIsAuthenticated] = useState(() => { const access_token = localStorage.getItem("access_token"); return !!access_token; }); useEffect(() => { const handleTokenChange = () => { const newAccessToken = localStorage.getItem("access_token"); setIsAuthenticated(!!newAccessToken); }; handleTokenChange(); window.addEventListener("storage", handleTokenChange); return () => { window.removeEventListener("storage", handleTokenChange); }; }, []); return ( {children} ); }; export const useAuth = () => { const context = useContext(AuthContext); if (!context) { throw new Error("useAuth must be used within an AuthProvider"); } return context; };