import React, {Component} from "react"; import {BrowserRouter, Switch, Route, Redirect } from "react-router-dom"; import Home from "./views/Home"; import Dashboard from "./views/Dashboard"; import Signup from "./views/Signup"; import Login from "./views/Login"; import FourOhFour from "./views/FourOhFour"; import ForgotPass from "./views/Forgot-password"; import ChangePass from "./views/Forgot-pass-reset"; import ConfirmForgotPasswrod from "./views/ConfirmForgotPassword"; import ConfirmRegistration from "./views/ConfirmRegistration"; import queryString from 'query-string'; import { call } from './client_server'; /*let userJsonString = JSON.parse(localStorage.getItem("token")); let date = new Date().getTime().toString(); let delta = date - userJsonString.timestamp; if (delta < 5*60*60*1000) { loggedIn = true; }*/ class App extends Component { constructor(props) { super(props); let loggedIn = false; try { let userJsonString = localStorage.getItem("token"); if (userJsonString) { loggedIn = true; } }catch(exception) { } this.state = { loggedIn: loggedIn, }; this.auth = this.auth.bind(this); this.logout = this.logout.bind(this); } componentDidMount() { if (window.location) { const values = queryString.parse(window.location.search); console.log(values); this.setState({ query : values }); } else { this.setState({ query : "ciao" }); } } auth(data) { return call.login(data.params) .then(res => { if (res.data && res.status === 200) { localStorage.setItem("token", res.data.jwttoken); this.setState( { user: data.params.user, token: res.data.jwttoken, loggedIn: true, } ); return res; //this.props.history.push("/dashboard"); } else { this.setState({ error: res.data.message }); return this.state.error; } }).catch(err => { console.log(err); return {status : "Errore"}; }); }; logout() { this.setState({ loggedIn : false, }); localStorage.removeItem("token"); }; render() { return ( { this.state.loggedIn && this.state.token ? : } {this.state.loggedIn ? : } ); } } export default App;