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();
+ }
+ }}
/>
-
+
);
}