import React, { createContext, useContext, useState, useEffect } from 'react' const AuthContext = createContext() const AuthProvider = ({ children }) => { const [user, setUser] = useState(null) useEffect(() => { const storedUser = JSON.parse(localStorage.getItem('user')) setUser(storedUser) }, []) const getUser = () => { return JSON.parse(localStorage.getItem('user')) } const userIsAuthenticated = () => { return localStorage.getItem('user') !== null } const userLogin = user => { localStorage.setItem('user', JSON.stringify(user)) setUser(user) } const userLogout = () => { localStorage.removeItem('user') setUser(null) } const contextValue = { user, getUser, userIsAuthenticated, userLogin, userLogout, } return ( {children} ) } export default AuthContext export function useAuth() { return useContext(AuthContext) } export { AuthProvider }