Added: auth modules and providers

This commit is contained in:
Llewellyn D'souza
2022-01-06 11:31:28 +05:30
parent 049a7f7a45
commit 7c9e1d69aa
6 changed files with 106 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
import { createContext, useContext, useState } from 'react';
import authService from '../services/auth.service';
let AuthContext = createContext(null);
export default function AuthProvider({ children }) {
let [user, setUser] = useState(authService.getCurrentUser());
let signin = async (loginData, callback) => {
const userData = await authService.login(loginData);
setUser(userData);
callback();
};
let signout = async (callback) => {
await authService.logout();
setUser(null);
callback();
};
let value = { user, signin, signout };
return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;
}
export const useAuth = () => {
return useContext(AuthContext);
};