questable-web-ui/src/index.js

37 lines
1.1 KiB
JavaScript
Raw Normal View History

2019-03-28 11:56:24 +01:00
import React, { useState } from "react";
import ReactDOM from "react-dom";
2019-03-29 08:30:37 +01:00
import "nes.css/css/nes.min.css";
import "./scss/index.scss";
2019-03-28 11:56:24 +01:00
import { config } from "./config";
import axios from "axios";
2019-03-29 06:31:28 +01:00
import login from "./components/login";
import mainapp from "./components/mainapp";
import models from "./models";
2019-03-29 11:47:15 +01:00
import swal from "sweetalert";
2019-03-23 10:20:20 +01:00
2019-03-29 06:31:28 +01:00
const { player } = models(config, axios);
2019-03-28 11:56:24 +01:00
2019-03-29 11:47:15 +01:00
const Login = login(player, swal);
const MainApp = mainapp(player);
2019-03-28 11:56:24 +01:00
function App(){
const [loggedIn, setLoggedIn] = useState(false);
2019-03-29 19:45:21 +01:00
const token = localStorage.getItem("token");
if (loggedIn === false && token !== null) {
player.auth(token).then(res => {
// To cause it to re-render
setLoggedIn(true);
setLoggedIn(res);
if (res === false) {
localStorage.removeItem("token");
}
});
return <div className="loader full_screen"><img alt="loader" src="./loader.svg"></img></div>;
} else if (loggedIn === false)
return <Login setLoggedIn={setLoggedIn} />;
else
return <MainApp setLoggedIn={setLoggedIn} />;
2019-03-28 11:56:24 +01:00
}
ReactDOM.render(<App />, document.getElementById("root"));