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 { RepoProvider } from "./routes/repo/context"; 11import RepoCommit, { preloadRepoCommit } from "./routes/repo/diff/commit"; 12import RepoCompare, { preloadRepoCompare } from "./routes/repo/diff/compare"; 13import RepoTree, { preloadRepoTree } from "./routes/repo/tree"; 14import User from "./routes/user"; 15 16const root = document.getElementById("root"); 17 18if (!(root instanceof HTMLElement)) { 19 throw new Error("Root element not found."); 20} 21 22render( 23 () => ( 24 <Router root={(props) => <App>{props.children}</App>}> 25 <Route path="/:user/:repo" component={RepoProvider}> 26 <Route 27 path="/tree/:ref/*path" 28 component={RepoTree} 29 preload={preloadRepoTree} 30 /> 31 <Route 32 path="/blob/:ref/*path" 33 component={RepoBlob} 34 preload={preloadRepoBlob} 35 /> 36 <Route 37 path="/commit/:ref" 38 component={RepoCommit} 39 preload={preloadRepoCommit} 40 /> 41 <Route 42 path="/compare/:base/:compare" 43 component={RepoCompare} 44 preload={preloadRepoCompare} 45 /> 46 <Route component={RepoTree} preload={preloadRepoTree} /> 47 </Route> 48 <Route path="/:user" component={User} /> 49 <Route path="*" component={NotFound} /> 50 </Router> 51 ), 52 root, 53);