debag-conflict
This commit is contained in:
2024-02-09 18:27:43 +03:00
34 changed files with 371 additions and 287 deletions

View File

@ -10,11 +10,13 @@ import ModalLayout from "@components/Common/ModalLayout/ModalLayout";
import anyMoment from "assets/icons/anyMoment.svg";
import doc from "assets/icons/doc.svg";
import telegramLogo from "assets/icons/tgLogo.svg";
import accept from "assets/images/accept.png";
import "./modalRegistration.scss";
export const ModalRegistration = ({ active, setActive }) => {
const [loader, setLoader] = useState(false);
const [isPartner, setIsPartner] = useState(false);
const fields = {
username: "",
@ -56,7 +58,7 @@ export const ModalRegistration = ({ active, setActive }) => {
fields,
showNotificationError,
showNotificationTrue,
closeModal
isPartner
);
return (
@ -123,6 +125,15 @@ export const ModalRegistration = ({ active, setActive }) => {
</div>
</div>
</div>
<div
className="input_checkbox"
onClick={() => setIsPartner(!isPartner)}
>
<p>Партнер:</p>
<span className={isPartner ? "checkbox--active" : ""}>
{isPartner ? <img src={accept} alt="accept" /> : ""}
</span>
</div>
<div className="button-box">
{loader ? (

View File

@ -128,6 +128,38 @@
}
}
.input_checkbox {
display: flex;
width: 100%;
align-items: center;
cursor: pointer;
p {
font-size: 16px;
font-weight: 500;
}
span {
border: 1px solid gray;
border-radius: 4px;
width: 20px;
height: 20px;
margin-left: 10px;
display: flex;
align-items: center;
justify-content: center;
img {
width: 15px;
height: 15px;
}
}
.checkbox--active {
background: #f2f2f2;
}
}
.button-box {
display: flex;
flex-direction: row;

View File

@ -5,7 +5,6 @@ import "./modalSelect.scss";
export const ModalSelect = ({ active, children }) => {
return (
<div className={active ? "project__settings active" : "project__settings "}>
<span className="project__settings-ellipsis">...</span>
{children}
</div>
);

View File

@ -1,29 +1,30 @@
.project {
&__settings {
position: absolute;
padding: 32px 23px 10px 11px;
padding: 0 10px;
background: #e1fccf;
border-radius: 12px;
transform: scale(0);
bottom: -40px;
right: -120px;
bottom: -30px;
right: -130px;
@media (max-width: 1050px) {
right: 10px;
padding-top: 10px;
bottom: -75px;
right: 5px;
bottom: -30px;
}
&-menu {
font-size: 14px;
line-height: 38px;
padding: 5px 0;
div {
display: flex;
align-items: center;
padding: 2px 0;
img {
margin-right: 12px;
width: 12px;
margin-right: 5px;
}
p:hover {

View File

@ -87,7 +87,7 @@ const ListEmployees = ({
}}
>
<span className="add-person">+</span>
<p>Добавить участников</p>
<p>Добавить участника</p>
</div>
</div>
</ModalLayout>

View File

@ -758,8 +758,7 @@ export const ModalTiсket = ({
<div className="workers">
<div className="workers_box task__info">
<span className="exit" onClick={() => setActive(false)}></span>
<p className="workers__creator">Создатель: {task.user?.fio}</p>
Создатель: <p className="workers__creator">{task.user?.fio}</p>
{executor ? (
<>
<h5>Исполнитель: </h5>
@ -819,7 +818,6 @@ export const ModalTiсket = ({
)}
</div>
)}
{Boolean(members.length) && (
<div className="members">
<h5>Участники:</h5>
@ -847,7 +845,6 @@ export const ModalTiсket = ({
</div>
</div>
)}
<div className="add-worker more-items">
<button
className="button-add-worker"
@ -855,7 +852,7 @@ export const ModalTiсket = ({
>
+
</button>
<span>Добавить участников</span>
<span>Добавить участника</span>
{dropListMembersOpen && (
<div className="dropdown-list">
<img
@ -917,7 +914,6 @@ export const ModalTiсket = ({
</div>
<div className="time">
<img src={watch}></img>
<span>Длительность: </span>
<p>
{correctTimerTime(currentTimerCount.hours)}:
{correctTimerTime(currentTimerCount.minute)}:
@ -1091,7 +1087,7 @@ export const ModalTiсket = ({
</div>
{acceptModalOpen && (
<AcceptModal
title={"Вы точно хотите переместить задачу в архив?"}
title={"Вы действительно хотите переместить задачу в архив?"}
closeModal={closeAcceptModal}
agreeHandler={deleteTask}
/>

View File

@ -52,7 +52,7 @@
position: relative;
display: flex;
flex-direction: column;
width: 600px;
width: 630px;
margin: 26px 0 0 21px;
.title-project {
@ -100,10 +100,11 @@
}
&__task {
margin-top: -5px;
margin-top: -20px;
padding: 18px;
display: flex;
flex-direction: column;
overflow-y: scroll;
input {
font-style: normal;
@ -144,12 +145,9 @@
}
.task-name {
display: -webkit-box;
max-width: 550px;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.full-name {
@ -613,8 +611,8 @@
.exit {
cursor: pointer;
position: absolute;
top: 25px;
right: 20px;
top: 15px;
right: 15px;
width: 13px;
height: 13px;
display: flex;
@ -640,8 +638,8 @@
span {
font-family: "Inter", sans-serif;
font-weight: 500;
font-size: 11px;
color: #807777;
font-size: 12px;
color: #666;
}
.nameProject {
@ -661,7 +659,7 @@
color: #000000;
font-size: 12px;
line-height: 32px;
margin-left: 17px;
margin-left: 10px;
font-style: normal;
font-weight: 400;
}
@ -849,8 +847,8 @@
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12px;
margin-top: 10px;
font-size: 13px;
margin-top: 5px;
width: 160px;
p {
@ -862,7 +860,7 @@
&__creator {
font-size: 14px;
font-weight: 500;
color: #2d4a17;
max-width: 200px;
overflow: hidden;
white-space: nowrap;
@ -875,6 +873,7 @@
line-height: 32px;
font-weight: 500;
display: flex;
color: #2d4a17;
}
}
@ -964,11 +963,11 @@
}
&_box {
padding: 25px 0px 10px 40px;
padding: 25px 0px 10px 20px;
border-bottom: 1px solid #f1f1f1;
&-middle {
padding: 0px 0px 10px 35px;
padding: 0px 0px 10px 20px;
border-bottom: 1px solid #f1f1f1;
}
@ -979,7 +978,7 @@
position: relative;
row-gap: 10px;
padding: 10px 40px 0px 40px;
padding: 10px 40px 0px 20px;
border-radius: 10px;
margin-bottom: 10px;
@ -1110,7 +1109,7 @@
&-priority {
position: relative;
padding: 10px 40px 0 40px;
padding: 10px 40px 0 20px;
border-radius: 10px;
margin-bottom: 10px;
.priority {
@ -1170,7 +1169,7 @@
}
&-bottom {
padding: 0px 110px 10px 35px;
padding: 0px 90px 10px 35px;
font-weight: 400;
font-size: 14px;
line-height: 32px;
@ -1186,7 +1185,7 @@
}
p {
margin: 0 0 0 12px;
margin: 0 0 0 5px;
}
}

View File

@ -812,7 +812,7 @@ export const TicketFullScreen = () => {
<div className="workers fullscreen-workers">
<div className="workers_box task__info">
<div className="workers__creator">
Создатель: <p>&nbsp;{taskInfo.user?.fio}</p>
Создатель: <p>{taskInfo.user?.fio}</p>
</div>
{taskInfo.executor ? (
@ -908,7 +908,7 @@ export const TicketFullScreen = () => {
>
+
</button>
<span>Добавить участников</span>
<span>Добавить участника</span>
{dropListMembersOpen && (
<div className="dropdown-list">
<img
@ -972,7 +972,6 @@ export const TicketFullScreen = () => {
</div>
<div className="time">
<img src={watch}></img>
<span>Длительность: </span>
<p>
{correctTimerTime(currentTimerCount.hours)}:
{correctTimerTime(currentTimerCount.minute)}:
@ -1152,7 +1151,7 @@ export const TicketFullScreen = () => {
</div>
{acceptModalOpen && (
<AcceptModal
title={"Вы точно хотите переместить задачу в архив?"}
title={"Вы действительно хотите переместить задачу в архив?"}
closeModal={closeAcceptModal}
agreeHandler={deleteTask}
/>

View File

@ -75,7 +75,7 @@ export const TrackerModal = ({
"Выберите приоритет колонки"
);
const [selectedExecutorTask, setSelectedExecutorTask] = useState(
"Выберите исполнителя задачи"
"Выберите исполнителя"
);
const [selectExecutorTaskOpen, setSelectExecutorTaskOpen] = useState(false);
const [correctProjectUsers, setCorrectProjectUsers] = useState([]);
@ -183,7 +183,7 @@ export const TrackerModal = ({
setActive(false);
setValueTicket("");
setDescriptionTicket("");
setSelectedExecutorTask("Выберите исполнителя задачи");
setSelectedExecutorTask("Выберите исполнителя");
setSelectedPriority(null);
});
} else {
@ -407,7 +407,7 @@ export const TrackerModal = ({
<div className="title-project select-person">
<h4>Добавьте участника</h4>
<p className="select-person__info">
Выберите пользователя в проекте или добавьте по e-mail
Выберите пользователя в списке или добавьте по e-mail
</p>
<div className="invite__blocks">
<div className="add-person-block">
@ -440,7 +440,7 @@ export const TrackerModal = ({
setSelectedWorker(worker);
}}
>
<p>{worker.employee.fio}</p>
<span>{worker.employee.fio}</span>
<img
src={urlForLocal(worker.employee.avatar)}
alt="avatar"
@ -473,10 +473,10 @@ export const TrackerModal = ({
/>
</div>
<BaseButton
styles={"button-add invite-person-block__btn"}
styles={"button-add add-person-btn"}
onClick={inviteUserByEmail}
>
Отправить приглашение
Пригласить
</BaseButton>
</div>
</div>
@ -489,19 +489,11 @@ export const TrackerModal = ({
<div className="title-project">
<div className="create-task-head">
<div className="create-task-body__right__owner">
<p>Создатель: {profileInfo?.fio}</p>
<img
src={
profileInfo.photo
? urlForLocal(profileInfo.photo)
: avatarMok
}
alt="avatar"
/>
<p>Создание задачи</p>
</div>
</div>
<div className="create-task-body">
<div className="create-task-body__left">
<div className="createTaskBody">
<div className="createTaskBody__left">
<h4>Введите название и описание задачи</h4>
<div className="input-container">
<input
@ -649,12 +641,12 @@ export const TrackerModal = ({
<div className="selected__executor">
{selectedExecutorTask.user_id ? (
<>
<span>{selectedExecutorTask.user.fio}</span>
<img
className="avatar"
src={urlForLocal(selectedExecutorTask.user.avatar)}
alt="avatar"
/>
<span>{selectedExecutorTask.user.fio}</span>
</>
) : (
<span>{selectedExecutorTask}</span>
@ -671,7 +663,6 @@ export const TrackerModal = ({
className="executor"
key={person.user_id}
>
<span>{person.user.fio}</span>
<img
className="avatar"
src={
@ -681,6 +672,7 @@ export const TrackerModal = ({
}
alt="avatar"
/>
<span>{person.user.fio}</span>
</div>
);
})
@ -692,12 +684,10 @@ export const TrackerModal = ({
</div>
<div className="create-task-body__right__dead-line">
<img src={calendarImg} alt="calendar" />
<span>Срок исполнения</span>
<img src={arrowRight} className="arrow" alt="arrow" />
<p onClick={() => setDatePickerOpen(!datePickerOpen)}>
{deadLineDate
? getCorrectDate(deadLineDate)
: "Дата не выбрана"}
: "Срок исполнения"}
</p>
<DatePicker
className="datePicker"

View File

@ -30,7 +30,6 @@
display: flex;
align-items: center;
flex-direction: column;
row-gap: 12px;
padding-bottom: 15px;
.select-priority {
@ -174,11 +173,13 @@
.executor {
display: flex;
justify-content: space-between;
&:hover {
span {
font-weight: 600;
}
font-weight: 600;
}
span {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
}
@ -222,7 +223,7 @@
border-radius: 5px;
cursor: pointer;
position: relative;
min-width: 320px;
min-width: 240px;
height: 42px;
width: 100%;
@ -235,6 +236,16 @@
margin-left: 10px;
}
span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 13px;
max-width: 270px;
margin: 0;
font-weight: 400;
}
img {
transition: all 0.3s ease;
width: 20px;
@ -246,6 +257,7 @@
overflow-y: auto;
display: flex;
flex-direction: column;
justify-content: center;
position: absolute;
width: 100%;
padding: 9.5px 12px;
@ -324,7 +336,7 @@
}
.create-task-body {
padding: 10px;
padding: 15px 20px;
display: flex;
column-gap: 20px;
@ -360,8 +372,8 @@
}
.ck-editor__editable.ck-rounded-corners {
min-height: 130px;
max-height: 130px;
min-height: 150px;
max-height: 150px;
}
}
@ -376,10 +388,10 @@
align-items: center;
column-gap: 9.5px;
p {
color: #2d4a17;
font-size: 14px;
font-size: 18px;
font-weight: 500;
line-height: 32px;
padding-left: 15px;
}
img {
@ -395,7 +407,7 @@
.tags {
&__selected {
width: 393px;
width: 250px;
font-weight: 300;
line-height: 18px;
font-size: 15px;
@ -526,7 +538,7 @@
&__name {
color: #000;
width: 393px;
width: 250px;
height: 47px;
font-size: 15px;
font-weight: 400;
@ -574,7 +586,7 @@
.select__executor {
background: #f1f1f1;
width: 393px;
width: 250px;
height: 47px;
font-weight: 300;
line-height: 18px;
@ -594,7 +606,7 @@
&__dead-line {
display: flex;
align-items: center;
column-gap: 18px;
column-gap: 5px;
font-weight: 300;
line-height: 18px;
font-size: 15px;
@ -730,8 +742,7 @@
}
.add-person-btn {
margin: 0 auto 0 0;
margin-top: 20px;
margin: 0;
}
.modal-add.active {