2019-08-06 10:09:10 +02:00
|
|
|
import React from 'react';
|
|
|
|
import { BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
|
2019-08-06 14:04:27 +02:00
|
|
|
import { Nav, Navbar, Container } from "react-bootstrap";
|
2019-08-06 10:09:10 +02:00
|
|
|
import LoginForm from './LoginForm.js';
|
|
|
|
import MovementsPage from './Movements.js';
|
|
|
|
import BadgePage from './Badge.js';
|
|
|
|
import LogoffPage from './Logoff.js';
|
|
|
|
|
|
|
|
class IndexPage extends React.Component {
|
|
|
|
constructor(props) {
|
|
|
|
super(props);
|
|
|
|
|
|
|
|
this.state = {loggedIn: props.loggedIn};
|
|
|
|
}
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
fetch(this.props.targetUrl + '/status', {credentials: 'include'})
|
|
|
|
.then(response => response.json())
|
|
|
|
.then(data => this.setState({loggedIn: data.logged_in}))
|
|
|
|
.catch(error => {console.log(error)});
|
|
|
|
}
|
|
|
|
|
|
|
|
render() {
|
|
|
|
return (
|
|
|
|
<Router>
|
|
|
|
<Navbar bg="light" expand="lg">
|
|
|
|
<Navbar.Brand href="/">BotZ</Navbar.Brand>
|
|
|
|
<Navbar.Toggle aria-controls="basic-navbar-nav" />
|
|
|
|
<Navbar.Collapse id="basic-navbar-nav">
|
2019-08-06 14:04:27 +02:00
|
|
|
<Nav variant="tabs" className="mr-auto">
|
2019-08-06 10:09:10 +02:00
|
|
|
<Nav.Item>
|
|
|
|
<Nav.Link as='div' eventKey="login">
|
|
|
|
<Link to='/login'>Login</Link>
|
|
|
|
</Nav.Link>
|
|
|
|
</Nav.Item>
|
|
|
|
<Nav.Item>
|
|
|
|
<Nav.Link as='div' eventKey="movements">
|
|
|
|
<Link to='/movements'>Movements</Link>
|
|
|
|
</Nav.Link>
|
|
|
|
</Nav.Item>
|
|
|
|
<Nav.Item>
|
|
|
|
<Nav.Link as='div' eventKey="badge">
|
|
|
|
<Link to='/badge'>Badge</Link>
|
|
|
|
</Nav.Link>
|
|
|
|
</Nav.Item>
|
|
|
|
<Nav.Item>
|
|
|
|
<Nav.Link as='div' eventKey="logout">
|
|
|
|
<Link to='/logout'>Logout</Link>
|
|
|
|
</Nav.Link>
|
|
|
|
</Nav.Item>
|
|
|
|
</Nav>
|
|
|
|
</Navbar.Collapse>
|
|
|
|
</Navbar>
|
|
|
|
<div>
|
2019-08-06 14:04:27 +02:00
|
|
|
<Container>
|
2019-08-06 10:09:10 +02:00
|
|
|
<Switch>
|
|
|
|
<Route path="/login" component={() => <LoginForm targetUrl={this.props.targetUrl} loggedIn={this.state.loggedIn} />} />
|
|
|
|
<Route path="/movements" component={() => <MovementsPage targetUrl={this.props.targetUrl} loggedIn={this.state.loggedIn} />} />
|
|
|
|
<Route path="/badge" component={() => <BadgePage targetUrl={this.props.targetUrl} loggedIn={this.state.loggedIn} />} />
|
|
|
|
<Route path="/logout" component={() => <LogoffPage targetUrl={this.props.targetUrl} loggedIn={this.state.loggedIn} />} />
|
|
|
|
</Switch>
|
2019-08-06 14:04:27 +02:00
|
|
|
</Container>
|
2019-08-06 10:09:10 +02:00
|
|
|
</div>
|
|
|
|
</Router>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default IndexPage;
|