import React, { lazy, Suspense } from "react"; import { createRoot } from "react-dom/client"; import useLocation from "wouter/use-location"; import { normalise, useToggle } from "./util"; import Container from "./components/Container"; import { AppContext } from "./AppContext"; const Home = lazy(() => import("./pages/main/Home")); const Exp = lazy(() => import("./pages/main/Exp")); const Work = lazy(() => import("./pages/main/Work")); const Contact = lazy(() => import("./pages/main/Contact")); const NotFound = lazy(() => import("./pages/main/404")); function App() { const [location, navigate] = useLocation(); const normalised = normalise(location); if (location !== normalised) { navigate(normalised, { replace: true }); return null; } let child: React.ReactNode; if (normalised === "/") child = ; else if (normalised === "/experience") child = ; else if (normalised.startsWith("/experience/")) child = ; else if (normalised === "/work") child = ; else if (normalised === "/contact") child = ; // if (normalised === "/live") return ; // if (normalised === "/blog") return ; // if (location.startsWith("/blog")) return ; else child = ; return ( {child} ); } const ContextApp = () => { const context: AppContext = { menu: useToggle(false), contact: useToggle(false), }; return ( ); }; createRoot(document.getElementById("root")!).render( , );