-const AppRoutes = ({ doLogout }) => <Routes>
- <Route element={<FullLayout doLogout={doLogout} />}>
- <Route
- path="discord-bot"
- element={<DiscordBot />}
- />
- <Route
- path="dungeons"
- element={<Techniques namespace="dungeons" type="dungeon" />}
- />
- <Route
- path="dungeons/:name"
- element={<Technique basepath="dungeons" type="dungeon" />}
- />
- <Route
- path="events"
- element={<Events />}
- />
- <Route
- path="events/:name"
- element={<Event />}
- />
- <Route path="h/:hash" element={<AlttpSeed />} />
- <Route
- path="locations"
- element={<Techniques namespace="locations" type="location" />}
- />
- <Route
- path="locations/:name"
- element={<Technique basepath="locations" type="location" />}
- />
- <Route path="map">
- <Route index element={<Navigate replace to="lw" />} />
- <Route path=":activeMap" element={<Map />} />
- </Route>
- <Route
- path="modes"
- element={<Techniques namespace="modes" type="mode" />}
- />
- <Route
- path="modes/:name"
- element={<Technique basepath="modes" type="mode" />}
- />
- <Route
- path="rulesets"
- element={<Techniques namespace="rulesets" type="ruleset" />}
+const router = createBrowserRouter(
+ createRoutesFromElements(
+ <Route>
+ <Route element={<FullLayout />}>
+ <Route
+ path="discord-bot"
+ lazy={() => import(
+ /* webpackChunkName: "admin" */
+ '../pages/DiscordBot'
+ )}
+ />
+ <Route
+ path="dungeons"
+ element={<Techniques namespace="dungeons" type="dungeon" />}
+ />
+ <Route
+ path="dungeons/:name"
+ element={<Technique basepath="dungeons" type="dungeon" />}
+ />
+ <Route
+ path="events"
+ lazy={() => import(
+ /* webpackChunkName: "events" */
+ '../pages/Events'
+ )}
+ />
+ <Route
+ path="events/:name"
+ lazy={() => import(
+ /* webpackChunkName: "events" */
+ '../pages/Event'
+ )}
+ />
+ <Route
+ path="h/:hash"
+ lazy={() => import(
+ /* webpackChunkName: "seeds" */
+ '../pages/AlttpSeed'
+ )}
+ />
+ <Route
+ path="locations"
+ element={<Techniques namespace="locations" type="location" />}
+ />
+ <Route
+ path="locations/:name"
+ element={<Technique basepath="locations" type="location" />}
+ />
+ <Route path="map">
+ <Route index element={<Navigate replace to="lw" />} />
+ <Route
+ path=":activeMap"
+ lazy={() => import(
+ /* webpackChunkName: "map" */
+ '../pages/Map'
+ )}
+ />
+ </Route>
+ <Route
+ path="modes"
+ element={<Techniques namespace="modes" type="mode" />}
+ />
+ <Route
+ path="modes/:name"
+ element={<Technique basepath="modes" type="mode" />}
+ />
+ <Route
+ path="rulesets"
+ element={<Techniques namespace="rulesets" type="ruleset" />}
+ />
+ <Route
+ path="rulesets/:name"
+ element={<Technique basepath="rulesets" type="ruleset" />}
+ />
+ <Route
+ path="schedule"
+ lazy={() => import(
+ /* webpackChunkName: "events" */
+ '../pages/Schedule'
+ )}
+ />
+ <Route
+ path="tech"
+ element={<Techniques namespace="techniques" type="tech" />}
+ />
+ <Route
+ path="tech/:name"
+ element={<Technique basepath="tech" type="tech" />}
+ />
+ <Route
+ path="tournaments/:id"
+ lazy={() => import(
+ /* webpackChunkName: "tournament" */
+ '../pages/Tournament'
+ )}
+ />
+ <Route
+ path="twitch-bot"
+ lazy={() => import(
+ /* webpackChunkName: "admin" */
+ '../pages/TwitchBot'
+ )}
+ />
+ <Route path="users/:id" element={<User />} />
+ <Route path="/" element={<Front />} />
+ <Route path="*" element={<Navigate to="/" />} />
+ </Route>
+ <Route
+ path="doors-tracker"
+ lazy={() => import(
+ /* webpackChunkName: "tracker" */
+ '../pages/DoorsTracker'
+ )}