import { SortableContext, useSortable } from "@dnd-kit/sortable"; import TrashIcon from "../icons/trashIcon"; import { CSS } from "@dnd-kit/utilities"; import { useMemo, useState } from "react"; import PlusIcon from "../icons/plusIcon"; import TaskCard from "./taskCard"; function ColumnContainer({ column, deleteColumn, updateColumn, createTask, tasks, deleteTask, updateTask, }) { const [editMode, setEditMode] = useState(false); const tasksIds = useMemo(() => { return tasks.map((task) => task.id); }, [tasks]); const { setNodeRef, attributes, listeners, transform, transition, isDragging, } = useSortable({ id: column.id, data: { type: "Column", column, }, disabled: editMode, }); const style = { transition, transform: CSS.Transform.toString(transform), }; if (isDragging) { return (
); } return (
{/* Column title */}
{ setEditMode(true); }} className=" bg-mainBackgroundColor text-md h-[60px] cursor-grab rounded-md rounded-b-none p-3 font-bold border-columnBackgroundColor border-4 flex items-center justify-between " >
0
{!editMode && column.title} {editMode && ( updateColumn(column.id, e.target.value)} autoFocus onBlur={() => { setEditMode(false); }} onKeyDown={(e) => { if (e.key !== "Enter") return; setEditMode(false); }} /> )}
{/* Column task container */}
{tasks.map((task) => ( ))}
{/* Column footer */}
); } export default ColumnContainer;