11import { useFile } from "../contexts/FileContext" ;
22import { useKey } from "../contexts/KeyContext" ;
33import KeyHolder from "./KeyHolder" ;
4- import { useEffect , useState } from "react" ;
4+ import { useEffect } from "react" ;
55import { useSessionContext } from "../contexts/SessionContext" ;
6- import { PulseLoader } from "react-spinners" ;
76
87const NewRequest = ( ) => {
9- const { clearFiles, updateState, filesRef, fileVersion, findFailedFiles } =
10- useFile ( ) ;
8+ const { clearFiles, updateState, files, failedFiles } = useFile ( ) ;
119 const { key, removeKey } = useKey ( ) ;
12- const [ failedFile , setFailedFiles ] = useState ( [ ] ) ;
1310 const { setSessionInfo } = useSessionContext ( ) ;
1411
1512 useEffect ( ( ) => {
16- for ( const file of filesRef . current ) {
17- if (
18- file . state . status !== "success" &&
19- file . state . status !== "uploading"
20- ) {
13+ files . forEach ( ( file ) => {
14+ if ( ! [ "success" , "uploading" ] . includes ( file . state . status ) ) {
2115 updateState ( { status : "error" } , file . fileInfo . id ) ;
2216 }
23- }
24- } , [ ] ) ;
25-
26- useEffect ( ( ) => {
27- setTimeout ( ( ) => {
28- setFailedFiles ( findFailedFiles ( ) , 0 ) ;
2917 } ) ;
30- } , [ fileVersion ] ) ;
18+ } , [ ] ) ;
3119
3220 const handleNewRequest = ( ) => {
3321 sessionStorage . removeItem ( "page" ) ;
@@ -39,14 +27,16 @@ const NewRequest = () => {
3927 newRequest : false ,
4028 } ) ) ;
4129 } ;
30+
31+ const successCount = files . length - failedFiles . length ;
32+
4233 return (
43- < div className = "relative flex flex-col items-center justify-center space-y-4" >
34+ < div className = "relative flex flex-col items-center justify-center space-y-4" >
4435 < p className = "text-green-400 text-sm sm:text-lg font-semibold" >
45- Uploaded files { filesRef . current . length - failedFile . length } /
46- { filesRef . current . length } !
36+ Uploaded files { successCount } /{ files . length } !
4737 </ p >
4838
49- { key && filesRef . current . length - failedFile . length > 0 && < KeyHolder /> }
39+ { key && successCount > 0 && < KeyHolder /> }
5040
5141 < button
5242 onClick = { handleNewRequest }
0 commit comments