summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2024-06-18 22:54:33 -0400
committerrealtradam <[email protected]>2024-06-18 22:54:33 -0400
commitd477cb8af05a6b8acdb8afa1811777a68e742211 (patch)
treea1e2f4d41e5cbcb31fde5315a8b12086d1f10199
parentc8b131e33e54ef11e09f22efd83e9e83412996ce (diff)
downloadmalcz.com-d477cb8af05a6b8acdb8afa1811777a68e742211.tar.gz
malcz.com-d477cb8af05a6b8acdb8afa1811777a68e742211.zip
dynamic login
-rw-r--r--src/components/CloseWindow.tsx1
-rw-r--r--src/components/Layout.tsx1
-rw-r--r--src/routes/index.tsx58
3 files changed, 37 insertions, 23 deletions
diff --git a/src/components/CloseWindow.tsx b/src/components/CloseWindow.tsx
index 247e794..40c5962 100644
--- a/src/components/CloseWindow.tsx
+++ b/src/components/CloseWindow.tsx
@@ -3,6 +3,7 @@
//export default () => (
export default function Home () {
+ localStorage.setItem("logged in trigger", String(Math.random()));
window.close();
window.location.replace("/");
diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx
index 960e112..fc50468 100644
--- a/src/components/Layout.tsx
+++ b/src/components/Layout.tsx
@@ -8,6 +8,7 @@ export default function Layout ({userData}: userData)
const loginLink = () => {
window.open(`https://github.com/login/oauth/authorize?client_id=${import.meta.env.VITE_GITHUB_CLIENTID}`);
};
+ console.log(userData);
return (
<>
<div id="page" className="star flex flex-row min-h-screen max-h-screen bg-amber-400 text-stone-950 text-xl bg-star bg-repeat bg-[length:170px_170px]">
diff --git a/src/routes/index.tsx b/src/routes/index.tsx
index d653bce..71cfd3b 100644
--- a/src/routes/index.tsx
+++ b/src/routes/index.tsx
@@ -12,30 +12,42 @@ export default function Index()
{
const [userData, setUserData] = useState({ name: '' });
useEffect(() => {
- const url = `${import.meta.env.VITE_API_TITLE}/api/v1/auth/data`;
- fetch(url, {
- credentials: "include"
-}).then((response) => {
- if(response.ok) {
- return response.json();
- }
- throw new Error("Network response was not ok.");
- }).then((response) => setUserData(response.user_data));}, []);
- // get user data here
- // then pass it in as 'props' into the components
+ const update_login_status = () => {
+ console.log("Triggered by login");
+ //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); };
+ }, []);
+
+
+
+ // get user data here
+ // then pass it in as 'props' into the components
return (<>
- {/*<h1>{userData.login}</h1>*/}
- <Router>
+ {/*<h1>{userData.login}</h1>*/}
+ <Router>
<Routes>
- <Route path="/" element = {<Layout userData={userData}/>}>
- <Route index element={<Home />} />
- <Route path="/blogs" element={<Blogs />} />
- <Route path="/games" element={<Games />} />
- <Route path="/games/upload" element={<UploadGame />} />
- <Route path="/game/:game" element={<Game />} />
- <Route path="/closewindow" element={<CloseWindow />} />
- </Route>
+ <Route path="/" element = {<Layout userData={userData}/>}>
+ <Route index element={<Home />} />
+ <Route path="/blogs" element={<Blogs />} />
+ <Route path="/games" element={<Games />} />
+ <Route path="/games/upload" element={<UploadGame />} />
+ <Route path="/game/:game" element={<Game />} />
+ <Route path="/closewindow" element={<CloseWindow />} />
+ </Route>
</Routes>
- </Router>
- </>);
+ </Router>
+ </>);
}