Added the logout function to the UserContext.jsx
This commit is contained in:
parent
c91c30a15a
commit
8d6dd45429
@ -1,7 +1,7 @@
|
|||||||
import {createContext, useEffect, useState} from "react";
|
import {createContext, useEffect, useState} from "react";
|
||||||
import Login from "@/states/Login";
|
import Login from "@/states/Login";
|
||||||
import Loading from "@/states/Loading";
|
import Loading from "@/states/Loading";
|
||||||
import {sessionRequest} from "@/common/utils/RequestUtil.js";
|
import {postRequest, sessionRequest} from "@/common/utils/RequestUtil.js";
|
||||||
import Verify from "@/states/Verify";
|
import Verify from "@/states/Verify";
|
||||||
|
|
||||||
export const UserContext = createContext({});
|
export const UserContext = createContext({});
|
||||||
@ -26,6 +26,13 @@ export const UserProvider = (props) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const logout = async () => {
|
||||||
|
await postRequest("/auth/logout", {token: sessionToken});
|
||||||
|
localStorage.removeItem("sessionToken");
|
||||||
|
setSessionToken(null);
|
||||||
|
setUser({loggedIn: false});
|
||||||
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTimeout(updateUser, 1000);
|
setTimeout(updateUser, 1000);
|
||||||
}, []);
|
}, []);
|
||||||
@ -41,7 +48,7 @@ export const UserProvider = (props) => {
|
|||||||
if (location.pathname.startsWith("/verify")) return <Verify />;
|
if (location.pathname.startsWith("/verify")) return <Verify />;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<UserContext.Provider value={{user, updateUser, updateSessionToken}}>
|
<UserContext.Provider value={{user, updateUser, logout, updateSessionToken}}>
|
||||||
{!loading && !user.loggedIn && <Login />}
|
{!loading && !user.loggedIn && <Login />}
|
||||||
{!loading && user.loggedIn && props.children}
|
{!loading && user.loggedIn && props.children}
|
||||||
</UserContext.Provider>
|
</UserContext.Provider>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user