diff --git a/frontend/src/components/ai/SessionList.tsx b/frontend/src/components/ai/SessionList.tsx index 5313816..abc8652 100644 --- a/frontend/src/components/ai/SessionList.tsx +++ b/frontend/src/components/ai/SessionList.tsx @@ -50,18 +50,39 @@ function TreeItem({ const [expanded, setExpanded] = useState(true); const [isDragOver, setIsDragOver] = useState(false); const isRoot = node.folder === null; + const folderId = node.folder?.id || null; + + // Drop handler for this specific folder - stopPropagation so parent doesn't also fire + const handleDrop = (e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + setIsDragOver(false); + onDropToFolder(folderId); + }; + + const handleDragOver = (e: React.DragEvent) => { + e.preventDefault(); + e.stopPropagation(); + setIsDragOver(true); + }; + + const handleDragLeave = (e: React.DragEvent) => { + e.stopPropagation(); + // Only clear if leaving to a non-child element + setIsDragOver(false); + }; return ( -