diff --git a/src/components/Login.jsx b/src/components/Login.jsx
new file mode 100644
index 0000000..1e2153b
--- /dev/null
+++ b/src/components/Login.jsx
@@ -0,0 +1,96 @@
+import React from "react";
+import { useGlobalContext } from "./context";
+import { Button, Container, Form } from "react-bootstrap";
+import { useCookies } from "react-cookie";
+import axios from "axios";
+import { useNavigate } from "react-router-dom";
+
+const Login = () => {
+ const { bgColor, setBgColor } = useGlobalContext();
+ const [cookies, setCookie] = useCookies(["jwtToken"]);
+ const { dark, setDark } = useGlobalContext();
+ const navigate = useNavigate();
+
+ function login(event) {
+ event.preventDefault();
+ const userData = {
+ username: event.currentTarget.elements.formUserName.value,
+ password: event.currentTarget.elements.formPassword.value,
+ };
+ try {
+ axios
+ .post(
+ "https://gameapiauth-acakapc8cxadgtf5.swedencentral-01.azurewebsites.net/api/Authentication/login",
+ {
+ userName: userData.username,
+ password: userData.password,
+ }
+ )
+ .then((response) => {
+ setCookie("jwtToken", response.data.jwtToken, { path: "/" });
+ navigate("/");
+ });
+ } catch (error) {
+ console.log("Error logging in: " + error);
+ }
+ }
+
+ return (
+
+
+ {dark == "dark" ? (
+ Login
+ ) : (
+ Login
+ )}
+
+
+
+
+
+ {dark == "dark" ? (
+ UserName
+ ) : (
+ UserName
+ )}
+
+
+
+
+
+ {dark == "dark" ? (
+ Password
+ ) : (
+ Password
+ )}
+
+
+
+
+
+
+
+ );
+};
+
+export default Login;
diff --git a/src/components/NavbarComp.jsx b/src/components/NavbarComp.jsx
index f4c6e36..3e24a18 100644
--- a/src/components/NavbarComp.jsx
+++ b/src/components/NavbarComp.jsx
@@ -35,6 +35,9 @@ const NavbarComp = () => {
{cookies.jwtToken == "" || cookies.jwtToken == null ?(
Register
) : "" }
+ {cookies.jwtToken == "" || cookies.jwtToken == null ?(
+ Login
+ ) : "" }
diff --git a/src/components/Register.jsx b/src/components/Register.jsx
index 885592e..3c9d526 100644
--- a/src/components/Register.jsx
+++ b/src/components/Register.jsx
@@ -3,13 +3,15 @@ import { useGlobalContext } from "./context";
import { Button, Container, Form } from "react-bootstrap";
import { useCookies } from "react-cookie";
import axios from "axios";
+import { useNavigate } from "react-router-dom";
const Register = () => {
const { bgColor, setBgColor } = useGlobalContext();
const [cookies, setCookie] = useCookies(["jwtToken"]);
const { dark, setDark } = useGlobalContext();
+ const navigate = useNavigate();
+
-
function register(event) {
event.preventDefault();
const userData = {
diff --git a/src/main.jsx b/src/main.jsx
index 0b7f4c4..2ac31be 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -10,6 +10,7 @@ import { CookiesProvider } from "react-cookie";
import GamePage from "./components/GamePage";
import { GlobalProvider } from "./components/context.jsx";
import Register from "./components/Register.jsx";
+import Login from "./components/Login.jsx";
createRoot(document.getElementById("root")).render(
@@ -22,6 +23,7 @@ createRoot(document.getElementById("root")).render(
} />
} />
} />
+ } />