]> git.localhorst.tv Git - alttp.git/blob - resources/js/components/app/Routes.js
fix tech basepath
[alttp.git] / resources / js / components / app / Routes.js
1 import PropTypes from 'prop-types';
2 import React from 'react';
3 import { Navigate, Route, Routes } from 'react-router-dom';
4
5 import FullLayout from './FullLayout';
6 import AlttpSeed from '../pages/AlttpSeed';
7 import DoorsTracker from '../pages/DoorsTracker';
8 import Event from '../pages/Event';
9 import Front from '../pages/Front';
10 import Map from '../pages/Map';
11 import Schedule from '../pages/Schedule';
12 import Technique from '../pages/Technique';
13 import Techniques from '../pages/Techniques';
14 import Tournament from '../pages/Tournament';
15 import User from '../pages/User';
16
17 const AppRoutes = ({ doLogout }) => <Routes>
18         <Route element={<FullLayout doLogout={doLogout} />}>
19                 <Route
20                         path="dungeons"
21                         element={<Techniques namespace="dungeons" type="dungeon" />}
22                 />
23                 <Route
24                         path="dungeons/:name"
25                         element={<Technique basepath="dungeons" type="dungeon" />}
26                 />
27                 <Route
28                         path="events/:name"
29                         element={<Event />}
30                 />
31                 <Route path="h/:hash" element={<AlttpSeed />} />
32                 <Route
33                         path="locations"
34                         element={<Techniques namespace="locations" type="location" />}
35                 />
36                 <Route
37                         path="locations/:name"
38                         element={<Technique basepath="locations" type="location" />}
39                 />
40                 <Route path="map">
41                         <Route index element={<Navigate replace to="lw" />} />
42                         <Route path=":activeMap" element={<Map />} />
43                 </Route>
44                 <Route
45                         path="modes"
46                         element={<Techniques namespace="modes" type="mode" />}
47                 />
48                 <Route
49                         path="modes/:name"
50                         element={<Technique basepath="modes" type="mode" />}
51                 />
52                 <Route
53                         path="rulesets"
54                         element={<Techniques namespace="rulesets" type="ruleset" />}
55                         />
56                 <Route
57                         path="rulesets/:name"
58                         element={<Technique basepath="rulesets" type="ruleset" />}
59                 />
60                 <Route path="schedule" element={<Schedule />} />
61                 <Route
62                         path="tech"
63                         element={<Techniques namespace="techniques" type="tech" />}
64                 />
65                 <Route
66                         path="tech/:name"
67                         element={<Technique basepath="tech" type="tech" />}
68                 />
69                 <Route path="tournaments/:id" element={<Tournament />} />
70                 <Route path="users/:id" element={<User />} />
71                 <Route path="/" element={<Front />} />
72                 <Route path="*" element={<Navigate to="/" />} />
73         </Route>
74         <Route
75                 path="doors-tracker"
76                 element={<DoorsTracker />}
77         />
78 </Routes>;
79
80 AppRoutes.propTypes = {
81         doLogout: PropTypes.func,
82 };
83
84 export default AppRoutes;