about summary refs log tree commit diff
path: root/src/view/com/composer/text-input/TextInput.web.tsx
diff options
context:
space:
mode:
authorMary <pineapplecreamcheese@skiff.com>2024-01-21 04:24:58 +0700
committerMary <pineapplecreamcheese@skiff.com>2024-01-21 08:43:11 +0700
commit88f2a73ad6eb0f3f4b9b5a10aaf3d3be090bc5e5 (patch)
tree0569ebbf5ef0cb6c300b0ef565679d29d7c10765 /src/view/com/composer/text-input/TextInput.web.tsx
parent854718c5551139109a0eef60126b9a39117f833f (diff)
downloadvoidsky-88f2a73ad6eb0f3f4b9b5a10aaf3d3be090bc5e5.tar.zst
fix: always call preventDefault
Diffstat (limited to 'src/view/com/composer/text-input/TextInput.web.tsx')
-rw-r--r--src/view/com/composer/text-input/TextInput.web.tsx16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/view/com/composer/text-input/TextInput.web.tsx b/src/view/com/composer/text-input/TextInput.web.tsx
index 3ffe3baaf..a2344ad3f 100644
--- a/src/view/com/composer/text-input/TextInput.web.tsx
+++ b/src/view/com/composer/text-input/TextInput.web.tsx
@@ -111,24 +111,32 @@ export const TextInput = React.forwardRef(function TextInputImpl(
       event.preventDefault()
       setIsDropping(false)
     }
-    const handleDragOver = (event: DragEvent) => {
+    const handleDragEnter = (event: DragEvent) => {
       const transfer = event.dataTransfer
+
+      event.preventDefault()
       if (transfer && transfer.types.includes('Files')) {
         setIsDropping(true)
       }
     }
-    const handleDragLeave = (_event: DragEvent) => {
+    const handleDragLeave = (event: DragEvent) => {
+      event.preventDefault()
       setIsDropping(false)
     }
+    const handleDragOver = (event: DragEvent) => {
+      event.preventDefault()
+    }
 
     document.body.addEventListener('drop', handleDrop)
-    document.body.addEventListener('dragover', handleDragOver)
+    document.body.addEventListener('dragenter', handleDragEnter)
     document.body.addEventListener('dragleave', handleDragLeave)
+    document.body.addEventListener('dragover', handleDragOver)
 
     return () => {
       document.body.removeEventListener('drop', handleDrop)
-      document.body.removeEventListener('dragover', handleDragOver)
+      document.body.removeEventListener('dragenter', handleDragEnter)
       document.body.removeEventListener('dragleave', handleDragLeave)
+      document.body.removeEventListener('dragover', handleDragOver)
     }
   }, [setIsDropping])