aboutsummaryrefslogtreecommitdiff
path: root/modern/src/MainPage.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2018-09-04 16:44:14 +1200
committerAnton Tananaev <anton.tananaev@gmail.com>2018-09-04 16:44:14 +1200
commitc821e4722da493c5408bcb505599239d687453c6 (patch)
tree68a3723e083b382fde30f86dea2d6c374623fb23 /modern/src/MainPage.js
parent6f6cf5427bd78b6de9ea1331952e086ecb277d10 (diff)
downloadetbsa-traccar-web-c821e4722da493c5408bcb505599239d687453c6.tar.gz
etbsa-traccar-web-c821e4722da493c5408bcb505599239d687453c6.tar.bz2
etbsa-traccar-web-c821e4722da493c5408bcb505599239d687453c6.zip
Implement login logic
Diffstat (limited to 'modern/src/MainPage.js')
-rw-r--r--modern/src/MainPage.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/modern/src/MainPage.js b/modern/src/MainPage.js
new file mode 100644
index 0000000..02d98dc
--- /dev/null
+++ b/modern/src/MainPage.js
@@ -0,0 +1,49 @@
+import React, { Component } from 'react';
+import ContainerDimensions from 'react-container-dimensions';
+import MainToobar from './MainToolbar';
+import MainMap from './MainMap';
+
+class MainPage extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ loading: true
+ };
+ }
+
+ componentDidMount() {
+ fetch('/api/session').then(response => {
+ if (response.ok) {
+ this.setState({
+ loading: false
+ });
+ } else {
+ this.props.history.push('/login');
+ }
+ });
+ }
+
+ render() {
+ const { loading } = this.state;
+ if (loading) {
+ return (
+ <div>Loading...</div>
+ );
+ } else {
+ return (
+ <div style={{height: "100vh", display: "flex", flexDirection: "column"}}>
+ <div style={{flex: 0}}>
+ <MainToobar />
+ </div>
+ <div style={{flex: 1}}>
+ <ContainerDimensions>
+ <MainMap/>
+ </ContainerDimensions>
+ </div>
+ </div>
+ );
+ }
+ }
+}
+
+export default MainPage;