]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/components/App.js
fix type in sg sync
[alttp.git] / resources / js / components / App.js
index fe8ff25c31860b95b202355967852d3f2f352297..3ad2494981cbec2f9f878dbdd0faad155a87338d 100644 (file)
@@ -1,21 +1,28 @@
 import axios from 'axios';
 import React, { useEffect, useState } from 'react';
+import { Helmet } from 'react-helmet';
+import { useTranslation } from 'react-i18next';
 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 Schedule from './pages/Schedule';
 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';
+import i18n from '../i18n';
 
 const App = () => {
        const [user, setUser] = useState(null);
 
+       const { t } = useTranslation();
+
        const checkAuth = async () => {
                try {
                        const response = await axios.get('/api/user');
@@ -56,9 +63,31 @@ const App = () => {
        return <BrowserRouter>
                <AlttpBaseRomProvider>
                        <UserContext.Provider value={user}>
+                               <Helmet>
+                                       <html lang={i18n.language} />
+                                       <title>{t('general.appName')}</title>
+                                       <meta name="description" content={t('general.appDescription')} />
+                               </Helmet>
                                <Header doLogout={doLogout} />
                                <Routes>
+                                       <Route
+                                               path="dungeons"
+                                               element={<Techniques namespace="dungeons" type="dungeon" />}
+                                       />
+                                       <Route
+                                               path="dungeons/:name"
+                                               element={<Technique namespace="dungeons" type="dungeon" />}
+                                       />
                                        <Route path="h/:hash" element={<AlttpSeed />} />
+                                       <Route
+                                               path="locations"
+                                               element={<Techniques namespace="locations" type="location" />}
+                                       />
+                                       <Route
+                                               path="locations/:name"
+                                               element={<Technique namespace="locations" type="location" />}
+                                       />
+                                       <Route path="map" element={<Map />} />
                                        <Route
                                                path="modes"
                                                element={<Techniques namespace="modes" type="mode" />}
@@ -75,6 +104,7 @@ const App = () => {
                                                path="rulesets/:name"
                                                element={<Technique namespace="rulesets" type="ruleset" />}
                                        />
+                                       <Route path="schedule" element={<Schedule />} />
                                        <Route
                                                path="tech"
                                                element={<Techniques namespace="techniques" type="tech" />}