import React, { createContext, useState, useEffect } from "react"; import Cookies from "js-cookie"; // create a context for the user. export const UserContext = createContext(); export const UserProvider = ({ children }) => { // user that will be stored initally set as guest const [user, setUser] = useState({ isAuthenticated: false, permission: "guest", }); useEffect(() => { // check if user is authenticated and their permisssion level const userAuthenticated = Cookies.get("userAuthenticated"); const userPermission = Cookies.get("userPermission"); console.log("userContext user authenticated: ", userAuthenticated); console.log("userContext user permission: ", userPermission); if (userAuthenticated === "true") { setUser({ isAuthenticated: true, permission: userPermission || "guest", }); console.log("set permission to: ", userPermission); } }, []); return ( <UserContext.Provider value={{ user, setUser }}> {children} </UserContext.Provider> ); };