diff options
Diffstat (limited to 'react-frontend/src/routes')
| -rw-r--r-- | react-frontend/src/routes/index.tsx | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/react-frontend/src/routes/index.tsx b/react-frontend/src/routes/index.tsx new file mode 100644 index 0000000..e22bcc4 --- /dev/null +++ b/react-frontend/src/routes/index.tsx @@ -0,0 +1,40 @@ +import { useState, useEffect } from "react"; +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; +import Home from "../pages/Home"; +import Layout from "../components/Layout"; +import CloseWindow from "../pages/CloseWindow"; + +export default function Index() +{ + + const [userData, setUserData] = useState({ name: '' }); + useEffect(() => { + const update_login_status = () => { + //localStorage.removeItem("logged in trigger"); + const url = `${import.meta.env.VITE_API_TITLE}/api/v1/auth/data`; + try { fetch(url, { + credentials: "include" + }).then((response) => { + if(response.ok) { + return response.json(); + } + //throw new Error("Network response was not ok."); + }).then((response) => response && setUserData(response.user_data)).catch((err) => { console.log(err); });} + catch(err) { console.log(err); } + }; + window.addEventListener('storage', update_login_status ); + update_login_status(); + return () => { window.removeEventListener('storage', update_login_status); }; + }, []); + + return (<> + <Router> + <Routes> + <Route path="/" element = {<Layout userData={userData}/>}> + <Route index element={<Home />} /> + <Route path="/closewindow" element={<CloseWindow />} /> + </Route> + </Routes> + </Router> + </>); +} |
