import React, { useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { apiRequest } from "../../../api/request"; import { getProjectBoard, getValueModalType, setProjectBoardFetch, } from "../../../redux/projectsTrackerSlice"; import "./modalAdd.scss"; export const ModalAdd = ({ active, setActive, selectedTab, defautlInput }) => { const dispatch = useDispatch(); const projectBoard = useSelector(getProjectBoard); const modalType = useSelector(getValueModalType); const [valueTiket, setValueTiket] = useState(""); const [valueColl, setValueColl] = useState(""); const [descriptionTicket, setDescriptionTicket] = useState(""); function createTab() { if (!valueColl) { return; } apiRequest("/project-column/create-column", { method: "POST", data: { project_id: projectBoard.id, title: valueColl, }, }).then((res) => { dispatch(setProjectBoardFetch(projectBoard.id)); }); setValueColl(""); 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 getModal() { switch (modalType) { case "createColumn": return (
e.stopPropagation()} >

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

setValueColl(e.target.value)} >
setActive(false)}>
); case "addWorker": return (
e.stopPropagation()} >

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

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

setValueTiket(e.target.value)} >
setActive(false)}>
); case "createTiketProject": return (
e.stopPropagation()} >

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

setValueTiket(e.target.value)} placeholder="Название задачи" >
setDescriptionTicket(e.target.value)} placeholder="Описание задачи" >
setActive(false)}>
); case "editProject": return (
e.stopPropagation()} >

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

setValueTiket(e.target.value)} >
setActive(false)}>
); default: return null; } } return (
setActive(false)} > {getModal()}
); }; export default ModalAdd;