Merge remote-tracking branch 'origin/parthners-area-fix-tracker-modal' into candidate-area

# Conflicts:
#	src/App.js
#	src/pages/Tracker/Tracker.js
This commit is contained in:
2023-04-10 18:20:55 +03:00
30 changed files with 1079 additions and 153 deletions

View File

@@ -14,6 +14,7 @@ import ModalErrorLogin from "../../components/UI/ModalErrorLogin/ModalErrorLogin
import { apiRequest } from "../../api/request";
import ellipse from "../../images/ellipse.png";
import ModalRegistration from "../UI/ModalRegistration/ModalRegistration";
import "./authBox.scss";
@@ -27,6 +28,7 @@ export const AuthBox = ({ title }) => {
const [error, setError] = useState(null);
const [modalError, setModalError] = useState(false);
const [modalReg, setModalReg] = useState(false);
useEffect(() => {
if (!localStorage.getItem("auth_token")) {
@@ -112,11 +114,12 @@ export const AuthBox = ({ title }) => {
{isLoading ? <Loader /> : "Войти"}
</button>
{/* TODO: при клике отправлять на форму/модалку/страницу регистрации */}
<ModalRegistration active={modalReg} setActive={setModalReg} />
<button
className="auth-box__form-btn--role auth-box__auth-link"
onClick={(e) => {
e.preventDefault();
setModalReg(true);
}}
>
Регистрация

View File

@@ -6,6 +6,13 @@ import userIcon from "../../images/userIcon.png";
import "./authHeader.scss";
export const AuthHeader = ({}) => {
function scrollToForm() {
window.scrollTo({
top: 850,
behavior: "smooth",
});
}
return (
<div className="auth-header">
<div className="auth-header__logo">
@@ -39,7 +46,12 @@ export const AuthHeader = ({}) => {
</li>
</ul>
<a href="#">
<a
onClick={(e) => {
e.preventDefault();
scrollToForm();
}}
>
<img src={userIcon}></img>
</a>
</div>

View File

@@ -57,6 +57,10 @@
}
}
}
img {
cursor: pointer;
}
}
}
}
@@ -67,7 +71,7 @@
}
}
@media (max-width: 1024px) {
@media (max-width: 1375px) {
.auth-header {
display: none;
}

View File

@@ -1,6 +1,7 @@
import React, { useState } from "react";
import arrow from "../../images/sideBarArrow.svg";
import LogoITguild from "../../images/LogoITguild.svg";
import "./sidebar.scss";
@@ -41,9 +42,7 @@ export const SideBar = () => {
<div className={active ? "auth-body active" : "auth-body"}>
<div className="auth-body__title">
<h3>IT</h3>
<p>guild</p>
<span>Аутстафинговая компания</span>
<img src={LogoITguild}></img>
</div>
<ul className="auth-body__navigation">
<li>

View File

@@ -7,7 +7,7 @@
height: 100%;
background: #e1fccf;
@media (max-width: 1024px) {
@media (max-width: 1375px) {
position: fixed;
width: 100% !important;
height: 80px;
@@ -75,7 +75,7 @@
}
}
@media (max-width: 1024px) {
@media (max-width: 1375px) {
flex-direction: row;
height: 100%;
@@ -121,25 +121,7 @@
&__title {
display: flex;
flex-wrap: wrap;
h3 {
color: #52b709;
font-size: 35px;
line-height: 32px;
margin-right: 10px;
}
p {
width: 70%;
font-size: 30px;
line-height: 32px;
color: #000000;
}
span {
font-size: 12px;
margin-left: 0px;
}
margin-top: 24px;
}
&__navigation {
@@ -175,7 +157,7 @@
}
}
@media (max-width: 1024px) {
@media (max-width: 1375px) {
&__title {
margin-top: 35px;
}
@@ -199,7 +181,7 @@
left: 79px;
}
@media (max-width: 1024px) {
@media (max-width: 1375px) {
left: 0;
width: 100%;
height: 535px;

View File

@@ -6,8 +6,9 @@ import mockWorker from "../../images/mokPerson.png";
import "./sliderWorkers.scss";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
import { Link } from "react-router-dom";
export const SliderWorkers = ({title, titleInfo, subTitle}) => {
export const SliderWorkers = ({ title, titleInfo, subTitle }) => {
const [workers] = useState([
{
avatar: mockWorker,
@@ -15,7 +16,11 @@ export const SliderWorkers = ({title, titleInfo, subTitle}) => {
},
{
avatar: mockWorker,
skils: "React / Vue Front end, Middle разработчик",
skils: "Vue / React Front end, Senior разработчик",
},
{
avatar: mockWorker,
skils: "NodeJs Fullstack, Middle разработчик",
},
{
avatar: mockWorker,
@@ -23,11 +28,7 @@ export const SliderWorkers = ({title, titleInfo, subTitle}) => {
},
{
avatar: mockWorker,
skils: "React / Vue Front end, Middle разработчик",
},
{
avatar: mockWorker,
skils: "React / Vue Front end, Middle разработчик",
skils: "React / PHP Fullstack, Middle разработчик",
},
]);
@@ -49,13 +50,14 @@ export const SliderWorkers = ({title, titleInfo, subTitle}) => {
return (
<div className="slider-workers">
<div className="container">
{Boolean(title) ?
{Boolean(title) ? (
<div className="slider-workers__title">
<h2>{title}</h2>
<h3>{titleInfo}</h3>
</div>
: ""
}
) : (
""
)}
<Slider {...settings}>
{workers.map((worker, index) => {
return (
@@ -63,23 +65,26 @@ export const SliderWorkers = ({title, titleInfo, subTitle}) => {
<img src={worker.avatar}></img>
<div className="worker-description">
<p>{worker.skils}</p>
<button className="worker__resume">Подробное резюме</button>
<Link to={`/worker/${index}`} className="worker__resume">
Подробное резюме
</Link>
</div>
</div>
);
})}
</Slider>
{Boolean(subTitle) ?
{Boolean(subTitle) ? (
<div className="slider-workers__description">
<h2>Дополните свою команду опытными ИТ-специалистами</h2>
<p>
Даём финансовые, юридические и кадровые гарантии, предоставляем SLA
и отвечаем за работу команды. Вам не нужно искать, оформлять или
увольнять сотрудника все хлопоты мы берем на себя.
Даём финансовые, юридические и кадровые гарантии, предоставляем
SLA и отвечаем за работу команды. Вам не нужно искать, оформлять
или увольнять сотрудника все хлопоты мы берем на себя.
</p>
</div>
: ""
}
) : (
""
)}
</div>
</div>
);

View File

@@ -59,6 +59,9 @@
}
&__resume {
display: flex;
align-items: center;
justify-content: center;
margin-top: 5px;
width: 177px;
height: 40px;
@@ -73,6 +76,7 @@
&:hover {
transition: 0.5s;
background-color: #52b709a8;
text-decoration: none;
}
}
}
@@ -121,7 +125,13 @@
}
}
@media (max-width: 1375px) {
margin-top: 50px;
}
@media (max-width: 1024px) {
margin-top: 0;
&__title {
flex-direction: column;
padding: 120px 0 56px 0;

View File

@@ -0,0 +1,97 @@
import React from "react";
import AuthHeader from "../../AuthHeader/AuthHeader";
import SideBar from "../../SideBar/SideBar";
import { Footer } from "../../Footer/Footer";
import { ProfileBreadcrumbs } from "../../ProfileBreadcrumbs/ProfileBreadcrumbs";
import mockWorker from "../../../images/mokPerson.png";
import arrow from "../../../images/arrow_left.png";
import "./freeDevelopers.scss";
import { Link } from "react-router-dom";
export const FreeDevelopers = ({}) => {
return (
<section className="free-dev">
<AuthHeader />
<SideBar />
<div className="container free-dev_page">
<ProfileBreadcrumbs
links={[
{ name: "Главная", link: "/auth" },
{ name: "Свободные разработчики", link: "/worker" },
]}
/>
<h2>
Свободные разработчики <span>для Вашей команды</span>
</h2>
<Link to={"/auth"} className="link">
<img src={arrow}></img>Вернуться
</Link>
<div className="free-dev__title">
<div className="free-dev__title-box">
<img src={mockWorker}></img>
<div className="free-dev__title-name">
<h3>Дмитрий, PHP Back end - разработчик, Middle</h3>
<div></div>
</div>
</div>
<button className="button-green">Код разработчика</button>
</div>
<div className="free-dev__body">
<div className="free-dev__body-title">
<p>Описание опыта работы</p>
</div>
<div className="free-dev__body-text">
<h5>
Godesigner - сервис для фриланс дизайнеров, копирайтеров и их
заказчиков
</h5>
<p>Стек PHP (li3), HTML, CSS, JavaScript, MYSQL, Nginx.</p>
<ul>
<li> Расширение функционала старых модулей проекта</li>
<li>создание и проектирование новых модулей сайта</li>
<li>написание backend части проекта</li>
<li>усовершенствование и расширение функционала админ-панели</li>
<li>работа с визуальной составляющей</li>
<li>создание алгоритма рассылки писем по электронной почте</li>
<li>
использование API сторонних сервисов, мессенджеров (WhatsApp)
</li>
</ul>
<p>Время разработки: 2 года.</p>
<div className="free-dev__body-text-bottom">
<h5>
Godesigner - сервис для фриланс дизайнеров, копирайтеров и их
заказчиков
</h5>
<p>Стек PHP (li3), HTML, CSS, JavaScript, MYSQL, Nginx.</p>
<ul>
<li> Расширение функционала старых модулей проекта</li>
<li>создание и проектирование новых модулей сайта</li>
</ul>
</div>
</div>
<div className="logIn">
<h3>Для просмотра полного резюме разработчика авторизуйтесь</h3>
<Link to={"/auth"} className="button-green">
Войти
</Link>
</div>
</div>
<Footer />
</div>
</section>
);
};
export default FreeDevelopers;

View File

@@ -0,0 +1,246 @@
.free-dev {
font-family: "LabGrotesque", sans-serif;
overflow: hidden;
position: relative;
background-color: #f1f1f1;
.link {
font-size: 12px;
line-height: 16px;
color: #5b6871;
img {
margin-right: 20px;
}
}
h2 {
font-style: normal;
font-weight: 500;
font-size: 30px;
line-height: 32px;
color: #000000;
margin: 32px 0 36px 0;
span {
color: #52b709;
font-size: 30px;
}
}
&_page {
margin: 24px 0 30px 0;
}
&__title {
background: #ffffff;
border-radius: 12px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 20px 63px 20px 45px;
margin: 40px 0 23px 0;
&-box {
display: flex;
}
&-name {
display: flex;
flex-direction: column;
justify-content: space-evenly;
margin-left: 47px;
div {
width: 239px;
height: 8px;
background: #52b709;
border-radius: 12px;
}
}
@media (max-width: 720px) {
flex-direction: column;
}
@media (max-width: 450px) {
flex-direction: column;
&-box {
flex-direction: column;
align-items: center;
img {
width: 50%;
}
}
&-name {
margin: 10px 0 10px 0;
text-align: center;
align-items: center;
}
}
}
&__body {
position: relative;
background: #ffffff;
border-radius: 12px;
margin-bottom: 160px;
&-title {
background: #e1fccf;
border-radius: 12px 12px 0px 0px;
font-weight: 400;
font-size: 18px;
line-height: 32px;
color: #000000;
padding: 20px 0 17px 51px;
}
&-text {
font-weight: 700;
font-size: 16px;
line-height: 32px;
color: #000000;
padding: 26px 0 30px 52px;
h5 {
font-size: 16px;
margin-bottom: 30px;
}
&-bottom {
margin-top: 50px;
opacity: 0.25;
}
}
.logIn {
position: absolute;
bottom: 75px;
border: 3px solid #52b709;
border-radius: 12px;
background: rgba(255, 255, 255, 0.76);
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 97px;
cursor: pointer;
h3 {
font-weight: 500;
font-size: 22px;
line-height: 18px;
color: #000000;
margin-right: 50px;
}
a {
width: 140px;
height: 50px;
color: white;
text-decoration: none;
}
@media (max-width: 920px) {
flex-direction: column;
padding: 15px;
height: 20%;
h3 {
margin: 0 0 0 0;
text-align: center;
}
a {
margin-top: 15px;
height: 25px;
height: 40px;
}
}
}
}
@media (max-width: 1333px) {
.auth-menu {
position: fixed;
width: 100% !important;
height: 80px;
margin-bottom: 50px;
.auth-body.active {
left: 0;
width: 100%;
height: 535px;
}
.auth-body {
&__title,
&__politic {
margin-top: 35px;
}
&__contacts {
margin: 50px 0 25px 0;
}
}
}
.free-dev_page {
margin-top: 110px;
}
.auth-header {
display: none;
}
.auth-title {
flex-direction: row;
height: 100%;
.text {
margin: 0;
flex-direction: row;
.burger {
margin-bottom: 5px;
}
h3 {
display: none;
}
}
.outstaffing {
margin: 0;
width: 150px;
font-size: 12px;
transform: none;
img {
margin-right: 5px;
width: 15px;
}
}
}
}
}
.button-green {
align-items: center;
justify-content: center;
display: flex;
background: #52b709;
border-radius: 44px;
width: 202px;
height: 50px;
font-weight: 500;
font-size: 16px;
line-height: 32px;
color: #ffffff;
border: none;
}

View File

@@ -4,7 +4,7 @@ import { setProject } from "../../../redux/projectsTrackerSlice";
import "./ModalCreate.scss";
export const ModalCreate = ({ active, setActive, title }) => {
export const ModalCreate = ({ active, setActive, title, desc }) => {
const [inputValue, setInputValue] = useState("");
const dispatch = useDispatch();
@@ -33,6 +33,7 @@ export const ModalCreate = ({ active, setActive, title }) => {
>
<div className="title-project">
<h4>{title}</h4>
<p>{desc}</p>
<div className="input-container">
<input
className="name-project"
@@ -40,10 +41,11 @@ export const ModalCreate = ({ active, setActive, title }) => {
onChange={(e) => setInputValue(e.target.value)}
></input>
</div>
<button className="create-project" onClick={createName}>
Создать
</button>
</div>
<button className="create-project" onClick={createName}>
Создать
</button>
<span className="exit" onClick={() => setActive(false)}></span>
</div>
</div>
);

View File

@@ -12,30 +12,36 @@
transform: scale(0);
&__content {
position: relative;
width: 424px;
height: 248px;
background: linear-gradient(180deg, #ffffff 0%, #ebebeb 100%);
border-radius: 40px;
padding: 15px;
background: #ffffff;
border: 1px solid #dde2e4;
border-radius: 8px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.title-project {
display: flex;
align-items: center;
align-items: flex-start;
flex-direction: column;
.input-container {
width: 220px;
height: 25px;
border-radius: 44px;
border: 1px solid #d1d1d1;
width: 287px;
height: 35px;
background: #ffffff;
border-radius: 8px;
}
h4 {
color: #111112;
margin-bottom: 10px;
font-size: 14px !important;
font-weight: 500;
font-size: 22px;
line-height: 26px;
color: #263238;
margin-bottom: 22px;
}
}
@@ -49,9 +55,9 @@
}
.create-project {
margin: 15px 0 0 0;
width: 188px;
height: 40px;
margin: 30px 0 0 0;
width: 130px;
height: 37px;
background: #52b709;
border-radius: 44px;
border: none;
@@ -63,6 +69,29 @@
align-items: center;
justify-content: center;
}
.exit {
cursor: pointer;
position: absolute;
top: 35px;
right: 40px;
&:before,
&:after {
content: "";
position: absolute;
width: 16px;
height: 2px;
background: #263238;
}
&:before {
transform: rotate(45deg);
}
&:after {
transform: rotate(-45deg);
}
}
}
}

View File

@@ -0,0 +1,79 @@
import React from "react";
import tgLogo from "../../../images/TgLogo.svg";
import doc from "../../../images/doc.svg";
import anyMoment from "../../../images/anyMoment.svg";
import "./modalRegistration.scss";
export const ModalRegistration = ({ active, setActive }) => {
return (
<div
className={active ? "modal-registration active" : "modal-registration"}
onClick={() => setActive(false)}
>
<div
className="modal-registration__content"
onClick={(e) => e.stopPropagation()}
>
<div className="body-reg__left">
<h2>
Подключайтесь к <p>itguild.</p>
</h2>
<p className="body-reg__left-desc">
Зарегистрируйтесь и назначайте собеседования любым специалистам без
задержек
</p>
<div className="input-body">
<div className="input-body__box">
<h5>Ваше имя</h5>
<input></input>
<h5>E-mail</h5>
<input></input>
</div>
<div className="input-body__box">
<h5>Название компании</h5>
<input></input>
<h5>Пароль</h5>
<input></input>
</div>
</div>
<div className="button-box">
<button onClick={(e) => e.preventDefault()}>Отправить</button>
<h5>
У вас уже есть аккаунт? <p>Войти</p>
</h5>
</div>
</div>
<div className="body-reg__right">
<h4>Отказ от специалиста в любой момент</h4>
<div className="body-reg__right-text">
<img src={anyMoment}></img>
<p>
Поменяйте, откажитесь или возьмите еще специалиста в любой момент
работы.
</p>
</div>
<h4>100% постоплата</h4>
<div className="body-reg__right-text">
<img src={doc}></img>
<p>
Договор не подразумевает какуюлибо оплату до того, как вы
арендовали специалиста
</p>
</div>
<h4>Есть вопросы?</h4>
<div className="body-reg__right-text">
<img src={tgLogo}></img>
<p>Напишите нам в Телеграм. Мы с удовольствием ответим!</p>
</div>
</div>
<span onClick={() => setActive(false)}></span>
</div>
</div>
);
};
export default ModalRegistration;

View File

@@ -0,0 +1,174 @@
.modal-registration {
z-index: 9;
height: 100%;
width: 100%;
background-color: rgba(0, 0, 0, 0.11);
position: fixed;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
transform: scale(0);
&__content {
position: relative;
background: white;
display: flex;
flex-direction: row;
justify-content: space-between;
border: 1px solid #dde2e4;
border-radius: 8px;
width: 1088px;
height: 529px;
.body-reg {
&__left {
padding: 60px 0 30px 77px;
h2 {
font-weight: 500;
font-size: 35px;
line-height: 32px;
display: flex;
justify-content: space-between;
width: 405px;
margin: 0 auto;
}
h2 > p {
font-size: 35px;
color: #52b709;
}
&-desc {
text-align: center;
width: 500px;
font-weight: 500;
font-size: 16px;
line-height: 28px;
margin: 20px auto 0 auto;
}
.input-body {
margin-top: 44px;
display: flex;
flex-direction: row;
&__box {
margin-right: 25px;
display: flex;
flex-direction: column;
h5 {
font-weight: 400;
font-size: 15px;
line-height: 18px;
}
input {
width: 294px;
height: 35px;
background: #eff2f7;
border-radius: 8px;
border: none;
margin-bottom: 35px;
padding-left: 20px;
}
}
}
.button-box {
display: flex;
flex-direction: row;
margin-top: 10px;
button {
width: 174px;
height: 46px;
background: #52b709;
border-radius: 44px;
border: none;
font-size: 18px;
line-height: 32px;
color: white;
margin-right: 55px;
}
h5 {
display: flex;
align-items: flex-end;
font-size: 16px;
line-height: 28px;
p {
color: #406128;
text-decoration: underline;
margin: 0 0 0 5px;
}
}
}
}
&__right {
border-left: 1px solid #f1f1f1;
padding: 80px 32px 46px 25px;
display: flex;
flex-direction: column;
justify-content: space-between;
h4 {
font-weight: 900;
font-size: 14px;
line-height: 24px;
color: #52b709;
margin-right: 100px;
width: 180px;
}
&-text {
display: flex;
flex-direction: row;
p {
font-weight: 400;
font-size: 12px;
line-height: 22px;
width: 205px;
}
img {
margin: 0 18px 20px 0;
}
}
}
}
span {
cursor: pointer;
position: absolute;
top: 30px;
right: 36px;
&:before,
&:after {
content: "";
position: absolute;
width: 16px;
height: 2px;
background: #263238;
}
&:before {
transform: rotate(45deg);
}
&:after {
transform: rotate(-45deg);
}
}
}
}
.modal-registration.active {
transform: scale(1);
}

View File

@@ -1,15 +1,20 @@
import React, { useState } from "react";
import "./ModalTiket.scss";
import creatorMock from "../../../images/avatarMoсkCreator.png";
import avatarMock1 from "../../../images/avatarMoсk1.png";
import avatarMock2 from "../../../images/avatarMoсk2.png";
import category from "../../../images/category.png";
import comments from "../../../images/commentsBoard.svg";
import watch from "../../../images/watch.png";
import files from "../../../images/filesBoard.svg";
import file from "../../../images/fileModal.svg";
import task from "../../../images/tasksMock.png";
import arrow from "../../../images/arrowStart.png";
import link from "../../../images/link.svg";
import archive from "../../../images/archive.svg";
import del from "../../../images/delete.svg";
import edit from "../../../images/edit.svg";
import send from "../../../images/send.svg";
import plus from "../../../images/plus.svg";
import "./ModalTiket.scss";
export const ModalTiket = ({ active, setActive }) => {
const [tiket] = useState({
@@ -44,13 +49,10 @@ export const ModalTiket = ({ active, setActive }) => {
<h3 className="title-project">
<img src={category} className="title-project__category"></img>
Проект: {tiket.name}
<div className="title-project__menu">
<p>Редактировать</p>
<p>Удалить</p>
</div>
</h3>
<div className="content__task">
<span>Задача</span>
<h5>{tiket.code}</h5>
<div className="content__description">
<p>{tiket.descriptions}</p>
@@ -58,48 +60,79 @@ export const ModalTiket = ({ active, setActive }) => {
<p>{tiket.descriptions}</p>
</div>
<div className="content__communication">
<p className="comment">
<img src={comments}></img>
<span>{0}</span>
Коментариев
<p className="tasks">
<button>
<img src={plus}></img>
Добавить под задачу
</button>
</p>
<p className="file">
<img src={files}></img>
<button>
<img src={file}></img>
Загрузить файл
</button>
<span>{0}</span>
Файлов
</p>
</div>
<div className="content__input">
<input placeholder="Оставить комментарий"></input>
<img src={send}></img>
</div>
</div>
</div>
<div className="workers">
<span className="exit" onClick={() => setActive(false)}></span>
<span>{tiket.code}</span>
<p className="workers__creator">Создатель : {tiket.creator}</p>
<div>
{workers.map((worker, index) => {
return (
<div className="worker" key={index}>
<img src={worker.avatar}></img>
<p>{worker.name}</p>
</div>
);
})}
<div className="workers_box">
<span className="exit" onClick={() => setActive(false)}></span>
<span>{tiket.code}</span>
<p className="workers__creator">Создатель : {tiket.creator}</p>
<div>
{workers.map((worker, index) => {
return (
<div className="worker" key={index}>
<img src={worker.avatar}></img>
<p>{worker.name}</p>
</div>
);
})}
</div>
<div className="add-worker moreItems">
<button>+</button>
<span>Добавить участников</span>
</div>
</div>
<div className="add-worker moreItems">
<button>+</button>
<span>Добавить участников</span>
<div className="workers_box-middle">
<div className="time">
<img src={watch}></img>
<span>Длительность : </span>
<p>{"8:30:22"}</p>
</div>
<button className="start">
Начать делать <img src={arrow}></img>
</button>
</div>
<div className="time">
<img src={watch}></img>
<span>Длительность : </span>
<p>{"8:30:22"}</p>
<div className="workers_box-bottom">
<div>
<img src={edit}></img>
<p>редактировать</p>
</div>
<div>
<img src={link}></img>
<p>ссылка на проект</p>
</div>
<div>
<img src={archive}></img>
<p>в архив</p>
</div>
<div>
<img src={del}></img>
<p>удалить</p>
</div>
</div>
<button className="start">
Начать делать <img src={arrow}></img>
</button>
</div>
</div>
</div>

View File

@@ -30,46 +30,35 @@
margin: 26px 0 0 21px;
.title-project {
color: #1458dd;
font-family: "LabGrotesque", sans-serif;
display: flex;
align-items: center;
font-weight: 700;
font-size: 16px;
font-size: 22px;
line-height: 32px;
&__category {
margin-right: 17px;
}
&__menu {
display: flex;
align-items: center;
margin-left: 110px;
p {
font-weight: 400;
font-size: 14px;
color: #252c32;
margin: 0 30px 0 0;
&:hover {
cursor: pointer;
text-decoration: underline;
}
}
}
}
&__task {
margin-top: 22px;
margin-top: -5px;
padding: 18px;
button {
img {
margin-right: 5px;
}
}
h5 {
font-family: "Inter", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 16px;
line-height: 24px;
color: #1a1919;
}
}
@@ -93,12 +82,23 @@
flex-direction: row;
margin: 29px 0 0 -5px;
.comment {
width: 100px;
.tasks {
justify-content: space-evenly;
button {
width: 180px;
height: 40px;
background: #52b709;
border-radius: 44px;
font-weight: 400;
font-size: 12px;
line-height: 32px;
border: none;
color: #ffffff;
}
}
.comment,
.tasks,
.file {
display: flex;
align-items: center;
@@ -107,7 +107,61 @@
.file {
justify-content: space-between;
margin-left: 20px;
width: 70px;
button {
display: flex;
align-items: center;
justify-content: center;
background: white;
width: 166px;
height: 40px;
border: 0.5px solid #1458dd;
border-radius: 44px;
font-weight: 400;
font-size: 12px;
line-height: 32px;
color: #1458dd;
img {
margin-right: 9px;
}
}
span {
margin: 0 3px 0 11px;
font-weight: 500;
font-size: 12px;
line-height: 15px;
color: #6e7c87;
}
}
}
&__input {
margin: 20px 0 20px 0;
display: flex;
align-items: center;
justify-content: space-between;
width: 438px;
height: 40px;
background: #f1f1f1;
border-radius: 44px;
input {
width: 80%;
background: inherit;
border: none;
outline: none;
padding-left: 30px;
font-weight: 400;
font-size: 12px;
line-height: 32px;
border-radius: 44px;
}
img {
cursor: pointer;
margin-right: 18px;
}
}
}
@@ -115,14 +169,12 @@
.workers {
position: relative;
border-left: 1px solid #f1f1f1;
width: 300px;
padding: 40px;
.exit {
cursor: pointer;
position: absolute;
top: 22px;
right: 31px;
top: 35px;
right: 40px;
&:before,
&:after {
@@ -224,5 +276,31 @@
color: #807777;
}
}
&_box {
padding: 25px 85px 40px 40px;
border-bottom: 1px solid #f1f1f1;
&-middle {
padding: 0px 40px 25px 40px;
border-bottom: 1px solid #f1f1f1;
}
&-bottom {
padding: 40px 0 75px 56px;
font-weight: 400;
font-size: 14px;
line-height: 38px;
div {
display: flex;
align-items: center;
p {
margin: 0 0 0 12px;
}
}
}
}
}
}