#20 Made logout page
This commit is contained in:
@@ -3,6 +3,7 @@ import { Route } from "wouter";
|
|||||||
import HomePage from "./pages/HomePage";
|
import HomePage from "./pages/HomePage";
|
||||||
import LoginPage from "./pages/LoginPage";
|
import LoginPage from "./pages/LoginPage";
|
||||||
import { UserContextProvider } from "./contexts/UserContext";
|
import { UserContextProvider } from "./contexts/UserContext";
|
||||||
|
import LogoutPage from "./pages/LogoutPage";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
return (
|
||||||
@@ -10,6 +11,7 @@ function App() {
|
|||||||
<UserContextProvider>
|
<UserContextProvider>
|
||||||
<Route path="/" component={HomePage} />
|
<Route path="/" component={HomePage} />
|
||||||
<Route path="/login" component={LoginPage} />
|
<Route path="/login" component={LoginPage} />
|
||||||
|
<Route path="/logout" component={LogoutPage} />
|
||||||
</UserContextProvider>
|
</UserContextProvider>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
24
frontend/src/pages/LogoutPage.jsx
Normal file
24
frontend/src/pages/LogoutPage.jsx
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import { useContext, useEffect } from "react";
|
||||||
|
import UserContext from "../contexts/UserContext";
|
||||||
|
import { makeRequest } from "../utils.ts";
|
||||||
|
|
||||||
|
const LogoutPage = () => {
|
||||||
|
const { setCurrentUser } = useContext(UserContext);
|
||||||
|
useEffect(() => {
|
||||||
|
const cleanup = async () => {
|
||||||
|
await makeRequest({
|
||||||
|
url: "http://localhost:5000/logout",
|
||||||
|
method: "POST",
|
||||||
|
});
|
||||||
|
|
||||||
|
await setCurrentUser({});
|
||||||
|
localStorage.removeItem("currentUser");
|
||||||
|
window.location.href = "/login";
|
||||||
|
};
|
||||||
|
cleanup();
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
return <div></div>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default LogoutPage;
|
||||||
Reference in New Issue
Block a user