import * as React from "react"; import { BrowserRouter, Routes, Route } from "react-router-dom"; import Navbar from "./components/Navbar.tsx"; import NavbarButton from "./components/NavbarButton.tsx"; import NavbarUserInfo from "./components/NavbarUserInfo.tsx"; import Home from "./pages/Home.tsx"; import Blog from "./pages/Blog.tsx"; import Login from "./pages/Login.tsx"; import Logout from "./pages/Logout.tsx"; import About from "./pages/About.tsx"; import Settings from "./pages/Settings.tsx"; import BlogEditor from "./pages/BlogEditor.tsx"; import { usernameStorageHandlerInit, authTokenStorageHandlerInit, userIDStorageHandlerInit, } from "./components/storageHandler.ts"; function getUserIDbyAuthToken( authTokenStorageHandler: object, userIDStorageHandler: object, ) { if ( authTokenStorageHandler.authTokenValue && !userIDStorageHandler.userIDValue ) { fetch("http://127.0.0.1:8000/api/user/IDByAuthToken", { method: "GET", headers: { "Content-Type": "application/json", authToken: authTokenStorageHandler.authTokenValue, }, }) .then((response) => response.json()) .then((responseParsed: Object) => { if (responseParsed.success) { userIDStorageHandler.setUserIDValue(responseParsed.userID); } }); } } export default function App() { const usernameStorageHandler = usernameStorageHandlerInit(); const authTokenStorageHandler = authTokenStorageHandlerInit(); const userIDStorageHandler = userIDStorageHandlerInit(); getUserIDbyAuthToken(authTokenStorageHandler, userIDStorageHandler); return ( <> Home About {userIDStorageHandler.userIDValue ? ( <> BlogEditor Settings Logout ) : ( Login )}
} /> } /> } /> } /> } /> } /> } /> } />
); }