diff --git a/src/components/TrackerBoardHead/TrackerBoardHead.jsx b/src/components/TrackerBoardHead/TrackerBoardHead.jsx new file mode 100644 index 00000000..e676acf4 --- /dev/null +++ b/src/components/TrackerBoardHead/TrackerBoardHead.jsx @@ -0,0 +1,303 @@ +import React, { useState } from "react"; +import { HexColorPicker } from "react-colorful"; +import { useDispatch } from "react-redux"; + +import BaseButton from "@components/Common/BaseButton/BaseButton"; +import ListEmployees from "@components/Modal/Tracker/ListEmployees/ListEmployees"; + +import "./trackerBoardHead.scss"; + +const TrackerBoardHead = ({ setModalAdd }) => { + const dispatch = useDispatch(); + const [personListOpen, setPersonListOpen] = useState(false); + + return ( +
+
+
+ +
{projectBoard.name}
+
+
+ { + dispatch(modalToggle("create-column")); + setModalAdd(true); + }} + styles={"button-add-column"} + > + + + + +

добавить колонку

+
+
+ {Boolean(projectBoard.projectUsers?.length) && ( +
+ {projectBoard.projectUsers.slice(0, 3).map((person) => { + return ( + avatar + ); + })} +
+ )} + {projectBoard.projectUsers?.length > 3 && ( + + +{projectBoard.projectUsers?.length - 3} + + )} + { + setPersonListOpen(true); + }} + > + + + + + +
+
+ Участвую +
+ {checkBoxParticipateTasks && accept} +
+
+
+ Мои +
+ {checkBoxMyTasks && accept} +
+
+ {selectedExecutor ? ( +
+

{removeLast(selectedExecutor.user.fio)}

+ avatar + delete +
+ ) : ( +
setSelectedExecutorOpen(!selectExecutorOpen)} + > +

Выберите исполнителя

+ arrow + {selectExecutorOpen && ( +
+ {projectBoard.projectUsers.map((user) => { + return ( +
executorFilter(user)} + > +

{removeLast(user.user?.fio)}

+ avatar +
+ ); + })} +
+ )} +
+ )} +
+
{ + setTags((prevState) => ({ + ...prevState, + open: !tags.open + })); + }} + > +

Список тегов

+ arrow +
+ {tags.open && ( +
+ {!tags.add && !tags.edit && ( +
+ setTags((prevState) => ({ + ...prevState, + add: true + })) + } + > +

Добавить новый тег

+ + +
+ )} + {!tags.add && !tags.edit && ( +
+ {projectBoard.mark.map((tag) => { + return ( +
+
+ +
+ + {tag.slug} + +

{tag.title}

+
+
+
+ edit { + setTags((prevState) => ({ + ...prevState, + edit: true + })); + setTagInfo({ + description: tag.title, + name: tag.slug, + editMarkId: tag.id + }); + setColor(tag.color); + }} + /> + deleteTag(tag.id)} + className="delete" + src={close} + alt="delete" + /> +
+
+ ); + })} +
+ )} + {(tags.add || tags.edit) && ( +
+ + setTagInfo((prevState) => ({ + ...prevState, + description: e.target.value + })) + } + /> + + setTagInfo((prevState) => ({ + ...prevState, + name: e.target.value + })) + } + /> + + + {(tags.add || tags.edit) && ( + + )} +
+ )} +
+ )} +
+ +

К списку проектов

+ arrow + +
+
+ ); +}; + +export default TrackerBoardHead; diff --git a/src/components/TrackerBoardHead/trackerBoardHead.scss b/src/components/TrackerBoardHead/trackerBoardHead.scss new file mode 100644 index 00000000..e69de29b