34 lines
824 B
JavaScript
34 lines
824 B
JavaScript
import React, { createContext, useContext, useState, useEffect } from 'react';
|
|
|
|
const AuthContext = createContext();
|
|
|
|
export const useAuth = () => {
|
|
return useContext(AuthContext);
|
|
};
|
|
|
|
export const AuthProvider = ({ children }) => {
|
|
const [isAuthenticated, setIsAuthenticated] = useState(() => {
|
|
const savedAuth = localStorage.getItem('isAuthenticated');
|
|
return savedAuth === 'true';
|
|
});
|
|
|
|
const login = () => {
|
|
setIsAuthenticated(true);
|
|
};
|
|
|
|
const logout = () => {
|
|
setIsAuthenticated(false);
|
|
};
|
|
|
|
useEffect(() => {
|
|
localStorage.setItem('isAuthenticated', isAuthenticated);
|
|
}, [isAuthenticated]);
|
|
|
|
return (
|
|
<AuthContext.Provider value={{ isAuthenticated, login, logout }}>
|
|
{children}
|
|
</AuthContext.Provider>
|
|
);
|
|
};
|
|
|