diff --git a/web/src/lib/components/shared-components/drag-and-drop-upload-overlay.svelte b/web/src/lib/components/shared-components/drag-and-drop-upload-overlay.svelte
index 77178aa992..b37b8c0739 100644
--- a/web/src/lib/components/shared-components/drag-and-drop-upload-overlay.svelte
+++ b/web/src/lib/components/shared-components/drag-and-drop-upload-overlay.svelte
@@ -13,6 +13,7 @@
let isInLockedFolder = $derived(isLockedFolderRoute(page.route.id));
let dragStartTarget: EventTarget | null = $state(null);
+ let isInternalDrag = false;
const onDragEnter = (e: DragEvent) => {
if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {
@@ -133,7 +134,19 @@
}
};
+ const ondragstart = () => {
+ isInternalDrag = true;
+ };
+
+ const ondragend = () => {
+ isInternalDrag = false;
+ };
+
const ondragenter = (e: DragEvent) => {
+ if (isInternalDrag) {
+ return;
+ }
+
e.preventDefault();
e.stopPropagation();
onDragEnter(e);
@@ -146,6 +159,10 @@
};
const ondrop = async (e: DragEvent) => {
+ if (isInternalDrag) {
+ return;
+ }
+
e.preventDefault();
e.stopPropagation();
await onDrop(e);
@@ -159,7 +176,7 @@
-
+
{#if dragStartTarget}