diff --git a/src/hooks/useDragAndDrop/index.ts b/src/hooks/useDragAndDrop/index.ts index 506c42eae21b3..e40f8c5d66f6b 100644 --- a/src/hooks/useDragAndDrop/index.ts +++ b/src/hooks/useDragAndDrop/index.ts @@ -26,7 +26,6 @@ const useDragAndDrop: UseDragAndDrop = ({ const [isDraggingOver, setIsDraggingOver] = useState(false); const {close: closePopover} = usePopoverActions(); - const dragCounter = useRef(0); const debounceTimeoutRef = useRef(null); // Reset drag state when the screen loses focus or becomes disabled @@ -43,7 +42,6 @@ const useDragAndDrop: UseDragAndDrop = ({ if (isFocused && !isDisabled) { return; } - dragCounter.current = 0; if (debounceTimeoutRef.current) { clearTimeout(debounceTimeoutRef.current); debounceTimeoutRef.current = null; @@ -100,23 +98,17 @@ const useDragAndDrop: UseDragAndDrop = ({ break; case DRAG_ENTER_EVENT: handleDragEvent(event); - dragCounter.current += 1; - if (dragCounter.current === 1 && !isDraggingOver) { + if (!isDraggingOver) { setIsDraggingOver(true); } break; case DRAG_LEAVE_EVENT: - dragCounter.current -= 1; - if (dragCounter.current <= 0) { - dragCounter.current = 0; - // Add small debounce to prevent rapid flickering - debounceTimeoutRef.current = setTimeout(() => { - setIsDraggingOver(false); - }, 50); - } + // Add small debounce to prevent rapid flickering + debounceTimeoutRef.current = setTimeout(() => { + setIsDraggingOver(false); + }, 50); break; case DROP_EVENT: - dragCounter.current = 0; setIsDraggingOver(false); onDrop(event); break;