import React from 'react'; import { useQuery } from 'react-query'; import { DragDropContext, Droppable } from 'react-beautiful-dnd'; import { Tarefa } from '../../types/entities'; import { TarefaCard } from './TarefaCard'; import api from '../../services/api'; 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}
)}
))}
); };