basic suspense

This commit is contained in:
rift 2023-12-27 14:19:48 -06:00
parent 4281edb7a7
commit 1c48eb2a65
2 changed files with 39 additions and 20 deletions

View file

@ -1,26 +1,20 @@
import { render } from "preact"; import { render } from "preact";
import { LocationProvider, Router, Route } from "preact-iso"; import { Suspense, lazy } from "preact/compat";
import { Home } from "./pages/Home"; const Routes = lazy(() => import("./routes"));
import { NotFound } from "./pages/_404.jsx";
import { DiscordPage } from "./pages/discord.jsx";
import { ProxyFrame } from "./pages/ProxyFrame.js";
import { Settings } from "./pages/Settings/index.js";
import "./style.css"; export default function App() {
import "./themes/main.css";
import "./i18n";
export function App() {
return ( return (
<LocationProvider> <Suspense
<Router> fallback={
<Route path="/" component={Home} /> <div>
<Route path="/discord" component={DiscordPage} /> <div>loading...</div>
<Route path="/go/:url" component={ProxyFrame} /> </div>
<Route path="/settings" component={Settings} /> }
<Route default component={NotFound} /> >
</Router> <div>
</LocationProvider> <Routes />
</div>
</Suspense>
); );
} }

25
src/routes.tsx Normal file
View file

@ -0,0 +1,25 @@
import { LocationProvider, Router, Route } from "preact-iso";
import { Home } from "./pages/Home";
import { NotFound } from "./pages/_404.jsx";
import { DiscordPage } from "./pages/discord.jsx";
import { ProxyFrame } from "./pages/ProxyFrame.js";
import { Settings } from "./pages/Settings/index.js";
import "./style.css";
import "./themes/main.css";
import "./i18n";
export default function Routes() {
return (
<LocationProvider>
<Router>
<Route path="/" component={Home} />
<Route path="/discord" component={DiscordPage} />
<Route path="/go/:url" component={ProxyFrame} />
<Route path="/settings" component={Settings} />
<Route default component={NotFound} />
</Router>
</LocationProvider>
);
}