| 1661 | }; |
| 1662 | |
| 1663 | const handleFolderDragOver = (e: React.DragEvent, folder: Folder, projectId: number) => { |
| 1664 | e.preventDefault(); |
| 1665 | e.stopPropagation(); |
| 1666 | |
| 1667 | // Allow sessions to be dropped into folders |
| 1668 | if (dragState.type === 'session') { |
| 1669 | setDragState(prev => ({ |
| 1670 | ...prev, |
| 1671 | overType: 'folder', |
| 1672 | overProjectId: projectId, |
| 1673 | overFolderId: folder.id, |
| 1674 | overSessionId: null |
| 1675 | })); |
| 1676 | } else if (dragState.type === 'folder' && dragState.folderId !== folder.id) { |
| 1677 | // Allow folders to be reordered (but not nested) |
| 1678 | setDragState(prev => ({ |
| 1679 | ...prev, |
| 1680 | overType: 'folder', |
| 1681 | overProjectId: projectId, |
| 1682 | overFolderId: folder.id, |
| 1683 | overSessionId: null |
| 1684 | })); |
| 1685 | } |
| 1686 | }; |
| 1687 | |
| 1688 | const handleFolderDrop = async (e: React.DragEvent, folder: Folder, projectId: number) => { |
| 1689 | e.preventDefault(); |