feat: Prevent tag transfers on folders

This commit is contained in:
2025-12-09 01:10:20 +01:00
parent ebc7ce67a1
commit aaa4a9b577
@@ -1,4 +1,5 @@
import React, { type DragEvent } from 'react';
import { isTagTransferEvent } from '../tagging/tagTransfer';
import type { DocumentViewLogic } from '../../logic/useDocumentViewLogic';
import { useDocumentsCommandContext } from '../../context/DocumentsCommandContext';
import { useDocumentsViewStateContext } from '../../context/DocumentsViewStateContext';
@@ -63,9 +64,26 @@ export const useFolderItemLogic = (props: UseFolderItemLogicProps) => {
event.preventDefault();
onFolderSelect?.(folder.id);
},
onDragOver: (event: DragEvent<HTMLElement>) => onFolderDragOver?.(event, folder.id),
onDragOver: (event: DragEvent<HTMLElement>) => {
if (isTagTransferEvent(event)) {
event.preventDefault();
event.stopPropagation();
if (event.dataTransfer) {
event.dataTransfer.dropEffect = 'none';
}
return;
}
onFolderDragOver?.(event, folder.id);
},
onDragLeave: onFolderDragLeave,
onDrop: (event: DragEvent<HTMLElement>) => onFolderDrop?.(event, folder.id),
onDrop: (event: DragEvent<HTMLElement>) => {
if (isTagTransferEvent(event)) {
event.preventDefault();
event.stopPropagation();
return;
}
onFolderDrop?.(event, folder.id);
},
onDragStart: (event: DragEvent<HTMLElement>) => {
if (canDragFolder) {
onFolderDragStart?.(event, folder.id);