diff options
Diffstat (limited to 'panel/src/contexts')
-rw-r--r-- | panel/src/contexts/AuthContext.jsx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/panel/src/contexts/AuthContext.jsx b/panel/src/contexts/AuthContext.jsx new file mode 100644 index 0000000..cf8c7b5 --- /dev/null +++ b/panel/src/contexts/AuthContext.jsx @@ -0,0 +1,27 @@ +import React, { createContext, useContext, useEffect, useState } from 'react'; +import { auth } from '../firebase'; +import { onAuthStateChanged } from 'firebase/auth'; + +const AuthContext = createContext(); + +export const useAuth = () => { + return useContext(AuthContext); +}; + +export const AuthProvider = ({ children }) => { + const [currentUser, setCurrentUser] = useState(null); + + useEffect(() => { + const unsubscribe = onAuthStateChanged(auth, (user) => { + setCurrentUser(user); + }); + + return unsubscribe; + }, []); + + const value = { + currentUser, + }; + + return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>; +}; |