diff --git a/package-lock.json b/package-lock.json index d4acd4f8..60cca5b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "outstaffing-react", + "name": "guild_front", "version": "0.1.0", "lockfileVersion": 3, "requires": true, @@ -5198,18 +5198,18 @@ } }, "node_modules/@testing-library/dom": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.0.0.tgz", - "integrity": "sha512-+/TLgKNFsYUshOY/zXsQOk+PlFQK+eyJ9T13IDVNJEi+M+Un7xlJK+FZKkbGSnf0+7E1G6PlDhkSYQ/GFiruBQ==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", + "aria-query": "5.1.3", "chalk": "^4.1.0", "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", + "lz-string": "^1.5.0", "pretty-format": "^27.0.2" }, "engines": { @@ -5634,9 +5634,9 @@ } }, "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "peer": true }, "node_modules/@types/babel__core": { @@ -16956,9 +16956,9 @@ } }, "node_modules/jquery": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", - "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==", "peer": true }, "node_modules/js-base64": { @@ -17401,9 +17401,9 @@ } }, "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "bin": { "lz-string": "bin/bin.js" } @@ -23338,9 +23338,9 @@ "dev": true }, "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, "optional": true, "peer": true, diff --git a/package.json b/package.json index a37f6ff4..21055908 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "version": "0.1.0", "private": true, - "homepage": "https://html.craft-group.xyz/", + "homepage": "https://itguild.info/", "dependencies": { "@ckeditor/ckeditor5-build-classic": "^38.0.1", "@ckeditor/ckeditor5-react": "^6.0.0", diff --git a/src/App.js b/src/App.js index 3fbf0de0..32a19073 100644 --- a/src/App.js +++ b/src/App.js @@ -8,8 +8,7 @@ import { import { getNotification } from "@redux/outstaffingSlice"; -import AuthForPartners from "./pages/AuthForPartners/AuthForPartners"; -import AuthForDevelopers from "./pages/AuthForDevelopers/AuthForDevelopers"; +import Auth from "./pages/Auth/Auth"; import { TrackerIntro } from "./pages/TrackerIntro/TrackerIntro" import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo"; import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth"; @@ -54,16 +53,13 @@ import "./assets/global.scss"; import "./assets/fonts/stylesheet.css"; import "bootstrap/dist/css/bootstrap.min.css"; - - const App = () => { const notification = useSelector(getNotification) return ( <> - } /> - } /> + } /> } /> } /> } /> diff --git a/src/assets/images/logo/ITguild.svg b/src/assets/images/logo/ITguild.svg new file mode 100644 index 00000000..d27df6d4 --- /dev/null +++ b/src/assets/images/logo/ITguild.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/logo/LogoITguild.svg b/src/assets/images/logo/LogoITguild.svg deleted file mode 100644 index 2e27863c..00000000 --- a/src/assets/images/logo/LogoITguild.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/components/AuthBlock/AuthBlock.js b/src/components/AuthBlock/AuthBlock.js index b3c0f862..87c64de6 100644 --- a/src/components/AuthBlock/AuthBlock.js +++ b/src/components/AuthBlock/AuthBlock.js @@ -13,10 +13,10 @@ export const AuthBlock = ({ title, description, img, resetModal }) => {

{description}

