panjareh
Version:
Panjareh using aparat and phoenix-video-player to play videos on desktops and tvs.
48 lines (36 loc) • 1.1 kB
JavaScript
import React, { useState, useEffect } from "react";
const AuthContext = React.createContext();
const { Provider, Consumer } = AuthContext;
import { AuthStorage } from "../../utils/authStorage";
function AuthProvider({ children }) {
const [isAuthed, setAuthed] = useState(false);
const [isLoading, setIsLoading] = useState(true);
const [profileInfo, setProfileInfo] = useState(null);
useEffect(() => {
async function loadUserFromCookies() {
const token = AuthStorage.getToken();
const info = AuthStorage.getTokenInfoDirect(token);
if (token) {
setProfileInfo();
setAuthed(true);
}
setIsLoading(false);
}
loadUserFromCookies();
}, []);
const authProviderValue = {
isAuthed,
isLoading,
userToken: AuthStorage.getToken(),
profileInfo,
};
return <Provider value={authProviderValue}>{children}</Provider>;
}
export default function AuthConsumer() {
return React.useContext(AuthContext);
}
export { AuthProvider };
// example :
// import useAuth from './authcontext';
//
// const { user } = useAuth();