/* eslint-disable react/no-multi-comp */ import React, { useState } from "react"; import { makeStyles } from "@material-ui/styles"; import { CircularProgress, TextField, Button, Paper, Typography, } from "@material-ui/core"; const bodyDivStyle = { margin: "auto", marginTop: "100px", width: "500px", }; const surfaceColor = "#27292D"; const inputColor = "#383B40"; const boxStyle = { paddingLeft: "30px", paddingRight: "30px", paddingBottom: "30px", paddingTop: "30px", backgroundColor: surfaceColor, }; const useStyles = makeStyles({ notchedOutline: { borderColor: "#f85a3e !important", }, }); const AdminAccount = (props) => { const { globalUrl, isLoaded, isLoggedIn } = props; const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [firstRequest, setFirstRequest] = useState(true); const [loginLoading, setLoginLoading] = useState(false); // Used to swap from login to register. True = login, false = register const register = true; const classes = useStyles(); // Error messages etc const [loginInfo, setLoginInfo] = useState(""); const handleValidateForm = () => { return username.length > 1 && password.length > 1; }; if (isLoggedIn === true) { window.location.pathname = "/workflows"; } const checkAdmin = () => { const url = globalUrl + "/api/v1/checkusers"; fetch(url, { method: "GET", headers: { "Content-Type": "application/json", }, }) .then((response) => response.json().then((responseJson) => { if (responseJson["success"] === false) { setLoginInfo(responseJson["reason"]); } else { if (responseJson.reason === "redirect") { window.location.pathname = "/login"; } } }) ) .catch((error) => { setLoginInfo("Error in userdata: ", error); }); }; if (firstRequest) { setFirstRequest(false); checkAdmin(); } const onSubmit = (e) => { setLoginLoading(true); e.preventDefault(); // FIXME - add some check here ROFL // Just use this one? var data = { username: username, password: password }; var baseurl = globalUrl; const url = baseurl + "/api/v1/register"; fetch(url, { method: "POST", body: JSON.stringify(data), headers: { "Content-Type": "application/json", }, }) .then((response) => response.json().then((responseJson) => { setLoginLoading(false); if (responseJson["success"] === false) { setLoginInfo(responseJson["reason"]); } else { setLoginInfo("Successful register :)"); window.location.pathname = "/login"; } }) ) .catch((error) => { setLoginLoading(false); setLoginInfo("Error in userdata: ", error); }); }; const onChangeUser = (e) => { setUsername(e.target.value); }; const onChangePass = (e) => { setPassword(e.target.value); }; //const onClickRegister = () => { // if (props.location.pathname === "/login") { // window.location.pathname = "/register" // } else { // window.location.pathname = "/login" // } // setLoginCheck(!register) //} //var loginChange = register ? (
Want to register? Click here.
Go back to login? Click here.