import React from "react"; import { DragDropContext, Droppable } from "react-beautiful-dnd"; import { useQuery } from "react-query"; import api from "../../services/api"; import { Tarefa } from "../../types/entities"; import { TarefaCard } from "./TarefaCard"; interface TarefaKanbanProps { onEdit: (tarefa: Tarefa) => void; onStatusChange: (id: string, status: string, progresso?: number) => void; } const colunas = [ { id: "PENDENTE", titulo: "Pendentes" }, { id: "EM_ANDAMENTO", titulo: "Em Andamento" }, { id: "CONCLUIDA", titulo: "ConcluĂ­das" }, ]; export const TarefaKanban: React.FC = ({ onEdit, onStatusChange, }) => { const { data: tarefas = [], refetch } = useQuery("tarefas", async () => { const response = await api.get("/tarefas"); return response.data; }); const handleDragEnd = async (result: any) => { if (!result.destination) return; const { draggableId, source, destination } = result; if (source.droppableId !== destination.droppableId) { onStatusChange(draggableId, destination.droppableId); } }; return (
{colunas.map((coluna) => (

{coluna.titulo}

{(provided) => (
{tarefas .filter((tarefa: Tarefa) => tarefa.status === coluna.id) .map((tarefa: Tarefa, index: number) => ( ))} {provided.placeholder}
)}
))}
); };