Duffer Derek
import { createContext, useReducer, useEffect } from "react";
export const AuthContext = createContext();
export const authReducer = (state, action) => {
switch (action.type) {
case "LOGIN":
return { user: action.payload, access_token: action.token };
case "LOGOUT":
localStorage.removeItem("user");
localStorage.removeItem("token");
return { user: null, access_token: null };
default:
return state;
}
};
export const AuthContextProvider = ({ children }) => {
const [state, dispatch] = useReducer(authReducer, {
user: localStorage.getItem("user")
? JSON.parse(localStorage.getItem("user"))
: null,
access_token: localStorage.getItem("token") || null,
});
return (
<AuthContext.Provider value={{ ...state, dispatch }}>
{children}
</AuthContext.Provider>
);
};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists