grungnet/src/App.js

70 lines
2.3 KiB
JavaScript
Raw Normal View History

import React from "react";
import { ThemeProvider } from "theme-ui";
2020-04-24 14:02:06 +00:00
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
2020-03-15 05:04:30 +00:00
2020-03-15 06:50:56 +00:00
import theme from "./theme.js";
import Home from "./routes/Home";
import Game from "./routes/Game";
import About from "./routes/About";
import FAQ from "./routes/FAQ";
import ReleaseNotes from "./routes/ReleaseNotes";
2020-06-30 09:19:33 +00:00
import HowTo from "./routes/HowTo";
import Donate from "./routes/Donate";
2020-03-15 05:04:30 +00:00
2020-04-14 06:05:44 +00:00
import { AuthProvider } from "./contexts/AuthContext";
import { DatabaseProvider } from "./contexts/DatabaseContext";
import { MapDataProvider } from "./contexts/MapDataContext";
import { TokenDataProvider } from "./contexts/TokenDataContext";
import { MapLoadingProvider } from "./contexts/MapLoadingContext";
import { SettingsProvider } from "./contexts/SettingsContext";
import { KeyboardProvider } from "./contexts/KeyboardContext";
2020-04-14 06:05:44 +00:00
function App() {
return (
<ThemeProvider theme={theme}>
<DatabaseProvider>
<SettingsProvider>
<AuthProvider>
<KeyboardProvider>
<Router>
<Switch>
<Route path="/donate">
<Donate />
</Route>
{/* Legacy support camel case routes */}
<Route path={["/howTo", "/how-to"]}>
<HowTo />
</Route>
<Route path={["/releaseNotes", "/release-notes"]}>
<ReleaseNotes />
</Route>
<Route path="/about">
<About />
</Route>
<Route path="/faq">
<FAQ />
</Route>
<Route path="/game/:id">
<MapLoadingProvider>
<MapDataProvider>
<TokenDataProvider>
<Game />
</TokenDataProvider>
</MapDataProvider>
</MapLoadingProvider>
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</Router>
</KeyboardProvider>
</AuthProvider>
</SettingsProvider>
</DatabaseProvider>
</ThemeProvider>
);
2020-03-15 05:04:30 +00:00
}
export default App;