extremely wip tangled spa
1/* @refresh reload */ 2import "solid-devtools"; 3import "./styles/index.css"; 4 5import { Route, Router } from "@solidjs/router"; 6import { render } from "solid-js/web"; 7import App from "./app"; 8import NotFound from "./errors/404"; 9import RepoBlob, { preloadRepoBlob } from "./routes/repo/blob"; 10import RepoCommit from "./routes/repo/commit/commit"; 11import { RepoProvider } from "./routes/repo/context"; 12import RepoTree, { preloadRepoTree } from "./routes/repo/tree"; 13import User from "./routes/user"; 14 15const root = document.getElementById("root"); 16 17if (!(root instanceof HTMLElement)) { 18 throw new Error("Root element not found."); 19} 20 21render( 22 () => ( 23 <Router root={(props) => <App>{props.children}</App>}> 24 <Route path="/:user/:repo" component={RepoProvider}> 25 <Route 26 path="/tree/:ref/*path" 27 component={RepoTree} 28 preload={preloadRepoTree} 29 /> 30 <Route 31 path="/blob/:ref/*path" 32 component={RepoBlob} 33 preload={preloadRepoBlob} 34 /> 35 <Route path="/commit/:ref" component={RepoCommit} /> 36 <Route component={RepoTree} /> 37 </Route> 38 <Route path="/:user" component={User} /> 39 <Route path="*" component={NotFound} /> 40 </Router> 41 ), 42 root, 43);