1- import { ImageIcon , ImagePlus } from " lucide-preact" ;
2- import type { FC } from " preact/compat" ;
3- import { useState , useCallback , useRef , useEffect } from " preact/hooks" ;
1+ import { ImageIcon , ImagePlus } from ' lucide-preact' ;
2+ import type { FC } from ' preact/compat' ;
3+ import { useState , useCallback , useRef , useEffect } from ' preact/hooks' ;
44
55type DragAndDropFileInputProps = {
66 onImageUpload : ( e : Event ) => void ;
@@ -34,7 +34,7 @@ const FileInput: FC<DragAndDropFileInputProps> = ({ onImageUpload }) => {
3434 dataTransfer . items . add ( file ) ;
3535 inputRef . current . files = dataTransfer . files ;
3636
37- const event = new Event ( " change" , { bubbles : true } ) ;
37+ const event = new Event ( ' change' , { bubbles : true } ) ;
3838 inputRef . current . dispatchEvent ( event ) ;
3939 }
4040
@@ -57,23 +57,23 @@ const FileInput: FC<DragAndDropFileInputProps> = ({ onImageUpload }) => {
5757 } ;
5858
5959 useEffect ( ( ) => {
60- window . addEventListener ( " dragover" , handleGlobalDragOver ) ;
61- window . addEventListener ( " dragleave" , handleGlobalDragLeave ) ;
62- window . addEventListener ( " drop" , handleGlobalDrop ) ;
60+ window . addEventListener ( ' dragover' , handleGlobalDragOver ) ;
61+ window . addEventListener ( ' dragleave' , handleGlobalDragLeave ) ;
62+ window . addEventListener ( ' drop' , handleGlobalDrop ) ;
6363
6464 return ( ) => {
65- window . removeEventListener ( " dragover" , handleGlobalDragOver ) ;
66- window . removeEventListener ( " dragleave" , handleGlobalDragLeave ) ;
67- window . removeEventListener ( " drop" , handleGlobalDrop ) ;
65+ window . removeEventListener ( ' dragover' , handleGlobalDragOver ) ;
66+ window . removeEventListener ( ' dragleave' , handleGlobalDragLeave ) ;
67+ window . removeEventListener ( ' drop' , handleGlobalDrop ) ;
6868 } ;
6969 } , [ handleGlobalDragOver , handleGlobalDragLeave , handleGlobalDrop ] ) ;
7070
7171 return (
7272 < >
7373 < label
7474 class = {
75- " relative grow w-full rounded-md border border-input border-solid flex flex-col items-center justify-center gap-2 p-4 cursor-pointer transition-colors " +
76- ( isDragging ? " border-primary border-dashed" : "" )
75+ ' relative grow w-full rounded-md border border-input border-solid flex flex-col items-center justify-center gap-2 p-4 cursor-pointer transition-colors ' +
76+ ( isDragging ? ' border-primary border-dashed' : '' )
7777 }
7878 htmlFor = "file-input"
7979 >
@@ -108,9 +108,7 @@ const FileInput: FC<DragAndDropFileInputProps> = ({ onImageUpload }) => {
108108 < div class = "fixed inset-0 z-50 bg-black/70 flex items-center justify-center pointer-events-none border-primary border-4 rounded-md" >
109109 < div class = "card flex flex-row items-center gap-3 p-6 text-center" >
110110 < ImagePlus class = "w-6 h-6" />
111- < p class = "text-lg font-medium" >
112- Drop image anywhere to use
113- </ p >
111+ < p class = "text-lg font-medium" > Drop image anywhere to use</ p >
114112 </ div >
115113 </ div >
116114 ) }
0 commit comments