]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/App.js
add plain maps
[alttp.git] / resources / js / components / App.js
index f63298978de960aa1602ba08c99772e4989c9b0f..d84474cfc65da9c1a2e628f5513c20d457ece183 100644 (file)
@@ -2,9 +2,16 @@ import axios from 'axios';
 import React, { useEffect, useState } from 'react';
 import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
 
+import Footer from './common/Footer';
 import Header from './common/Header';
+import AlttpSeed from './pages/AlttpSeed';
 import Front from './pages/Front';
+import Map from './pages/Map';
+import Technique from './pages/Technique';
+import Techniques from './pages/Techniques';
 import Tournament from './pages/Tournament';
+import User from './pages/User';
+import AlttpBaseRomProvider from '../helpers/AlttpBaseRomContext';
 import UserContext from '../helpers/UserContext';
 
 const App = () => {
@@ -48,15 +55,44 @@ const App = () => {
        }, []);
 
        return <BrowserRouter>
-               <UserContext.Provider value={user}>
-                       <Header doLogout={doLogout} />
-                       {user ?
+               <AlttpBaseRomProvider>
+                       <UserContext.Provider value={user}>
+                               <Header doLogout={doLogout} />
                                <Routes>
+                                       <Route path="h/:hash" element={<AlttpSeed />} />
+                                       <Route path="map" element={<Map />} />
+                                       <Route
+                                               path="modes"
+                                               element={<Techniques namespace="modes" type="mode" />}
+                                       />
+                                       <Route
+                                               path="modes/:name"
+                                               element={<Technique namespace="modes" type="mode" />}
+                                       />
+                                       <Route
+                                               path="rulesets"
+                                               element={<Techniques namespace="rulesets" type="ruleset" />}
+                                               />
+                                       <Route
+                                               path="rulesets/:name"
+                                               element={<Technique namespace="rulesets" type="ruleset" />}
+                                       />
+                                       <Route
+                                               path="tech"
+                                               element={<Techniques namespace="techniques" type="tech" />}
+                                       />
+                                       <Route
+                                               path="tech/:name"
+                                               element={<Technique namespace="techniques" type="tech" />}
+                                       />
                                        <Route path="tournaments/:id" element={<Tournament />} />
-                                       <Route path="*" element={<Navigate to="/tournaments/1" />} />
+                                       <Route path="users/:id" element={<User />} />
+                                       <Route path="/" element={<Front />} />
+                                       <Route path="*" element={<Navigate to="/" />} />
                                </Routes>
-                       : <Front />}
-               </UserContext.Provider>
+                               <Footer />
+                       </UserContext.Provider>
+               </AlttpBaseRomProvider>
        </BrowserRouter>;
 };