MCPcopy Create free account
hub / github.com/SensAI-PT/RAGMeUp / AuthProvider

Function AuthProvider

ui/node-react/client/src/contexts/AuthContext.js:6–46  ·  view source on GitHub ↗
({ children })

Source from the content-addressed store, hash-verified

4const AuthContext = createContext(null);
5
6export function AuthProvider({ children }) {
7 const [user, setUser] = useState(null);
8 const [loading, setLoading] = useState(true);
9
10 const checkAuth = useCallback(async () => {
11 const token = localStorage.getItem('token');
12 if (!token) {
13 setLoading(false);
14 return;
15 }
16 try {
17 const data = await getMe();
18 setUser(data.user);
19 } catch {
20 localStorage.removeItem('token');
21 setUser(null);
22 } finally {
23 setLoading(false);
24 }
25 }, []);
26
27 useEffect(() => {
28 checkAuth();
29 }, [checkAuth]);
30
31 const loginUser = (token, userData) => {
32 localStorage.setItem('token', token);
33 setUser(userData);
34 };
35
36 const logoutUser = () => {
37 localStorage.removeItem('token');
38 setUser(null);
39 };
40
41 return (
42 <AuthContext.Provider value={{ user, loading, loginUser, logoutUser }}>
43 {children}
44 </AuthContext.Provider>
45 );
46}
47
48export function useAuth() {
49 return useContext(AuthContext);

Callers

nothing calls this directly

Calls 1

getMeFunction · 0.90

Tested by

no test coverage detected