import React, { useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { apiRequest } from "../../../api/request"; import { getProjectBoard, getValueModalType, setProject, setProjectBoardFetch, editProjectName, } from "../../../redux/projectsTrackerSlice"; import "./trackerModal.scss"; export const TrackerModal = ({ active, setActive, selectedTab, defautlInput, titleProject, projectId, titleColumn, }) => { const dispatch = useDispatch(); const projectBoard = useSelector(getProjectBoard); const modalType = useSelector(getValueModalType); const [emailWorker, setEmailWorker] = useState(""); const [projectName, setProjectName] = useState(defautlInput); const [editTitleColumn, setEditTitleColumn] = useState(titleColumn); const [valueColumn, setValueColumn] = useState(""); const [nameProject, setNameProject] = useState(""); const [valueTiket, setValueTiket] = useState(""); const [descriptionTicket, setDescriptionTicket] = useState(""); function createTab() { if (!valueColumn) { return; } apiRequest("/project-column/create-column", { method: "POST", data: { project_id: projectBoard.id, title: valueColumn, }, }).then((res) => { dispatch(setProjectBoardFetch(projectBoard.id)); }); setValueColumn(""); setActive(false); } function createTiket() { if (!valueTiket || !descriptionTicket) { return; } apiRequest("/task/create-task", { method: "POST", data: { project_id: projectBoard.id, title: valueTiket, description: descriptionTicket, status: 1, user_id: localStorage.getItem("id"), column_id: selectedTab, }, }).then((res) => { dispatch(setProjectBoardFetch(projectBoard.id)); }); setActive(false); setValueTiket(""); setDescriptionTicket(""); } function editProject() { apiRequest("/project/update", { method: "PUT", data: { project_id: projectId, name: projectName, }, }).then((res) => { setActive(false); dispatch(editProjectName({ id: projectId, name: projectName })); }); } function createProject() { if (nameProject === "") { return; } else { apiRequest("/project/create", { method: "POST", data: { user_id: localStorage.getItem("id"), name: nameProject, status: 19, }, }).then((res) => { const result = { ...res, columns: [] }; dispatch(setProject(result)); setActive(false); setNameProject(""); }); } } return (
setActive(false)} >
e.stopPropagation()}> {modalType === "addWorker" && (

Добавьте участника

Введите имя или e-mail

setEmailWorker(e.target.value)} />
)} {modalType === "createTiketProject" && (

Введите название и описание задачи

setValueTiket(e.target.value)} placeholder="Название задачи" />
setDescriptionTicket(e.target.value)} placeholder="Описание задачи" />
)} {modalType === "editProject" && (

Введите новое название

setProjectName(e.target.value)} />
)} {modalType === "createProject" && (

{titleProject}

setNameProject(e.target.value)} />
)} {modalType === "addSubtask" && (

Вы добавляете подзадачу{" "}

в колонку(id) задачи "{defautlInput}"

Введите текст

)} {modalType === "createColumn" && (

Введите название колонки

setValueColumn(e.target.value)} />
)} {modalType === "editColumn" && (

Введите новое название

setEditTitleColumn(e.target.value)} />
)} setActive(false)}>
); }; export default TrackerModal;