diff --git a/web/src/component/Login.js b/web/src/component/Login.js index 38534d3..5b891b7 100644 --- a/web/src/component/Login.js +++ b/web/src/component/Login.js @@ -5,6 +5,33 @@ function Login(props) { let navigate = useNavigate(); let [username, setUsername] = useState(""); let [password, setPassword] = useState(""); + + function login() { + if (!username || !password) { + alert("Please enter username and password"); + return; + } + fetch("/api/v1/login", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + username, + password, + }), + }) + .then((res) => res.json()) + .then((data) => { + if (data.error) { + alert(data.error); + return; + } + props.setUser(data.user); + navigate("/"); + }); + } + return (

Login

@@ -21,42 +48,22 @@ function Login(props) { id="password" value={password} onChange={(e) => setPassword(e.target.value)} + onKeyPress={(e) => { + if (e.key === "Enter") { + e.preventDefault(); + login(); + } + }} /> + -
); diff --git a/web/src/component/Register.js b/web/src/component/Register.js index d0875f3..5e975d5 100644 --- a/web/src/component/Register.js +++ b/web/src/component/Register.js @@ -1,14 +1,43 @@ import { useNavigate } from "react-router-dom"; import { useState } from "react"; -function Register(props) { +function Register() { let navigate = useNavigate(); const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [password2, setPassword2] = useState(""); const [role, setRole] = useState(""); + + function register() { + if (!username || !password || !password2 || !role) { + alert("Please fill out all fields"); + } else if (password !== password2) { + alert("Passwords do not match"); + } else { + fetch("/api/v1/register", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + username: username, + password: password, + role: parseInt(role), + }), + }) + .then((res) => res.json()) + .then((data) => { + if (data.error) { + alert(data.error); + } else { + navigate("/manage/login"); + } + }); + } + } + return ( -
+

Register

setPassword2(e.target.value)} + onKeyPress={(e) => { + if (e.key === "Enter") { + e.preventDefault(); + register(); + } + }} /> - +
); }