// use-kanban.jsx — HTML5 drag-and-drop state for Kanban columns

const { useState: useKanbanState } = React;

function useKanban(onMove) {
  const [dragOverCol, setDragOverCol] = useKanbanState(null);

  const handleDragStart = (e, id) => {
    e.dataTransfer.setData("briefId", String(id));
    e.dataTransfer.effectAllowed = "move";
  };

  const handleDrop = (e, col) => {
    e.preventDefault();
    const id = e.dataTransfer.getData("briefId");
    if (id) onMove(id, { status: col });
    setDragOverCol(null);
  };

  const handleDragOver = (e, col) => {
    e.preventDefault();
    setDragOverCol(col);
  };

  const handleDragLeave = (e) => {
    if (!e.currentTarget.contains(e.relatedTarget)) setDragOverCol(null);
  };

  const handleDragEnd = () => setDragOverCol(null);

  return { dragOverCol, handleDragStart, handleDrop, handleDragOver, handleDragLeave, handleDragEnd };
}
