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