Merge branch 'main' of https://git.itguild.info/apuc/guild_front
debag-conflict
This commit is contained in:
@ -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 ? (
|
||||
|
@ -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;
|
||||
|
@ -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>
|
||||
);
|
||||
|
@ -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 {
|
||||
|
@ -87,7 +87,7 @@ const ListEmployees = ({
|
||||
}}
|
||||
>
|
||||
<span className="add-person">+</span>
|
||||
<p>Добавить участников</p>
|
||||
<p>Добавить участника</p>
|
||||
</div>
|
||||
</div>
|
||||
</ModalLayout>
|
||||
|
@ -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}
|
||||
/>
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -812,7 +812,7 @@ export const TicketFullScreen = () => {
|
||||
<div className="workers fullscreen-workers">
|
||||
<div className="workers_box task__info">
|
||||
<div className="workers__creator">
|
||||
Создатель: <p> {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}
|
||||
/>
|
||||
|
@ -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"
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user