2020-03-16 21:21:19 +00:00
|
|
|
import React from "react";
|
2020-03-16 10:31:08 +00:00
|
|
|
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";
|
2020-03-16 10:31:08 +00:00
|
|
|
import Home from "./routes/Home";
|
|
|
|
import Game from "./routes/Game";
|
2020-04-09 08:19:07 +00:00
|
|
|
import About from "./routes/About";
|
|
|
|
import FAQ from "./routes/FAQ";
|
2020-05-07 12:29:31 +00:00
|
|
|
import ReleaseNotes from "./routes/ReleaseNotes";
|
2020-06-30 09:19:33 +00:00
|
|
|
import HowTo from "./routes/HowTo";
|
2020-10-16 11:09:36 +00:00
|
|
|
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";
|
2020-05-03 08:22:09 +00:00
|
|
|
import { DatabaseProvider } from "./contexts/DatabaseContext";
|
2020-05-19 06:21:01 +00:00
|
|
|
import { MapDataProvider } from "./contexts/MapDataContext";
|
|
|
|
import { TokenDataProvider } from "./contexts/TokenDataContext";
|
2020-05-25 05:34:22 +00:00
|
|
|
import { MapLoadingProvider } from "./contexts/MapLoadingContext";
|
2020-09-30 03:26:39 +00:00
|
|
|
import { SettingsProvider } from "./contexts/SettingsContext";
|
|
|
|
import { KeyboardProvider } from "./contexts/KeyboardContext";
|
2021-04-22 06:53:35 +00:00
|
|
|
import { AssetsProvider, AssetURLsProvider } from "./contexts/AssetsContext";
|
2020-04-14 06:05:44 +00:00
|
|
|
|
2020-10-27 07:25:50 +00:00
|
|
|
import { ToastProvider } from "./components/Toast";
|
|
|
|
|
2020-03-16 08:44:49 +00:00
|
|
|
function App() {
|
2020-04-05 14:07:24 +00:00
|
|
|
return (
|
|
|
|
<ThemeProvider theme={theme}>
|
2020-05-03 08:22:09 +00:00
|
|
|
<DatabaseProvider>
|
2020-08-07 07:15:16 +00:00
|
|
|
<SettingsProvider>
|
|
|
|
<AuthProvider>
|
2020-09-30 03:26:39 +00:00
|
|
|
<KeyboardProvider>
|
2020-10-27 07:25:50 +00:00
|
|
|
<ToastProvider>
|
2021-04-22 06:53:35 +00:00
|
|
|
<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">
|
|
|
|
<AssetsProvider>
|
|
|
|
<AssetURLsProvider>
|
|
|
|
<MapLoadingProvider>
|
|
|
|
<MapDataProvider>
|
|
|
|
<TokenDataProvider>
|
|
|
|
<Game />
|
|
|
|
</TokenDataProvider>
|
|
|
|
</MapDataProvider>
|
|
|
|
</MapLoadingProvider>
|
|
|
|
</AssetURLsProvider>
|
|
|
|
</AssetsProvider>
|
|
|
|
</Route>
|
|
|
|
<Route path="/">
|
|
|
|
<Home />
|
|
|
|
</Route>
|
|
|
|
</Switch>
|
|
|
|
</Router>
|
2020-10-27 07:25:50 +00:00
|
|
|
</ToastProvider>
|
2020-09-30 03:26:39 +00:00
|
|
|
</KeyboardProvider>
|
2020-08-07 07:15:16 +00:00
|
|
|
</AuthProvider>
|
|
|
|
</SettingsProvider>
|
2020-05-03 08:22:09 +00:00
|
|
|
</DatabaseProvider>
|
2020-04-05 14:07:24 +00:00
|
|
|
</ThemeProvider>
|
|
|
|
);
|
2020-03-15 05:04:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export default App;
|