import axios from 'axios';
import React, { useEffect, useState } from 'react';
-import { BrowserRouter, Route, Routes } from 'react-router-dom';
+import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';
import Header from './common/Header';
+import AlttpSeed from './pages/AlttpSeed';
import Front from './pages/Front';
+import Technique from './pages/Technique';
+import Tournament from './pages/Tournament';
+import User from './pages/User';
+import AlttpBaseRomProvider from '../helpers/AlttpBaseRomContext';
import UserContext from '../helpers/UserContext';
const App = () => {
};
}, []);
+ useEffect(() => {
+ window.Echo.channel('App.Control')
+ .listen('PleaseRefresh', () => {
+ location.reload();
+ });
+ return () => {
+ window.Echo.leave('App.Control');
+ };
+ }, []);
+
return <BrowserRouter>
- <UserContext.Provider value={user}>
- <Header doLogout={doLogout} />
- {user ?
+ <AlttpBaseRomProvider>
+ <UserContext.Provider value={user}>
+ <Header doLogout={doLogout} />
<Routes>
- <Route path="*" element={<Front />} />
+ <Route path="h/:hash" element={<AlttpSeed />} />
+ <Route path="tech/:name" element={<Technique />} />
+ <Route path="tournaments/:id" element={<Tournament />} />
+ <Route path="users/:id" element={<User />} />
+ <Route path="/" element={<Front />} />
+ <Route path="*" element={<Navigate to="/" />} />
</Routes>
- : <Front />}
- </UserContext.Provider>
+ </UserContext.Provider>
+ </AlttpBaseRomProvider>
</BrowserRouter>;
};