- - + + - + { placeholder="Пароль" />
- + resetModal(true)}>Восстановить пароль
diff --git a/src/components/AuthBlock/authBlock.scss b/src/components/AuthBlock/authBlock.scss index a223d69f..23f073bf 100644 --- a/src/components/AuthBlock/authBlock.scss +++ b/src/components/AuthBlock/authBlock.scss @@ -5,27 +5,33 @@ padding: 50px 0 35px 56px; margin-top: 40px; display: flex; - position: relative; - @media (max-width: 1000px) { - flex-direction: column; - padding: 25px; - margin-top: 0; - padding: 0; + @media (max-width: 1400px) { + margin-top: 100px; + } + + @media (max-width: 900px) { + flex-direction: column-reverse; + padding: 20px; + margin-top: 100px; } } &__info { margin-right: 115px; - @media (max-width: 1000px) { + @media (max-width: 900px) { order: 3; + flex-direction: column; + margin-bottom: 20px; } + h3 { font-weight: 500; font-size: 30px; line-height: 32px; margin-bottom: 20px; + text-align: center; } p { @@ -35,7 +41,7 @@ font-size: 16px; line-height: 30px; - @media (max-width: 1000px) { + @media (max-width: 900px) { max-width: none; margin: 15px 25px; } @@ -46,7 +52,7 @@ } } - @media (max-width: 1000px) { + @media (max-width: 900px) { margin-right: 0; display: flex; align-items: center; @@ -70,7 +76,7 @@ font-size: 15px; line-height: 18px; - @media (max-width: 1000px) { + @media (max-width: 900px) { max-width: 550px; } } @@ -109,9 +115,8 @@ } } - @media (max-width: 1000px) { + @media (max-width: 900px) { order: 2; - margin-bottom: 55px; } } @@ -120,7 +125,7 @@ right: 48px; top: -90px; - @media (max-width: 1000px) { + @media (max-width: 900px) { order: 1; position: inherit; right: inherit; diff --git a/src/components/AuthBox/AuthBox.jsx b/src/components/AuthBox/AuthBox.jsx index f1e0cf67..855d8cc8 100644 --- a/src/components/AuthBox/AuthBox.jsx +++ b/src/components/AuthBox/AuthBox.jsx @@ -53,7 +53,7 @@ export const AuthBox = ({ title }) => { data: formData, }).then((res) => { if (!res.access_token) { - setError("Введены некоректные данные для входа"); + setError("Введены некорректные данные для входа"); setModalError(true); dispatch(loading(false)); } else { @@ -79,14 +79,16 @@ export const AuthBox = ({ title }) => {

Вход authImg

-
- {title} -
+ {title && ( +
+ {title} +
+ )}
- + - +
{

- У вас еще нет аккаунта?   + У вас ещё нет аккаунта?   { e.preventDefault(); diff --git a/src/components/AuthBox/authBox.scss b/src/components/AuthBox/authBox.scss index 62142c35..f07d4837 100644 --- a/src/components/AuthBox/authBox.scss +++ b/src/components/AuthBox/authBox.scss @@ -15,7 +15,8 @@ letter-spacing: normal; line-height: 77.81px; text-align: left; - margin-top: 164px; + margin-top: 150px; + margin-bottom: 30px; span { color: #52b709; @@ -88,12 +89,12 @@ letter-spacing: normal; line-height: 19.2px; text-align: left; - margin-bottom: 25px; + margin-bottom: 10px; color: #000000; } .inputWrapper { - width: 366px; + width: 100%; position: relative; .eye { @@ -101,6 +102,10 @@ position: absolute; right: 20px; top: 15px; + + @media (min-width: 576px) { + left: 330px; + } } } @@ -152,7 +157,6 @@ letter-spacing: normal; line-height: 32px; text-align: center; - border: 2px solid #6aaf5c; margin-right: 1.5rem; transition: 0.3s; @@ -203,9 +207,13 @@ color: #000000; font-size: 17px; font-weight: 400; - margin-top: 45px; + margin-top: 35px; line-height: 32px; + @media (max-width: 700px) { + text-align: center; + } + span { cursor: pointer; color: #52b709; diff --git a/src/components/Calendar/Calendar.jsx b/src/components/Calendar/Calendar.jsx index b58273a6..9d4c99e7 100644 --- a/src/components/Calendar/Calendar.jsx +++ b/src/components/Calendar/Calendar.jsx @@ -61,9 +61,7 @@ const Calendar = () => {

- +
diff --git a/src/components/Calendar/calendar.scss b/src/components/Calendar/calendar.scss index 6a04eb14..a751ae77 100644 --- a/src/components/Calendar/calendar.scss +++ b/src/components/Calendar/calendar.scss @@ -125,6 +125,10 @@ margin: 50px 0 0; text-transform: capitalize; + @media (max-width: 500px) { + font-size: 1.7em; + } + span { font-weight: 100; font-style: normal; diff --git a/src/components/Calendar/calendarComponent.scss b/src/components/Calendar/calendarComponent.scss index 58edbb11..0fd023ca 100644 --- a/src/components/Calendar/calendarComponent.scss +++ b/src/components/Calendar/calendarComponent.scss @@ -13,7 +13,7 @@ display: flex; justify-content: space-between; - @media (max-width: 560px) { + @media (max-width: 760px) { flex-direction: column; row-gap: 15px; } @@ -21,20 +21,13 @@ &-info { display: flex; - @media (max-width: 685px) { - font-size: 7px; - } - - @media (max-width: 560px) { + @media (max-width: 760px) { font-size: 10px; - } - - @media (max-width: 560px) { justify-content: center; } .calendar__hours { - margin: 0 10px; + margin: 0 5px; line-height: 0; font-weight: 500; display: flex; @@ -45,18 +38,14 @@ &-switcher { display: flex; - @media (max-width: 590px) { - font-size: 8px; - } - - @media (max-width: 560px) { + @media (max-width: 760px) { justify-content: center; font-size: 12px; } } h3 { - font-size: 2.5em; + font-size: 2.2em; font-weight: 400; font-style: normal; letter-spacing: normal; @@ -165,6 +154,11 @@ justify-content: center; font-weight: 500; font-size: 12px; + + @media (max-width: 500px) { + font-size: 10px; + font-weight: 400; + } } img { @@ -182,27 +176,25 @@ } @media (max-width: 1200px) { - width: 90px; - height: 40px; + width: 110px; } @media (max-width: 968px) { - width: 62px; - height: 40px; + width: 90px; + font-size: 11px; + } + + @media (max-width: 680px) { + width: 70px; font-size: 10px; - - @media (max-width: 610px) { - width: auto; - height: auto; - } } - @media (max-width: 610px) { - width: 55px; - height: 45px; + @media (max-width: 550px) { + width: 60px; + height: 35px; } - @media (max-width: 480px) { + @media (max-width: 450px) { width: 45px; height: 35px; } @@ -294,12 +286,11 @@ .select { border-radius: 5px; - border: 1px solid #c4c4c4; + border: 2px solid #c4c4c4; box-shadow: 0 0 59px rgba(44, 44, 44, 0.05); padding: 5px 8px; cursor: pointer; text-align: center; - min-width: 350px; } .close { diff --git a/src/components/Candidate/Candidate.jsx b/src/components/Candidate/Candidate.jsx index b7a4126c..598351ae 100644 --- a/src/components/Candidate/Candidate.jsx +++ b/src/components/Candidate/Candidate.jsx @@ -174,7 +174,7 @@ const Candidate = () => {
-

Страница портфолио кода разработчика

+

Портфолио разработчика

diff --git a/src/components/Common/AuthHeader/AuthHeader.jsx b/src/components/Common/AuthHeader/AuthHeader.jsx index 3e7a460f..228b07e7 100644 --- a/src/components/Common/AuthHeader/AuthHeader.jsx +++ b/src/components/Common/AuthHeader/AuthHeader.jsx @@ -12,7 +12,7 @@ export const AuthHeader = () => {

- itguild.аутстафинг ИТ специалистов + itguild.аутстаффинг IT-специалистов

diff --git a/src/components/Common/Footer/Footer.jsx b/src/components/Common/Footer/Footer.jsx index 7140b21e..1dac338c 100644 --- a/src/components/Common/Footer/Footer.jsx +++ b/src/components/Common/Footer/Footer.jsx @@ -3,7 +3,7 @@ import React from "react"; import email from "assets/icons/emailLogo.svg"; import tg from "assets/icons/tgFooter.svg"; import vk from "assets/icons/vkLogo.svg"; -import logo from "assets/images/logo/LogoITguild.svg"; +import logo from "assets/images/logo/ITguild.svg"; import "./footer.scss"; @@ -27,21 +27,19 @@ export const Footer = () => {

Войти в команду

diff --git a/src/components/Common/Footer/footer.scss b/src/components/Common/Footer/footer.scss index 6680a50d..699e09b1 100644 --- a/src/components/Common/Footer/footer.scss +++ b/src/components/Common/Footer/footer.scss @@ -79,11 +79,11 @@ footer { &__mail { display: flex; align-items: center; - column-gap: 13px; + column-gap: 5px; - p { + a { font-weight: 400; - font-size: 12px; + font-size: 14px; line-height: 16px; color: #5b6871; } @@ -91,7 +91,7 @@ footer { &__policy { font-weight: 400; - font-size: 10px; + font-size: 13px; line-height: 16px; color: #5b6871; margin-left: 150px; @@ -108,6 +108,7 @@ footer { &__copyright { margin-left: auto; + font-size: 13px; @media (max-width: 910px) { min-width: 142px; diff --git a/src/components/Description/Description.jsx b/src/components/Description/Description.jsx index ef39d002..a376485a 100644 --- a/src/components/Description/Description.jsx +++ b/src/components/Description/Description.jsx @@ -98,7 +98,7 @@ const Description = ({ onLoadMore }) => {
{candidatesListArr && ( - + )}
diff --git a/src/components/Form/Form.jsx b/src/components/Form/Form.jsx index b3bc2524..ff3c8a52 100644 --- a/src/components/Form/Form.jsx +++ b/src/components/Form/Form.jsx @@ -85,13 +85,13 @@ const Form = () => {
- + diff --git a/src/components/FreeDevelopers/FreeDevelopers.jsx b/src/components/FreeDevelopers/FreeDevelopers.jsx index 34798e78..f6bd4276 100644 --- a/src/components/FreeDevelopers/FreeDevelopers.jsx +++ b/src/components/FreeDevelopers/FreeDevelopers.jsx @@ -50,7 +50,7 @@ export const FreeDevelopers = () => {
-

Описание опыта работы

+

Опыт работы

@@ -86,7 +86,7 @@ export const FreeDevelopers = () => {
-

Для просмотра полного резюме разработчика авторизуйтесь

+

Для просмотра полного резюме разработчика, авторизуйтесь

Войти diff --git a/src/components/LogoutButton/LogoutButton.jsx b/src/components/LogoutButton/LogoutButton.jsx index ad262aa8..16138ab0 100644 --- a/src/components/LogoutButton/LogoutButton.jsx +++ b/src/components/LogoutButton/LogoutButton.jsx @@ -1,9 +1,6 @@ import React, { useState } from "react"; -import { useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; -import { getRole } from "@redux/roleSlice"; - import { useLogout } from "@hooks/useLogout"; import { Loader } from "@components/Common/Loader/Loader"; @@ -12,8 +9,6 @@ import "./logoutButton.scss"; export const LogoutButton = () => { const [isLoggingOut, setIsLoggingOut] = useState(false); - - const userRole = useSelector(getRole); const navigate = useNavigate(); const { logout } = useLogout(); @@ -24,7 +19,7 @@ export const LogoutButton = () => { setIsLoggingOut(true); logout(); setIsLoggingOut(false); - navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth"); + navigate("/auth"); }} > {isLoggingOut ? : "Выйти"} diff --git a/src/components/Modal/ModalErrorLogin/ModalErrorLogin.jsx b/src/components/Modal/ModalErrorLogin/ModalErrorLogin.jsx index 3caf48f0..c45e045c 100644 --- a/src/components/Modal/ModalErrorLogin/ModalErrorLogin.jsx +++ b/src/components/Modal/ModalErrorLogin/ModalErrorLogin.jsx @@ -17,7 +17,7 @@ export const ModalErrorLogin = ({ active, setActive, title }) => { setActive(false); }} > - Попробовать еще раз + Попробовать ещё раз setActive(false)} className="exit"> diff --git a/src/components/Modal/ModalRegistration/ModalRegistration.jsx b/src/components/Modal/ModalRegistration/ModalRegistration.jsx index 3d384b32..6bd40323 100644 --- a/src/components/Modal/ModalRegistration/ModalRegistration.jsx +++ b/src/components/Modal/ModalRegistration/ModalRegistration.jsx @@ -104,11 +104,11 @@ export const ModalRegistration = ({ active, setActive }) => { }; return ( -
+

- Подключайтесь к

itguild.

+ Подключайтесь к

ITguild

-

+

Зарегистрируйтесь и начните работу уже сегодня

@@ -132,7 +132,7 @@ export const ModalRegistration = ({ active, setActive }) => { value={inputsValue.userName} placeholder="Имя" /> - {inputsError.name && Минимум 2 символов} + {inputsError.name && Минимум 2 символа}
E-mail
@@ -153,13 +153,11 @@ export const ModalRegistration = ({ active, setActive }) => { value={inputsValue.email} placeholder="Почта" /> - {inputsError.email && Введите коректный email} + {inputsError.email && Введите корректный e-mail}
- {/*
Название компании
*/} - {/**/}
Пароль
{ /> {inputsError.password && Минимум 6 символов}
+
+
Повторите пароль
+ { + setInputsError({ + name: false, + email: false, + password: false, + }); + setInputsValue((prevValue) => ({ + ...prevValue, + password: e.target.value, + })); + }} + value={inputsValue.password} + placeholder="Пароль" + /> + {inputsError.password && Минимум 6 символов} +
+
{loader ? ( @@ -202,9 +222,9 @@ export const ModalRegistration = ({ active, setActive }) => { {/**/}
-
+

Отказ от специалиста в любой момент

-
+

Поменяйте, откажитесь или возьмите еще специалиста в любой момент @@ -212,7 +232,7 @@ export const ModalRegistration = ({ active, setActive }) => {

100% постоплата

-
+

Договор не подразумевает какую‑либо оплату до того, как вы @@ -220,7 +240,7 @@ export const ModalRegistration = ({ active, setActive }) => {

Есть вопросы?

-
+

Напишите нам в Телеграм. Мы с удовольствием ответим!

diff --git a/src/components/Modal/ModalRegistration/modalRegistration.scss b/src/components/Modal/ModalRegistration/modalRegistration.scss index 03284726..3f5aa077 100644 --- a/src/components/Modal/ModalRegistration/modalRegistration.scss +++ b/src/components/Modal/ModalRegistration/modalRegistration.scss @@ -6,12 +6,10 @@ justify-content: space-between; border: 1px solid #dde2e4; border-radius: 8px; - width: 1088px; - height: 515px; &-body { - &__left { - padding: 33px 0 30px 77px; + &__main { + padding-left: 30px; h2 { font-weight: 500; @@ -51,6 +49,7 @@ font-weight: 400; font-size: 15px; line-height: 18px; + margin-left: 10px; } input { @@ -112,9 +111,9 @@ } } - &__right { + &__about { border-left: 1px solid #f1f1f1; - padding: 30px 32px 46px 25px; + padding: 20px; display: flex; flex-direction: column; justify-content: space-between; diff --git a/src/components/Modal/ModalReset/ModalReset.js b/src/components/Modal/ModalReset/ModalReset.js index 693d1922..e3395543 100644 --- a/src/components/Modal/ModalReset/ModalReset.js +++ b/src/components/Modal/ModalReset/ModalReset.js @@ -10,7 +10,7 @@ export const ModalReset = ({ setModalReset }) => {

Восстановление доступа

Укажите e-mail, для которого хотите восстановить пароль. - +
{ setInputsError((prevValue) => ({ ...prevValue, email: true })); return showNotification({ show: true, - text: "Введите коректный email", + text: "Введите корректный e-mail", type: "error", }); } @@ -101,7 +101,7 @@ export const ModalResetPassword = ({ active, setActive }) => { if (data.code === 0) { showNotification({ show: true, - text: "Введите коректные данные", + text: "Введите корректные данные", type: "error", }); } else { @@ -127,7 +127,7 @@ export const ModalResetPassword = ({ active, setActive }) => {

Восстановление пароля

{!step ? (
-
Введите email:
+
Введите ваш e-mail:
{ @@ -141,13 +141,10 @@ export const ModalResetPassword = ({ active, setActive }) => { token: false, }); }} - placeholder="Email" + placeholder="E-mail" value={inputsValue.email} className={inputsError.email ? "error" : ""} /> - {inputsError.email && ( - Введите коректный email - )} {loader ? ( ) : ( diff --git a/src/components/Modal/ModalResetPassword/modalResetPassword.scss b/src/components/Modal/ModalResetPassword/modalResetPassword.scss index acd2349f..51c91be6 100644 --- a/src/components/Modal/ModalResetPassword/modalResetPassword.scss +++ b/src/components/Modal/ModalResetPassword/modalResetPassword.scss @@ -1,5 +1,5 @@ .resetPassword { - width: 370px; + width: 280px; position: relative; &__close { @@ -13,7 +13,7 @@ &__title { font-size: 20px; text-align: center; - margin-bottom: 15px; + margin-bottom: 20px; } &__email { display: flex; @@ -24,6 +24,7 @@ h5 { font-size: 16px; margin-bottom: 10px; + align-self: flex-start; } input { @@ -54,11 +55,9 @@ color: #ffffff; font-weight: 500; font-size: 15px; - letter-spacing: normal; - line-height: 32px; - text-align: center; border: 2px solid #6aaf5c; transition: 0.3s; + margin-top: 15px; } .error { diff --git a/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx b/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx index dc96ab0b..eb6675ac 100644 --- a/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx +++ b/src/components/Modal/Tracker/TrackerModal/TrackerModal.jsx @@ -409,7 +409,7 @@ export const TrackerModal = ({ {/* />*/} {/*
*/}

- Выберите пользователя в проекте или добавьте по e- mail + Выберите пользователя в проекте или добавьте по e-mail

@@ -468,7 +468,7 @@ export const TrackerModal = ({
diff --git a/src/components/Modal/Tracker/TrackerModal/trackerModal.scss b/src/components/Modal/Tracker/TrackerModal/trackerModal.scss index 7d33cb26..58d89329 100644 --- a/src/components/Modal/Tracker/TrackerModal/trackerModal.scss +++ b/src/components/Modal/Tracker/TrackerModal/trackerModal.scss @@ -742,7 +742,7 @@ .exit { cursor: pointer; position: absolute; - top: 36px; + top: 20px; right: 20px; width: 13px; height: 13px; diff --git a/src/components/Navigation/Navigation.jsx b/src/components/Navigation/Navigation.jsx index b0c92e9b..0239ec47 100644 --- a/src/components/Navigation/Navigation.jsx +++ b/src/components/Navigation/Navigation.jsx @@ -26,7 +26,7 @@ export const Navigation = () => { }, { path: "/calendar", - name: "Отчетность", + name: "Отчеты", }, { path: "/tracker", diff --git a/src/components/Notification/notification.scss b/src/components/Notification/notification.scss index cab02ae3..7bf0b0fd 100644 --- a/src/components/Notification/notification.scss +++ b/src/components/Notification/notification.scss @@ -1,7 +1,7 @@ .notification { border-radius: 40px; background: linear-gradient(180deg, #FFF 0%, #EBEBEB 100%); - padding: 20px 82px 17px 27px; + padding: 15px 60px 15px 15px; position: fixed; bottom: 25px; right: 25px; @@ -13,7 +13,7 @@ align-items: center; h2 { - max-width: 194px; + max-width: 210px; font-weight: 500; font-size: 16px; margin-bottom: 0; @@ -27,8 +27,8 @@ &__close { cursor: pointer; position: absolute; - top: 15px; - right: 25px; + top: 10px; + right: 20px; width: 15px; height: 15px; } diff --git a/src/components/ProfileBreadcrumbs/profileBreadcrumbs.scss b/src/components/ProfileBreadcrumbs/profileBreadcrumbs.scss index 72d809cc..e7a1e744 100644 --- a/src/components/ProfileBreadcrumbs/profileBreadcrumbs.scss +++ b/src/components/ProfileBreadcrumbs/profileBreadcrumbs.scss @@ -9,7 +9,7 @@ a { color: #5b6871; font-weight: 400; - font-size: 12px; + font-size: 13px; line-height: 16px; transition: 0.3s all ease; position: relative; @@ -17,14 +17,6 @@ display: flex; align-items: center; - @media (max-width: 525px) { - font-size: 10px; - } - - @media (max-width: 455px) { - font-size: 9px; - } - &:hover { text-decoration: none; color: #000000; diff --git a/src/components/ProfileCalendar/ProfileCalendar.jsx b/src/components/ProfileCalendar/ProfileCalendar.jsx index 55c701ff..4a7078f9 100644 --- a/src/components/ProfileCalendar/ProfileCalendar.jsx +++ b/src/components/ProfileCalendar/ProfileCalendar.jsx @@ -89,7 +89,7 @@ export const ProfileCalendar = () => {

Ваши отчеты

@@ -110,11 +110,9 @@ export const ProfileCalendar = () => {
diff --git a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx index d7d78bde..f79c3c7b 100644 --- a/src/components/ProfileCalendar/ProfileCalendarComponent.jsx +++ b/src/components/ProfileCalendar/ProfileCalendarComponent.jsx @@ -205,11 +205,11 @@ export const ProfileCalendarComponent = React.memo(
-

Мои отчеты:

+

Мои отчеты за

{month}  - {totalHours} {hourOfNum(totalHours)}{" "} + ({totalHours} {hourOfNum(totalHours)})

@@ -316,13 +316,15 @@ export const ProfileCalendarComponent = React.memo( ? `${getCorrectDate(startDate)} - ${getCorrectDate(endDate)}` : `${getCorrectDate(endDate)} - ${getCorrectDate(startDate)}` : activePeriod - ? "Выберите начало диапазона" + ? "Выберите диапазон на календаре" : "Выбрать диапазон"} {totalRangeHours ? `${totalRangeHours} ${hourOfNum(totalRangeHours)}` - : "0 часов"} + : endDate + ? "0 часов" + : ""} {endDate && ( { const navigate = useNavigate(); const dispatch = useDispatch(); const profileInfo = useSelector(getProfileInfo); - const userRole = useSelector(getRole); const [user] = useState( localStorage.getItem("role_status") === "18" ? "partner" : "developer" ); @@ -43,7 +41,7 @@ export const ProfileHeader = () => { localStorage.clear(); dispatch(auth(false)); setIsLoggingOut(false); - navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth"); + navigate("/auth"); }; return ( diff --git a/src/components/ReportForm/ReportForm.jsx b/src/components/ReportForm/ReportForm.jsx index 205550c4..85b5a6c3 100644 --- a/src/components/ReportForm/ReportForm.jsx +++ b/src/components/ReportForm/ReportForm.jsx @@ -125,8 +125,8 @@ const ReportForm = () => {

@@ -180,9 +180,7 @@ const ReportForm = () => {

Краткое описание задачи

-

- Количество часов -

+

Кол-во часов

{inputs.map((input, index) => { @@ -260,7 +258,7 @@ const ReportForm = () => {

+

- Добавить еще + Добавить задачу
@@ -299,7 +297,7 @@ const ReportForm = () => { {isFetching ? : "Отправить"}

- Всего за день :{" "} + Всего за день:{" "} {totalHours} {hourOfNum(totalHours)} diff --git a/src/components/ReportForm/reportForm.scss b/src/components/ReportForm/reportForm.scss index f27547d0..aedce9e4 100644 --- a/src/components/ReportForm/reportForm.scss +++ b/src/components/ReportForm/reportForm.scss @@ -54,7 +54,6 @@ font-weight: 700; font-style: normal; letter-spacing: normal; - line-height: 48.74px; text-align: left; @media (max-width: 555px) { @@ -75,7 +74,7 @@ @media (max-width: 555px) { margin-top: 25px; - margin-bottom: 15px; + margin-bottom: 10px; } } } @@ -115,12 +114,11 @@ font-weight: 700; font-style: normal; letter-spacing: normal; - line-height: 48.74px; width: 12px; } &-list { - margin-top: 40px; + margin-top: 30px; display: flex; align-items: center; @@ -146,7 +144,7 @@ &-header { display: flex; justify-content: flex-start; - margin-top: 40px; + margin-top: 20px; margin-left: 50px; p { @@ -156,7 +154,7 @@ letter-spacing: normal; line-height: normal; text-align: left; - margin-bottom: 26px; + margin-bottom: 10px; white-space: nowrap; @media (max-width: 450px) { @@ -276,6 +274,7 @@ margin-left: 28px; display: flex; align-items: center; + justify-content: center; .addMore { display: flex; @@ -285,9 +284,9 @@ width: 38px; height: 38px; background: #e8e8e8; - margin-bottom: 0; border-radius: 50px; font-size: 32px; + cursor: pointer; } span { @@ -297,7 +296,8 @@ letter-spacing: normal; line-height: normal; text-align: left; - margin-left: 20px; + margin-left: 10px; + cursor: pointer; } } @@ -352,6 +352,7 @@ &__footer { display: flex; + flex-direction: column-reverse; align-items: center; margin-top: 20px; @@ -380,16 +381,13 @@ &-text { font-family: "GT Eesti Pro Display"; font-size: 1.9em; - font-weight: 600; font-style: normal; letter-spacing: normal; line-height: 22.38px; - text-align: left; - margin-left: 40px; - margin-bottom: 0; + margin-bottom: 20px; span { - font-weight: 100; + font-weight: 600; } } diff --git a/src/components/SideBar/SideBar.jsx b/src/components/SideBar/SideBar.jsx index 6a379aae..c37b900f 100644 --- a/src/components/SideBar/SideBar.jsx +++ b/src/components/SideBar/SideBar.jsx @@ -2,7 +2,7 @@ import React, { useState } from "react"; import { Link } from "react-router-dom"; import arrow from "assets/icons/sideBarArrow.svg"; -import LogoITguild from "assets/images/logo/LogoITguild.svg"; +import ITguild from "assets/images/logo/ITguild.svg"; import "./sidebar.scss"; @@ -37,13 +37,13 @@ export const SideBar = () => {

- 2023 © Outstaffing + {new Date().getFullYear()} © Outstaffing

- +
  • diff --git a/src/components/SideBar/sidebar.scss b/src/components/SideBar/sidebar.scss index 6af9b83e..f963b3b4 100644 --- a/src/components/SideBar/sidebar.scss +++ b/src/components/SideBar/sidebar.scss @@ -125,6 +125,10 @@ &__title { display: flex; margin-top: 24px; + + img { + width: 160px; + } } &__navigation { @@ -143,7 +147,7 @@ &__politic { margin-top: 42px; - font-size: 12px; + font-size: 14px; line-height: 22px; color: #000000; } @@ -156,7 +160,7 @@ line-height: 33px; } p { - font-size: 12px; + font-size: 14px; } } @@ -190,6 +194,6 @@ @media (max-width: 1375px) { left: 0; width: 100%; - height: 605px; + height: 705px; } } diff --git a/src/components/SliderWorkers/SliderWorkers.jsx b/src/components/SliderWorkers/SliderWorkers.jsx index a79a82fa..e97f2ce4 100644 --- a/src/components/SliderWorkers/SliderWorkers.jsx +++ b/src/components/SliderWorkers/SliderWorkers.jsx @@ -81,7 +81,7 @@ export const SliderWorkers = ({ title, titleInfo, subTitle }) => { {Boolean(subTitle) ? (
    -

    Дополните свою команду опытными ИТ-специалистами

    +

    Дополните Вашу команду опытными IT-специалистами

    Даём финансовые, юридические и кадровые гарантии, предоставляем SLA и отвечаем за работу команды. Вам не нужно искать, оформлять diff --git a/src/components/StepsForCandidate/stepForCandidate.scss b/src/components/StepsForCandidate/stepForCandidate.scss index b78009b4..e4f9c8f0 100644 --- a/src/components/StepsForCandidate/stepForCandidate.scss +++ b/src/components/StepsForCandidate/stepForCandidate.scss @@ -46,11 +46,14 @@ padding: 8px 26px; font-weight: 400; font-size: 16px; - line-height: 32px; + + @media (max-width: 450px) { + max-width: 180px; + } } span { - margin-left: 55px; + margin-left: 20px; font-weight: 400; font-size: 16px; line-height: 32px; diff --git a/src/components/features/quiz/Instructions.jsx b/src/components/features/quiz/Instructions.jsx index 46f05379..f06073a5 100644 --- a/src/components/features/quiz/Instructions.jsx +++ b/src/components/features/quiz/Instructions.jsx @@ -47,7 +47,7 @@ export const Instruction = () => {

    - Количество вопросов в тесте: {countQuestions} + Вопросов в тесте: {countQuestions}
diff --git a/src/hooks/useLogout.js b/src/hooks/useLogout.js index 0ad7c721..f76c0f7f 100644 --- a/src/hooks/useLogout.js +++ b/src/hooks/useLogout.js @@ -1,18 +1,16 @@ -import { useDispatch, useSelector } from "react-redux"; +import { useDispatch } from "react-redux"; import { useNavigate } from "react-router-dom"; import { auth } from "../redux/outstaffingSlice"; -import { getRole } from "../redux/roleSlice"; export const useLogout = () => { const dispatch = useDispatch(); - const userRole = useSelector(getRole); const navigate = useNavigate(); const logout = () => { localStorage.clear(); dispatch(auth(false)); - navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth"); + navigate("/auth"); }; return { logout }; diff --git a/src/index.css b/src/index.css index a143b554..53f994d4 100644 --- a/src/index.css +++ b/src/index.css @@ -18,10 +18,6 @@ code { monospace; } -h1 { - -} - .container { position: relative !important; } diff --git a/src/pages/Article/Article.jsx b/src/pages/Article/Article.jsx index 7d61aa59..797d06e0 100644 --- a/src/pages/Article/Article.jsx +++ b/src/pages/Article/Article.jsx @@ -73,7 +73,7 @@ export const Article = () => { предпринимателями и тщательно проверяем своих партнеров. Партнерами являются агентства, которые специализируются на оказании услуг в формате аутстафф-модели и обладают глубокой - экспертизой в разработке и внедрении ИТ-проектов. + экспертизой в разработке и внедрении IT-проектов.

@@ -81,7 +81,7 @@ export const Article = () => {

С одной стороны, зарплаты в сфере разработки растут, с другой стороны, появляется огромное количество новичков, которые хотят - легко и просто войти в ИТ-сферу на волне востребованности и + легко и просто войти в IT-сферу на волне востребованности и больших зарплат. Разумеется, это приводит к осторожному отношению работодателя к выпускникам различных курсов. Нет такого курса, который даст на 100% готового джуна, слишком многое завязано на diff --git a/src/pages/AuthForPartners/AuthForPartners.jsx b/src/pages/Auth/Auth.jsx similarity index 75% rename from src/pages/AuthForPartners/AuthForPartners.jsx rename to src/pages/Auth/Auth.jsx index f1a12061..a61533ab 100644 --- a/src/pages/AuthForPartners/AuthForPartners.jsx +++ b/src/pages/Auth/Auth.jsx @@ -1,18 +1,15 @@ import React, { useEffect } from "react"; import { useSelector } from "react-redux"; -import { Link, useNavigate } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { selectAuth } from "@redux/outstaffingSlice"; -import { scrollToForm } from "@utils/helper"; - import { AuthBox } from "@components/AuthBox/AuthBox"; import AuthHeader from "@components/Common/AuthHeader/AuthHeader"; import { Footer } from "@components/Common/Footer/Footer"; import SideBar from "@components/SideBar/SideBar"; import SliderWorkers from "@components/SliderWorkers/SliderWorkers"; -import arrowBtn from "assets/icons/arrows/arrowRight.svg"; import arrow from "assets/icons/arrows/arrow__login_page.png"; import text from "assets/images/Body_Text.png"; import vector from "assets/images/Vector_Smart_Object.png"; @@ -20,9 +17,9 @@ import vectorBlack from "assets/images/Vector_Smart_Object_black.png"; import authImg from "assets/images/auth_img.png"; import cross from "assets/images/cross.png"; -import "./authForPartners.scss"; +import "./auth.scss"; -const AuthForPartners = () => { +const Auth = () => { const isAuth = useSelector(selectAuth); let navigate = useNavigate(); @@ -46,28 +43,10 @@ const AuthForPartners = () => {

-
-
scrollToForm()}> - -
-
- - - - - - -
-
-
- +
@@ -90,7 +69,6 @@ const AuthForPartners = () => {
- {/* */} -

- 300 Специалистов -

-
-
- -
    -
  • - Ruby on Rails -
  • -
  • PHP
  • -
  • Python
  • -
  • Vue.js
  • -
  • React. JS
  • -
-
- - -
-
-
-
-
-
- - - ); -}; - -export default AuthForDevelopers; diff --git a/src/pages/AuthForDevelopers/authForDevelopers.scss b/src/pages/AuthForDevelopers/authForDevelopers.scss deleted file mode 100644 index b81b2e1d..00000000 --- a/src/pages/AuthForDevelopers/authForDevelopers.scss +++ /dev/null @@ -1,240 +0,0 @@ -.auth-developers { - font-family: "LabGrotesque", sans-serif; - overflow: hidden; - position: relative; - - &__background { - background-color: #f1f1f1; - position: relative; - } - - &__vector, - &__vector-black { - position: absolute; - } - - &__vector { - top: -37px; - left: -285px; - } - - &__vector-black { - top: 460px; - right: -224px; - - @media (max-width: 1200px) { - top: 370px; - } - - @media (max-width: 1024px) { - top: 180px; - } - } - - &__arrow { - margin-top: 360px; - z-index: 99; - - @media (max-width: 1200px) { - display: none; - } - } - - @media (max-width: 575.98px) { - &__vector, - &__vector-black, - &__arrow { - display: none; - } - } - &__info { - background-color: #e1fccf; - margin-top: 70px; - max-width: 310px; - padding-top: 30px; - position: relative; - padding-bottom: 310px; - - @media (max-width: 1200px) { - display: none; - } - } - - &__info-box { - display: flex; - align-items: center; - } - - @media (max-width: 575.98px) { - &__info { - max-width: 380px; - } - - &__info-box { - flex-direction: column; - justify-content: center; - } - } - - @media (max-width: 375.98px) { - &__info { - max-width: 340px; - } - } - - &__info-box > img { - width: 165px; - height: 165px; - margin-left: -84px; - margin-right: 30px; - } - - @media (max-width: 575.98px) { - &__info-box > img { - margin-left: 0px; - margin-right: 0px; - } - } - - &__info-box > h3 { - font-family: "GT Eesti Pro Display"; - font-size: 2em; - font-weight: 100; - font-style: normal; - letter-spacing: normal; - line-height: 36px; - text-align: left; - } - - @media (max-width: 575.98px) { - &__info-box > h3 { - margin-top: 20px; - } - } - - &__info-container { - display: flex; - position: relative; - } - - &__info-img { - display: flex; - flex-direction: column; - text-align: center; - margin-top: 28px; - margin-left: -40px; - } - - &__info-img > div > img { - margin-bottom: 100px; - } - - &__specialists { - font-family: "GT Eesti Pro Display"; - font-size: 1.8em; - font-weight: 100; - font-style: normal; - letter-spacing: normal; - line-height: 26.12px; - text-align: left; - transform: rotate(-90deg); - text-transform: uppercase; - } - - &__info-list { - list-style: none; - margin-top: 110px; - position: absolute; - right: -70px; - } - - @media (max-width: 575.98px) { - &__info-list { - left: 34px; - } - } - - &__info-item { - color: #1f1f1f; - font-family: "GT Eesti Pro Display"; - font-size: 4em; - font-weight: 700; - font-style: normal; - letter-spacing: normal; - line-height: 56.95px; - text-align: left; - text-decoration: underline; - text-transform: uppercase; - } - - @media (max-width: 575.98px) { - &__info-item { - font-size: 2.6em; - } - } - - &__img-text { - position: absolute; - right: -68px; - bottom: -84px; - } - - @media (max-width: 575.98px) { - &__img-text { - right: 0px; - bottom: -40px; - } - } - //////////////////////////////////// - - &__auth-link { - display: block; - } - - &__auth-link a { - display: block; - width: 100%; - height: 100%; - color: #fff; - } - - @media (max-width: 766px) { - &__form-buttons { - flex-direction: column; - } - - &__form-btn { - margin: 0; - margin-bottom: 1.5rem; - } - } -} - -.change-mode { - &__partnersForDev { - background: #52b7098c; - color: #2d6505; - margin-left: -35px; - } - - &__partnersForDev, - &__developersForDev { - width: 220px; - height: 50px; - border-radius: 44px; - font-size: 16px; - border: none; - } - - &__developersForDev { - position: relative; - background: #406128; - color: white; - } - - @media (max-width: 768px) { - &__partnersForDev { - margin: 15px 0 0 0; - } - } -} diff --git a/src/pages/CompanyInfo/CompanyInfo.jsx b/src/pages/CompanyInfo/CompanyInfo.jsx index f7f99641..da88401d 100644 --- a/src/pages/CompanyInfo/CompanyInfo.jsx +++ b/src/pages/CompanyInfo/CompanyInfo.jsx @@ -27,7 +27,7 @@ export const CompanyInfo = () => { arrow

- Мы предоставляем вам «в аренду» it-специалистов. При этом они + Мы предоставляем вам «в аренду» IT-специалистов. При этом они находятся в нашем штате. Оплата происходит за отработанные часы

@@ -36,7 +36,8 @@ export const CompanyInfo = () => { countingImg

- Экономия бюджета компании - главное преимущество аутстафинга + Экономия бюджета компании - главное преимущество + аутстаффинга

Приблизительный просчет дал результаты в экономии до 50% diff --git a/src/pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion.jsx b/src/pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion.jsx index 9ddf06fc..0c618345 100644 --- a/src/pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion.jsx +++ b/src/pages/FrequentlyAskedQuestion/FrequentlyAskedQuestion.jsx @@ -17,7 +17,7 @@ export const FrequentlyAskedQuestion = () => { id: params.id, title: "Это фриланс-платформа?", answer: - "Нет, мы работаем только с юридическими лицами и индивидуальными предпринимателями и тщательно проверяем своих партнеров. Партнерами являются агентства, которые специализируются на оказании услуг в формате аутстафф-модели и обладают глубокой экспертизой в разработке и внедрении ИТ-проектов.", + "Нет, мы работаем только с юридическими лицами и индивидуальными предпринимателями и тщательно проверяем своих партнеров. Партнерами являются агентства, которые специализируются на оказании услуг в формате аутстафф-модели и обладают глубокой экспертизой в разработке и внедрении IT-проектов.", }); useEffect(() => { diff --git a/src/pages/PartnerAddRequest/PartnerAddRequest.js b/src/pages/PartnerAddRequest/PartnerAddRequest.js index a023cb85..40f40cc7 100644 --- a/src/pages/PartnerAddRequest/PartnerAddRequest.js +++ b/src/pages/PartnerAddRequest/PartnerAddRequest.js @@ -402,7 +402,7 @@ export const PartnerAddRequest = () => {

Процесс:

- При аутстафе мы предоставляем вам it-специалистов при этом они + При аутстаффе мы предоставляем вам IT-специалистов при этом они находятся в нашем штате.

diff --git a/src/pages/PartnerRequests/PartnerRequests.jsx b/src/pages/PartnerRequests/PartnerRequests.jsx index f1510f26..7cf2f776 100644 --- a/src/pages/PartnerRequests/PartnerRequests.jsx +++ b/src/pages/PartnerRequests/PartnerRequests.jsx @@ -98,7 +98,7 @@ export const PartnerRequests = () => {

cursor -

У вас еще нет запросов на сотрудников

+

У вас ещё нет запросов на сотрудников

+ diff --git a/src/pages/PartnerSettings/PartnerSettings.jsx b/src/pages/PartnerSettings/PartnerSettings.jsx index dd101fcc..a6c95205 100644 --- a/src/pages/PartnerSettings/PartnerSettings.jsx +++ b/src/pages/PartnerSettings/PartnerSettings.jsx @@ -88,16 +88,16 @@ export const PartnerSettings = () => {
-

Настройки акаунта

+

Настройки профиля

Вход в систему

-

Изменение логина

+

Изменение логина

{ value={inputsValue.name} /> {inputsError.name && ( - Минимум 2 символов + Минимум 2 символа )}
-

Изменение пароля

+

Изменение пароля

{

Документы и отчеты

-

Изменить провадера ЭДО

+

Изменить провадера ЭДО

-
-
-

- Изменение названия компании -

+

Изменение названия компании

diff --git a/src/pages/PartnerSettings/partnerSettings.scss b/src/pages/PartnerSettings/partnerSettings.scss index b2ece0eb..d748af63 100644 --- a/src/pages/PartnerSettings/partnerSettings.scss +++ b/src/pages/PartnerSettings/partnerSettings.scss @@ -22,20 +22,11 @@ line-height: 24px; } - &__lable { - &-first, - &-second { - font-size: 15px; - line-height: 18px; - color: #000000; - } - - &-first { - margin: 39px 0 10px 0; - } - &-second { - margin: 15px 0 10px 0; - } + &__label { + font-size: 15px; + line-height: 18px; + color: #000000; + margin: 15px 0 10px 0; } &__input { @@ -46,7 +37,6 @@ padding: 5px 10px; background: #eff2f7; border-radius: 8px; - width: 373px; height: 35px; border: none; font-size: 15px; @@ -75,11 +65,12 @@ } &__buttons { - width: 87%; + width: 100%; display: flex; flex-direction: row; - justify-content: space-between; - margin: 36px 0 30px 0; + justify-content: flex-start; + gap: 20px; + margin: 30px 0 20px; &-cancel, &-save { @@ -113,7 +104,7 @@ } } - @media (max-width: 570px) { + @media (max-width: 800px) { &__input { width: 95%; } @@ -123,6 +114,7 @@ width: 100%; flex-direction: column-reverse; align-items: center; + gap: 0px; &-save { margin-bottom: 15px; @@ -132,13 +124,7 @@ } .checkbox { - &__first { - margin: 0px 0 0 20px; - } - - &__second { - margin: 0px 20px 0 0; - } + margin: 0px 0 0 20px; } .partner-settings { @@ -147,7 +133,7 @@ &__body { display: flex; flex-direction: row; - justify-content: space-between; + justify-content: space-around; margin-top: 27px; } @@ -197,15 +183,8 @@ } &__label { - &-first, - &-second { - display: flex; - align-items: center; - } - - &-second { - flex-direction: row-reverse; - } + display: flex; + align-items: center; } @media (max-width: 1200px) { @@ -227,10 +206,7 @@ } &__label { - &-second, - &-first { - flex-direction: row; - } + flex-direction: row; } } @@ -268,6 +244,7 @@ &__report { margin-top: 55px; + margin-bottom: 10px; } &__logo { @@ -276,16 +253,7 @@ } &__label { - &-second, - &-first { - flex-direction: row; - } - } - - .checkbox { - &__second { - margin: 0px 0 0 20px; - } + flex-direction: row; } } } diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index e8be662a..25af6d3d 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -36,7 +36,7 @@ export const Profile = () => { { path: "profile/summary", img: summaryIcon, - title: "Данные и резюме", + title: "Резюме", description: "Ваше резюме
заполнено", }, { @@ -54,7 +54,7 @@ export const Profile = () => { { path: "profile/settings", img: settingIcon, - title: "Настройки аккаунта", + title: "Настройки профиля", description: "Перейдите чтобы начать
редактирование", }, ], @@ -87,7 +87,7 @@ export const Profile = () => { { path: "profile/settings", img: settingIcon, - title: "Настройки аккаунта", + title: "Настройки профиля", description: "Перейдите чтобы начать
редактирование", }, ], diff --git a/src/pages/Profile/profile.scss b/src/pages/Profile/profile.scss index 6b24efb0..e37f35cb 100644 --- a/src/pages/Profile/profile.scss +++ b/src/pages/Profile/profile.scss @@ -1,8 +1,8 @@ .profile { - background: #F1F1F1; + background: #f1f1f1; height: 100%; min-height: 100vh; - font-family: 'LabGrotesque', sans-serif; + font-family: "LabGrotesque", sans-serif; &__title { font-weight: 700; @@ -14,7 +14,7 @@ p { color: black; } - color: #52B709; + color: #52b709; } @media (max-width: 560px) { @@ -28,7 +28,7 @@ } &__info { - min-height: 128px; + min-height: 110px; background: white; border-radius: 12px; margin-top: 30px; diff --git a/src/pages/ProfileCandidate/ProfileCandidate.js b/src/pages/ProfileCandidate/ProfileCandidate.js index 8fca2cbd..1402f82b 100644 --- a/src/pages/ProfileCandidate/ProfileCandidate.js +++ b/src/pages/ProfileCandidate/ProfileCandidate.js @@ -25,7 +25,7 @@ export const ProfileCandidate = () => { { path: "profile/settings", img: settingIcon, - title: "Настройки аккаунта", + title: "Настройки профиля", description: "Перейдите чтобы начать редактирование", }, ]); diff --git a/src/pages/ProjectTracker/ProjectTracker.js b/src/pages/ProjectTracker/ProjectTracker.js index 70430953..3510b598 100644 --- a/src/pages/ProjectTracker/ProjectTracker.js +++ b/src/pages/ProjectTracker/ProjectTracker.js @@ -1088,7 +1088,7 @@ export const ProjectTracker = () => {
{acceptModalOpen && ( deleteColumn(currentColumnDelete)} /> diff --git a/src/pages/RegistrationForCandidate/RegistrationForCandidate.js b/src/pages/RegistrationForCandidate/RegistrationForCandidate.js index 1e609f0c..11402ef7 100644 --- a/src/pages/RegistrationForCandidate/RegistrationForCandidate.js +++ b/src/pages/RegistrationForCandidate/RegistrationForCandidate.js @@ -17,7 +17,7 @@ export const RegistrationForCandidate = () => {

- Хочу в команду Айти специалистов + Хочу в команду IT-специалистов

@@ -41,7 +41,7 @@ export const RegistrationForCandidate = () => {
- +
@@ -49,19 +49,19 @@ export const RegistrationForCandidate = () => {
- - + +
- - + +
- +
- +
diff --git a/src/pages/Summary/Summary.js b/src/pages/Summary/Summary.js index 1f32e9b6..d5abaf34 100644 --- a/src/pages/Summary/Summary.js +++ b/src/pages/Summary/Summary.js @@ -17,6 +17,8 @@ import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import rightArrow from "assets/icons/arrows/arrowRight.svg"; import arrow from "assets/icons/arrows/left-arrow.png"; +import arrowDown from "assets/icons/arrows/selectArrow.png"; +import deleteIcon from "assets/icons/closeProjectPersons.svg"; import gitImgItem from "assets/icons/gitItemImg.svg"; import avatarMok from "assets/images/avatarMok.png"; @@ -30,7 +32,11 @@ export const Summary = () => { const [openGit, setOpenGit] = useState(false); const [gitInfo, setGitInfo] = useState([]); const [editSummeryOpen, setEditSummeryOpen] = useState(false); + const [editSkills, setEditSkills] = useState(false); const [summery, setSummery] = useState(""); + const [selectedSkills, setSelectedSkills] = useState([]); + const [selectSkillsOpen, setSelectSkillsOpen] = useState(false); + const [skillsList, seSkillsList] = useState([]); useEffect(() => { apiRequest( @@ -40,8 +46,26 @@ export const Summary = () => { useEffect(() => { setSummery(profileInfo.vc_text); + setSelectedSkills(profileInfo.skillValues); }, [profileInfo]); + useEffect(() => { + apiRequest(`/skills/get-skills-list`).then((el) => { + seSkillsList(el); + }); + }, []); + + function setSkills() { + apiRequest("/resume/edit-skills", { + method: "PUT", + data: { + UserCard: { + skill: selectedSkills.map((item) => item.skill_id), + }, + }, + }).then(() => {}); + } + function editSummery() { apiRequest("/resume/edit-text", { method: "PUT", @@ -59,7 +83,7 @@ export const Summary = () => {

@@ -98,18 +122,84 @@ export const Summary = () => {

Основной стек

- +
-
- {profileInfo.skillValues && - profileInfo.skillValues.map((skill, index) => ( - - {skill.skill.name} - {profileInfo.skillValues.length > index + 1 && ","} - - ))} -
+ {editSkills ? ( +
+ {selectedSkills && + selectedSkills.map((skill) => { + return ( + + {skill.skill.name} + deleteIcon + setSelectedSkills((prevValue) => + prevValue.filter( + (item) => item.skill_id !== skill.skill_id + ) + ) + } + /> + + ); + })} +
+
setSelectSkillsOpen(!selectSkillsOpen)} + > + Выберите скилл + +
+ {selectSkillsOpen && ( +
+ {skillsList.map((skill) => { + return ( +

+ setSelectedSkills((prevValue) => [ + ...prevValue, + { skill: skill, skill_id: skill.id }, + ]) + } + key={skill.id} + className="selectSkills__item" + > + {skill.name} +

+ ); + })} +
+ )} +
+
+ ) : ( +
+ {selectedSkills && + selectedSkills.map((skill, index) => ( + + {skill.skill.name} + {selectedSkills.length > index + 1 && ","} + + ))} +
+ )}
)} @@ -117,7 +207,7 @@ export const Summary = () => {
-

Описание опыта работы

+

Опыт работы

{editSummeryOpen ? ( @@ -165,8 +255,8 @@ export const Summary = () => { {openGit && (
-

Страница портфолио кода разработчика

- +

Ваши репозитории

+
{Boolean(gitInfo.length) && diff --git a/src/pages/Summary/summary.scss b/src/pages/Summary/summary.scss index fd3bfc96..a17d1a20 100644 --- a/src/pages/Summary/summary.scss +++ b/src/pages/Summary/summary.scss @@ -1,17 +1,8 @@ .summary { - background: #F1F1F1; + background: #f1f1f1; height: 100%; min-height: 100vh; - font-family: 'LabGrotesque', sans-serif; - // - //&__container { - // max-width: 1160px; - // padding: 0 10px; - // margin: 20px auto; - // position: relative; - // display: flex; - // flex-direction: column; - //} + font-family: "LabGrotesque", sans-serif; &__content { display: flex; @@ -25,7 +16,7 @@ margin-bottom: 0; span { - color: #52B709; + color: #52b709; } } @@ -45,10 +36,10 @@ } &__info { - min-height: 128px; + min-height: 110px; background: white; border-radius: 12px; - margin-top: 30px; + margin-top: 25px; display: flex; align-items: center; padding: 0 25px 0 45px; @@ -110,14 +101,6 @@ font-size: 16px; line-height: 32px; position: relative; - white-space: nowrap; - - //@media (max-width: 915px) { - // max-width: 220px; - // overflow: hidden; - // white-space: nowrap; - // text-overflow: ellipsis; - //} @media (max-width: 690px) { font-size: 14px; @@ -128,19 +111,18 @@ @media (max-width: 550px) { max-width: 200px; overflow: hidden; - white-space: nowrap; text-overflow: ellipsis; margin: 0; } @media (max-width: 450px) { - max-width: 150px; + max-width: 160px; } &:after { - content: ''; + content: ""; position: absolute; - background: #52B709; + background: #52b709; border-radius: 12px; width: 70%; height: 8px; @@ -159,7 +141,14 @@ color: white; border: none; transition: all 0.3s ease; - background-image: linear-gradient(to top, #6aaf5c 0%, #52b709 100%), linear-gradient(36deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.16) 47%, rgba(255, 255, 255, 0.17) 50%, rgba(255, 255, 255, 0) 100%); + background-image: linear-gradient(to top, #6aaf5c 0%, #52b709 100%), + linear-gradient( + 36deg, + rgba(255, 255, 255, 0) 0%, + rgba(255, 255, 255, 0.16) 47%, + rgba(255, 255, 255, 0.17) 50%, + rgba(255, 255, 255, 0) 100% + ); &:hover { box-shadow: 6px 5px 20px rgb(87 98 80 / 21%); @@ -170,10 +159,15 @@ width: 120px; height: 50px; } + + @media (max-width: 450px) { + width: 80px; + height: 40px; + } } &__skills { - background: #FFFFFF; + background: #ffffff; border-radius: 12px; margin-top: 35px; } @@ -181,7 +175,7 @@ &__sections__head { display: flex; min-height: 69px; - background: #E1FCCF; + background: #e1fccf; border-radius: 12px 12px 0px 0px; align-items: center; padding: 0 35px 0 50px; @@ -195,6 +189,7 @@ font-style: normal; font-size: 18px; line-height: 32px; + margin: 0; @media (max-width: 660px) { line-height: 20px; @@ -202,7 +197,7 @@ } button { - background: #FFFFFF; + background: #ffffff; border-radius: 44px; padding: 10px 20px; display: flex; @@ -232,7 +227,7 @@ padding: 25px 35px 25px 50px; @media (max-width: 550px) { - padding: 15px 15px 20px; + padding: 15px; } &__wrapper { @@ -246,6 +241,94 @@ line-height: 32px; white-space: nowrap; text-transform: uppercase; + + @media (max-width: 550px) { + font-size: 14px; + line-height: 20px; + } + } + } + } + + .editSkills { + display: flex; + flex-wrap: wrap; + gap: 14px; + align-items: center; + + span { + display: flex; + column-gap: 8px; + background-color: #f5f5f5; + border-radius: 15px; + padding: 3px 10px 3px 10px; + font-weight: 700; + font-size: 16px; + line-height: 32px; + white-space: nowrap; + text-transform: uppercase; + + img { + cursor: pointer; + } + } + + .selectSkills { + position: relative; + display: flex; + flex-direction: column; + font-weight: 700; + font-size: 16px; + + &__name { + display: flex; + column-gap: 12px; + align-items: center; + cursor: pointer; + background-color: #f5f5f5; + border-radius: 15px; + padding: 3px 10px 3px 10px; + + img { + transition: all 0.3s ease; + } + + .open { + transform: rotate(180deg); + } + } + + &__dropDown { + position: absolute; + background-color: white; + border-radius: 12px; + max-height: 300px; + overflow-y: auto; + display: flex; + flex-direction: column; + row-gap: 5px; + align-items: center; + padding: 7px; + top: 35px; + + &::-webkit-scrollbar { + width: 3px; + border-radius: 10px; + } + + &::-webkit-scrollbar-thumb { + background: #cbd9f9; + border-radius: 20px; + } + + &::-webkit-scrollbar-track { + background: #c5c0c6; + border-radius: 20px; + } + + p { + cursor: pointer; + } } } } @@ -259,7 +342,7 @@ .experience { &__block { - background: #FFFFFF; + background: #ffffff; border-radius: 12px; } @@ -315,9 +398,9 @@ .noGitItems { width: 100%; font-size: 20px; - background: #FFFFFF; + background: #ffffff; border-radius: 12px; - padding: 35px 30px 30px 45px; + padding: 10px; color: #000000; font-weight: 600; } @@ -327,9 +410,9 @@ display: flex; align-items: center; justify-content: space-between; - background: #FFFFFF; + background: #ffffff; border-radius: 12px; - padding: 35px 30px 30px 45px; + padding: 10px; transition: all 0.3s ease; color: #000000; @@ -374,29 +457,11 @@ p { font-weight: 300; font-size: 16px; - line-height: 32px; margin-bottom: 0; - white-space: nowrap; max-width: 300px; overflow: hidden; text-overflow: ellipsis; - @media (max-width: 1040px) { - max-width: 250px; - } - - @media (max-width: 890px) { - max-width: 200px; - } - - @media (max-width: 825px) { - max-width: 500px; - } - - @media (max-width: 720px) { - max-width: 250px; - } - @media (max-width: 470px) { max-width: 200px; } @@ -404,7 +469,6 @@ } &__specification { - margin-top: 30px; display: flex; align-items: center; padding-left: 10px; @@ -415,7 +479,7 @@ } span { - background: #D4F123; + background: #d4f123; border-radius: 12px; max-width: 260px; width: 100%; @@ -433,7 +497,7 @@ &__link { border-radius: 50%; - background: #DDEEC6; + background: #ddeec6; min-width: 48px; height: 48px; cursor: pointer; @@ -446,15 +510,15 @@ } footer { - margin-top: 70px; + margin-top: 10px; } .container { - max-width: 1160px; - margin-top: 23px; + max-width: 1160px; + margin-top: 23px; - @media (max-width: 570px) { - margin-top: 0; - } - } + @media (max-width: 570px) { + margin-top: 0; + } + } } diff --git a/src/pages/TrackerRegistration/TrackerRegistration.js b/src/pages/TrackerRegistration/TrackerRegistration.js index d7038d28..ee811877 100644 --- a/src/pages/TrackerRegistration/TrackerRegistration.js +++ b/src/pages/TrackerRegistration/TrackerRegistration.js @@ -31,19 +31,19 @@ export const TrackerRegistration = () => {
- Ваше имя * + Ваше имя
- Ваш email * - + Ваш e-mail +
- Придумайте пароль* + Придумайте пароль
- Повторите пароль* + Повторите пароль
diff --git a/src/utils/helper.js b/src/utils/helper.js index aff836ec..5c952c8e 100644 --- a/src/utils/helper.js +++ b/src/utils/helper.js @@ -14,7 +14,7 @@ export function createMarkup(text) { // `
//
//

Описание опыта работы

-// +// //
//
${item.split("

")[0]}

//
`