2019-07-26 14:34:23 +00:00
|
|
|
import React from "react";
|
2019-04-17 13:38:00 +00:00
|
|
|
|
2019-07-23 16:32:43 +00:00
|
|
|
import { Classes } from "@blueprintjs/core";
|
2019-04-17 13:38:00 +00:00
|
|
|
|
2019-07-21 18:05:07 +00:00
|
|
|
import { ConnectedRouter } from "connected-react-router";
|
2019-07-23 12:20:34 +00:00
|
|
|
import { Route } from "react-router-dom";
|
2020-05-19 13:45:27 +00:00
|
|
|
import { Nav } from "./components/organisms";
|
2019-08-27 13:50:16 +00:00
|
|
|
import {
|
|
|
|
AboutScreen,
|
|
|
|
AdminScreen,
|
|
|
|
GraphScreen,
|
|
|
|
LoginScreen,
|
|
|
|
TableScreen,
|
2020-05-19 13:45:27 +00:00
|
|
|
VerifyLoginScreen,
|
|
|
|
} from "./components/screens";
|
2019-07-21 18:05:07 +00:00
|
|
|
import { history } from "./index";
|
2019-04-17 13:38:00 +00:00
|
|
|
|
2019-07-23 16:32:43 +00:00
|
|
|
const AppRouter: React.FC = () => (
|
|
|
|
<ConnectedRouter history={history}>
|
|
|
|
<div className={`${Classes.DARK} App`}>
|
|
|
|
<Nav />
|
2020-06-19 10:46:43 +00:00
|
|
|
<main role="main">
|
|
|
|
<Route path="/instances" exact component={TableScreen} />
|
|
|
|
<Route path="/about" exact component={AboutScreen} />
|
|
|
|
<Route path="/admin/login" exact component={LoginScreen} />
|
|
|
|
<Route path="/admin/verify" exact component={VerifyLoginScreen} />
|
|
|
|
<Route path="/admin" exact component={AdminScreen} />
|
|
|
|
{/* We always want the GraphScreen to be rendered (since un- and re-mounting it is expensive */}
|
|
|
|
<GraphScreen />
|
|
|
|
</main>
|
2019-07-23 16:32:43 +00:00
|
|
|
</div>
|
|
|
|
</ConnectedRouter>
|
|
|
|
);
|
|
|
|
export default AppRouter;
|