diff --git a/public/mountains.jpg b/public/mountains.jpg
new file mode 100644
index 0000000..edbea5e
Binary files /dev/null and b/public/mountains.jpg differ
diff --git a/src/pages/login/login.tsx b/src/pages/login/login.tsx
index a86ee34..1a3a2ef 100644
--- a/src/pages/login/login.tsx
+++ b/src/pages/login/login.tsx
@@ -94,7 +94,7 @@ const Login = () => {
diff --git a/src/pages/register/register.css b/src/pages/register/register.css
new file mode 100644
index 0000000..643c342
--- /dev/null
+++ b/src/pages/register/register.css
@@ -0,0 +1,60 @@
+.register {
+ display: flex;
+ width: 100vw;
+ height: 100vh;
+ max-width:100%;
+}
+
+.register-background {
+ opacity: 0.6;
+ position: absolute;
+ z-index: -1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+}
+
+
+.register-block {
+ display: flex;
+ margin: auto;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+
+
+.register-button {
+ margin-top: "10px";
+ padding: 16px 32px;
+ font-size: 16px;
+ border-radius: 12px;
+ background-color: var(--buttons-main-color);
+ color: var(--text_dark);
+ border: none;
+ cursor: pointer;
+ text-align: center;
+ text-decoration: none;
+}
+
+.register-button:hover {
+ background-color: var(--buttons-hover-color);
+ color: var(--text_dark);
+}
+
+.register-button:active {
+ background-color: var(--buttons-press-color);
+ color: var(--text_dark);
+}
+
+
+.register-link {
+ color: var(--links-main-color);
+ text-decoration: none;
+}
+
+.register-link:hover {
+ color: var(--links-hover-color);
+ text-decoration: none;
+}
diff --git a/src/pages/register/register.tsx b/src/pages/register/register.tsx
index 65496f5..6030fc2 100644
--- a/src/pages/register/register.tsx
+++ b/src/pages/register/register.tsx
@@ -1,7 +1,86 @@
+import { useState } from "react";
+import { useNavigate, useLocation } from "react-router-dom";
+
+import { toast } from "react-toastify"
+
+import useAuth from "../../auth/auth";
+
+import FormField from "../../components/FormField"
+import "./register.css"
+
+
const Register = () => {
+ const { setToken } = useAuth();
+ const [username, setUsername] = useState("");
+ const [password, setPassword] = useState("");
+
+ const navigate = useNavigate();
+ const location = useLocation();
+ const searchPath = new URLSearchParams(location.search);
+ const redirectPath = searchPath.get('to') || "/";
+
+ const [usernameEmpty, setUsernameEmpty] = useState(false);
+ const [passwordEmpty, setPasswordEmpty] = useState(false);
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+
+ setUsernameEmpty(!username);
+ setPasswordEmpty(!password);
+
+ if (!username || !password) {
+ return;
+ }
+
+ // TODO: request to API
+ if (username === "cat" && password === "cat") {
+ const token = "newusertodo.jwt.token";
+ setToken(token);
+ navigate(redirectPath, { replace: true });
+ } else {
+ toast.error("Wrong login or password");
+ }
+ };
+
return (
-
-
Register
+
+

+
)
}