-
- validator.isEmail(value) || errorMessageTemplates.email,
- })}
- />
+
+
+
-
-
-
-
-
-
+
+
-
- {errors.password && errors.password.message}
- {errors.required && errors.required.message}
- {errors.unspecifiedError && errors.unspecifiedError.message}
-
-
-
- Забули пароль?
-
-
-
-
-
-
-
-
-
+
+
+
+
Вперше на нашому сайті?
+
Зареєструйтесь
-
-
+
);
};
diff --git a/FrontEnd/src/pages/Authorization/LoginPage.module.css b/FrontEnd/src/pages/Authorization/LoginPage.module.css
index b67a3336..fbd98396 100644
--- a/FrontEnd/src/pages/Authorization/LoginPage.module.css
+++ b/FrontEnd/src/pages/Authorization/LoginPage.module.css
@@ -1,12 +1,34 @@
+.login-page {
+ display: flex;
+ justify-content: center;
+ width: 100vw;
+ min-height: var(--min-height-block-main);
+ flex-shrink: 0;
+ background: var(--light-seashell-background);
+ padding: 80px 0;
+}
+
+.login {
+ display: flex;
+ align-self: center;
+ flex-direction: column;
+ align-items: center;
+ max-width: 572px;
+ min-width: 345px;
+ gap: 24px;
+}
+
.login-basic {
display: flex;
- width: 572px;
+ width: 375px;
flex-direction: column;
align-items: flex-start;
border-radius: 2px;
background: #fff;
- box-shadow: 0px 9px 28px 8px rgba(0, 0, 0, 0.05),
- 0px 6px 16px 0px rgba(0, 0, 0, 0.08), 0px 3px 6px -4px rgba(0, 0, 0, 0.12);
+}
+
+.login-form {
+ width: 100%;
}
.login-header {
@@ -15,59 +37,48 @@
align-items: center;
gap: 36px;
align-self: stretch;
- background: #fff;
box-shadow: 0px -1px 0px 0px #f0f0f0 inset;
}
.login-header p {
- color: #000000;
+ color: var(--main-text-color);
font-family: var(--font-main);
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 20px;
letter-spacing: -0.16px;
- margin: 0;
}
.login-content {
display: flex;
padding: 24px;
+ gap: 10px;
flex-direction: column;
- align-items: flex-start;
- align-self: stretch;
}
.login-content__items {
display: flex;
flex-direction: column;
- align-items: flex-start;
- gap: 8px;
+ gap: 24px;
}
.login-content__item {
display: flex;
- width: 524px;
- height: 60px;
- padding-bottom: 24px;
+ gap: 4px;
flex-direction: column;
- align-items: flex-start;
}
.login-content__item label {
display: flex;
- padding-bottom: 8px;
- align-items: center;
gap: 4px;
- align-self: stretch;
flex: 1 0 0;
- color: #292e32;
+ color: var(--main-text-color);
font-feature-settings: "calt" off;
font-family: var(--font-main);
font-size: 14px;
- font-style: normal;
font-weight: 400;
- line-height: 20px;
+ line-height: 22px;
letter-spacing: -0.14px;
}
@@ -79,20 +90,43 @@
overflow: hidden;
}
-.login-content__email input {
- font-family: var(--font-messages);
+.login-content__email input,
+.login-content__password input {
+ font-family: var(--font-main);
+ color: var(--main-text-color);
+ border-radius: 2px;
+ border: 1px solid #d9d9d9;
font-size: 14px;
- font-style: normal;
font-weight: 400;
display: flex;
- padding: 5px 12px;
- align-items: center;
align-self: stretch;
gap: 4px;
flex: 1 0 0;
+}
+
+.login-content__email input {
+ padding: 9px 12px;
+}
+
+.login-content__password input {
+ border: none;
+}
+
+.login-content__password {
+ display: flex;
+ padding: 8px 12px;
+ align-items: center;
+ gap: 4px;
+ align-self: stretch;
border-radius: 2px;
border: 1px solid #d9d9d9;
background: #fff;
+ overflow: hidden;
+}
+
+.login-content__email-error input,
+.login-content__password-error {
+ border: 1px solid #F15831
}
.login-content__email input::placeholder,
@@ -103,27 +137,19 @@
font-size: 14px;
font-style: normal;
font-weight: 400;
- line-height: 20px;
+ line-height: 22px;
letter-spacing: -0.14px;
}
-.login-content__email input:focus,
+.login-content__email input:focus-within,
.login-content__password:focus-within {
border-radius: 2px;
border: 1px solid #1f9a7c;
background: #fff;
}
-.login-content__password {
- display: flex;
- padding: 4px 12px;
- align-items: center;
- gap: 4px;
- align-self: stretch;
- border-radius: 2px;
- border: 1px solid #d9d9d9;
- background: #fff;
- overflow: hidden;
+.login-content__show-password {
+ border: 1px solid #B4D27A;
}
.login-content__password__wrapper {
@@ -133,19 +159,6 @@
flex: 1 0 0;
}
-.login-content__password input {
- font-family: var(--font-messages);
- font-size: 14px;
- font-style: normal;
- font-weight: 400;
- display: flex;
- align-items: center;
- align-self: stretch;
- gap: 4px;
- flex: 1 0 0;
- border: none;
-}
-
.login-content__password input:focus,
.login-content__email input:focus {
outline: none;
@@ -166,8 +179,7 @@
.login-footer {
display: flex;
- padding: 10px 16px;
- justify-content: flex-end;
+ padding: 10px 24px;
align-items: center;
gap: 8px;
align-self: stretch;
@@ -190,43 +202,18 @@
text-decoration: none;
}
-.login-footer-buttons__main {
- display: flex;
- padding: 5px 15px;
- justify-content: center;
- align-items: center;
- gap: 10px;
- border-radius: 4px;
- border: 1px solid #1f9a7c;
- background: #fff;
- cursor: pointer;
- box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.02);
- color: var(--primary-green-80, #1f9a7c);
- text-align: center;
- font-feature-settings: "calt" off;
- font-family: var(--font-main);
- font-size: 16px;
- font-style: normal;
- font-weight: 600;
- line-height: 20px;
- letter-spacing: -0.16px;
-}
-
-
.login-footer-buttons__signin,
.login-footer-buttons__signin__disabled {
display: flex;
- padding: 5px 15px;
+ padding: 9px 16px;
justify-content: center;
align-items: center;
- gap: 10px;
+ gap: 4px;
border-radius: 4px;
- border: 1px solid #1f9a7c;
- background: #1f9a7c;
+ background: #000000;
cursor: pointer;
- box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.04);
- color: #fff;
+ color: var(--light-button-text-color);
text-align: center;
font-feature-settings: "calt" off;
font-family: var(--font-main);
@@ -235,28 +222,24 @@
font-weight: 600;
line-height: 20px;
letter-spacing: -0.16px;
+
}
.login-footer-buttons__signin__disabled {
- opacity: 50%;
+ border: 1px solid #BFC6CF;
+ background: #EEEFF1;
+ color: #A3AAB0;
cursor: default;
}
.error-message {
- position: absolute;
- margin-top: 62px;
- display: flex;
- align-items: flex-start;
- gap: 10px;
align-self: stretch;
- flex: 1 0 0;
- color: #f34444;
+ color: var(--error-text-color);
font-feature-settings: "calt" off;
- font-family: var(--font-error);
- font-size: 14px;
- font-style: normal;
+ font-family: var(--font-main);
+ font-size: 12px;
font-weight: 400;
- line-height: 20px;
+ line-height: 16px;
letter-spacing: -0.14px;
}
@@ -264,26 +247,33 @@
position: absolute;
margin-left: -10px;
content: "*";
- color: #ff4d4f;
+ color: var(--error-text-color);
text-align: right;
- font-family: var(--font-error);
- font-size: 14px;
- font-style: normal;
+ font-family: var(--font-main);
+ font-size: 12px;
font-weight: 400;
- line-height: 22.001px;
+}
+
+.forget-password__wrapper {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
}
.forget-password {
margin: 0;
+ align-self: flex-end;
text-decoration: none;
- color: var(--accent-accelerate-1500, #00A3CF);
+ color: var(--link-text-color);
font-feature-settings: 'calt' off;
font-family: var(--font-main);
font-size: 14px;
font-style: normal;
- font-weight: 400;
- line-height: 20px;
+ font-weight: 600;
+ line-height: 22px;
letter-spacing: -0.14px;
+ text-decoration-line: underline;
+ text-decoration-thickness: 1%;
}
.forget-password:focus {
@@ -293,3 +283,64 @@
.password-visibility {
cursor: pointer;
}
+
+input:-webkit-autofill,
+input:-webkit-autofill:focus {
+ -webkit-box-shadow: 0 0 0 30px white inset !important;
+}
+
+input:-webkit-autofill {
+ -webkit-text-fill-color: var(--main-text-color) !important;
+}
+
+.login-signup-invitation {
+ display: flex;
+ align-items: flex-start;
+ gap: 8px;
+ background: var(--light-seashell-background);
+}
+
+.login-signup-invitation p {
+ margin: 0;
+ color: var(--link-text-color);
+ font-feature-settings: "calt" off;
+ font-family: var(--font-main);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 22px;
+ letter-spacing: -0.14px;
+}
+
+.login-signup-invitation a {
+ color: var(--link-text-color);
+ font-feature-settings: "calt" off;
+ font-family: var(--font-main);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: 600;
+ line-height: 22px;
+ letter-spacing: -0.14px;
+ text-decoration-line: underline;
+ text-decoration-thickness: 1%;
+}
+
+.login-signup-invitation a:focus {
+ outline: none;
+}
+
+@media only screen and (min-width: 768px) {
+ .login-page {
+ padding: 104px 0;
+ }
+
+ .login-basic {
+ width: 572px;
+ }
+}
+
+@media only screen and (min-width: 1512px) {
+ .login-page {
+ padding: 120px 0;
+ }
+}
diff --git a/FrontEnd/src/pages/Authorization/SignUpInvitation.jsx b/FrontEnd/src/pages/Authorization/SignUpInvitation.jsx
deleted file mode 100644
index bae4e21e..00000000
--- a/FrontEnd/src/pages/Authorization/SignUpInvitation.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Link } from 'react-router-dom';
-import classes from './SignUpInvitation.module.css';
-
-const SignUpInvitation = () => {
- return (
-
-
Вперше на нашому сайті?
-
Зареєструйтесь
-
- );
-};
-
-export default SignUpInvitation;
diff --git a/FrontEnd/src/pages/Authorization/SignUpInvitation.module.css b/FrontEnd/src/pages/Authorization/SignUpInvitation.module.css
deleted file mode 100644
index b8c7ee0d..00000000
--- a/FrontEnd/src/pages/Authorization/SignUpInvitation.module.css
+++ /dev/null
@@ -1,33 +0,0 @@
-.signup-invitation {
- display: flex;
- align-items: flex-start;
- gap: 8px;
-}
-
-.signup-invitation p {
- margin: 0;
- color: #000;
- font-feature-settings: "calt" off;
- font-family: var(--font-main);
- font-size: 14px;
- font-style: normal;
- font-weight: 400;
- line-height: 20px;
- letter-spacing: -0.14px;
-}
-
-.signup-invitation a {
- color: var(--accent-accelerate-1500, #00a3cf);
- font-feature-settings: "calt" off;
- text-decoration: none;
- font-family: var(--font-main);
- font-size: 14px;
- font-style: normal;
- font-weight: 400;
- line-height: 20px;
- letter-spacing: -0.14px;
-}
-
-.signup-invitation a:focus {
- outline: none;
-}
diff --git a/FrontEnd/src/pages/SignUp/SignUp/ActivateProfilePage.jsx b/FrontEnd/src/pages/SignUp/SignUp/ActivateProfilePage.jsx
index de99125a..c98cf205 100644
--- a/FrontEnd/src/pages/SignUp/SignUp/ActivateProfilePage.jsx
+++ b/FrontEnd/src/pages/SignUp/SignUp/ActivateProfilePage.jsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect } from 'react';
import axios from 'axios';
import { useParams } from 'react-router-dom';
-import AuthorizationPage from '../../../pages/Authorization/AuthorizationPage';
+import LoginPage from '../../../pages/Authorization/LoginPage';
import styles from './ActivateProfileModal.module.css';
export function ActivationProfilePage() {
@@ -37,7 +37,7 @@ export function ActivationProfilePage() {
return (
-
+
{modalVisible && (
diff --git a/FrontEnd/src/routes/ClientRouter.jsx b/FrontEnd/src/routes/ClientRouter.jsx
index 4598d585..311c4fdc 100644
--- a/FrontEnd/src/routes/ClientRouter.jsx
+++ b/FrontEnd/src/routes/ClientRouter.jsx
@@ -6,7 +6,7 @@ import { SWRConfig } from 'swr';
import 'react-toastify/dist/ReactToastify.css';
import customTheme from '../pages/CustomThemes/customTheme.js';
-import AuthorizationPage from '../pages/Authorization/AuthorizationPage';
+import LoginPage from '../pages/Authorization/LoginPage';
import CookiesPolicyComponent from '../pages/CookiesPolicyPage/CookiesPolicyComponent';
import Footer from '../components/Footer/Footer';
import Header from '../components/Header/Header';
@@ -68,7 +68,7 @@ function ClientRouter() {
{isAuth ? (
} />
) : (
-
} />
+
} />
)}
{isAuth ? (