11import { useState , useEffect , useRef } from "react" ;
22
3- import Modal , { ModalRow , ModalTitlebar } from "./Modal" ;
3+ import Modal , { ModalInputDropArea , ModalRow , ModalTitlebar } from "./Modal" ;
44import { ProgressBar } from "Components" ;
5- import { useError , useTheme } from "Utils" ;
6- import { StyledModalDrop } from "./UploadModal.styles" ;
5+ import { useError } from "Utils" ;
76
87const UploadModal = ( {
98 onSubmit,
@@ -20,12 +19,10 @@ const UploadModal = ({
2019 location : string ;
2120 currentProject : string ;
2221} ) => {
23- const theme = useTheme ( ) ;
2422 const { error } = useError ( ) ;
2523
2624 const [ uploadStatus , setUploadStatus ] = useState ( "" ) ;
2725 const [ uploadPercentage , setUploadPercentage ] = useState ( 0 ) ;
28- const [ dropActive , setDropActive ] = useState < boolean > ( false ) ;
2926
3027 const uploadInputRef = useRef < any > ( null ) ;
3128 const uploadAreaRef = useRef < any > ( null ) ;
@@ -120,36 +117,17 @@ const UploadModal = ({
120117 } }
121118 />
122119 < ModalRow >
123- < StyledModalDrop
124- ref = { uploadAreaRef }
125- htmlFor = "uploadDropInput"
126- onDragOver = { ( e ) => {
127- e . preventDefault ( ) ;
128- } }
129- onDragEnter = { ( ) => setDropActive ( true ) }
130- onDragLeave = { ( ) => setDropActive ( false ) }
131- onDrop = { ( e ) => handleDrop ( e ) }
132- text = { theme . palette . text }
133- bgColor = { theme . palette . background }
134- buttonColor = { theme . palette . primary }
135- hoverColor = { theme . palette . secondary }
136- borderColor = { theme . palette . primary }
137- hoverBorderColor = { theme . palette . background }
138- roundness = { theme . roundness }
139- active = { dropActive }
140- >
141- < span > Drop files here</ span >
142- or
143- < input
144- ref = { uploadInputRef }
145- id = "uploadDropInput"
146- onChange = { ( e ) => handleAcceptedFiles ( e . target . files ) }
147- type = "file"
148- title = "Upload folder contents"
149- multiple
150- required
151- />
152- </ StyledModalDrop >
120+ < ModalInputDropArea
121+ areaRef = { uploadAreaRef }
122+ inputRef = { uploadInputRef }
123+ id = "uploadDropInput"
124+ dropTitle = "Drop files here"
125+ onChange = { ( e ) => handleAcceptedFiles ( e . target . files ) }
126+ onDrop = { handleDrop }
127+ type = "file"
128+ multiple
129+ required
130+ />
153131 </ ModalRow >
154132 { uploadStatus !== "" && < ProgressBar completed = { uploadPercentage } /> }
155133 </ Modal >
0 commit comments