diff --git a/webui/src/states/Login/Login.jsx b/webui/src/states/Login/Login.jsx index 8b8d114..165de13 100644 --- a/webui/src/states/Login/Login.jsx +++ b/webui/src/states/Login/Login.jsx @@ -1,7 +1,53 @@ +import {useContext, useState} from "react"; +import {TokenContext} from "@/common/contexts/Token"; +import {Navigate} from "react-router-dom"; +import {Alert, Box, Button, Container, Divider, Grid, Stack, TextField, Typography} from "@mui/material"; +import {t} from "i18next"; + export const Login = () => { + const {tokenValid, checkToken} = useContext(TokenContext); + const [username, setUsername] = useState(""); + const [password, setPassword] = useState(""); + const [loginFailed, setLoginFailed] = useState(false); + + const login = (e) => { + if (e) e.preventDefault(); + localStorage.setItem("token", btoa(`${username}:${password}`)); + checkToken().then((r) => setLoginFailed(!r)); + } + return (
-

Login

+ {tokenValid && } + + + + + + MCDash + MCDash + + {t("login.sign_in")} + + {loginFailed && + {t("login.failed")} + } + + setUsername(e.target.value)}/> + + setPassword(e.target.value)}/> + + + + + +
- ) -} \ No newline at end of file + ); +};