blob: 2c8fa27eff0b5d73b75e103d94c930d98cf964a7 [file] [log] [blame]
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import SchedulerClient from 'client/scheduler-client';
import Navigation from 'components/Navigation';
import Home from 'pages/Home';
import Instance from 'pages/Instance';
import Job from 'pages/Job';
import Jobs from 'pages/Jobs';
import Task from 'pages/Task';
import Update from 'pages/Update';
import Updates from 'pages/Updates';
import 'bootstrap/dist/css/bootstrap.css';
import '../resources/source-sans-pro.css';
import '../sass/app.scss';
const injectApi = (Page) => (props) => <Page api={SchedulerClient} {...props} />;
const SchedulerUI = () => (
<Router>
<div>
<Navigation />
<Route component={injectApi(Home)} exact path='/scheduler' />
<Route component={injectApi(Jobs)} exact path='/scheduler/:role' />
<Route component={injectApi(Jobs)} exact path='/scheduler/:role/:environment' />
<Route component={injectApi(Job)} exact path='/scheduler/:role/:environment/:name' />
<Route
component={injectApi(Instance)}
exact
path='/scheduler/:role/:environment/:name/:instance' />
<Route
component={injectApi(Task)}
exact
path='/scheduler/:role/:environment/:name/task/:taskId' />
<Route
component={injectApi(Update)}
exact
path='/scheduler/:role/:environment/:name/update/:uid' />
<Route component={injectApi(Updates)} exact path='/updates' />
</div>
</Router>
);
ReactDOM.render(<SchedulerUI />, document.getElementById('root'));