@@ -61,6 +61,7 @@ export default function ReviewFilesPage({
6161 const WIDGET_STATE = settings . WIDGET_STATE
6262
6363 const dialogId = "file-dialog"
64+ const unusedFileDialogId = "unused-files-dialog"
6465
6566 const headers = [
6667 { id : "name" , text : t ( 'fix.label.file_name' ) } ,
@@ -104,6 +105,9 @@ export default function ReviewFilesPage({
104105 const [ isDisabled , setIsDisabled ] = useState ( false )
105106 const [ showLearnMore , setShowLearnMore ] = useState ( false )
106107
108+ const [ unusedFiles , setUnusedFiles ] = useState ( [ ] )
109+ const [ fileDeleteQueue , setFileDeleteQueue ] = useState ( [ ] )
110+
107111
108112 const formatFileData = ( fileData ) => {
109113
@@ -232,11 +236,17 @@ export default function ReviewFilesPage({
232236 let tempUnfilteredIssues = [ ]
233237
234238 let tempFiles = Object . assign ( { } , report . files )
239+ let tempUnusedFiles = [ ]
235240 for ( const [ key , value ] of Object . entries ( tempFiles ) ) {
236241 let tempFile = formatFileData ( value )
237242 tempUnfilteredIssues . push ( tempFile )
243+ if ( ! tempFile ?. fileData ?. references || tempFile ?. fileData ?. references ?. length == 0 ) {
244+ tempUnusedFiles . push ( tempFile . fileData )
245+ }
238246 }
239247
248+ console . log ( tempUnusedFiles )
249+
240250 tempUnfilteredIssues . sort ( ( a , b ) => {
241251 return ( a . formLabel . toLowerCase ( ) < b . formLabel . toLowerCase ( ) ) ? - 1 : 1
242252 } )
@@ -350,7 +360,7 @@ export default function ReviewFilesPage({
350360 }
351361
352362
353- const openDialog = ( ) => {
363+ const openDialog = ( dialogId ) => {
354364 setWidgetState ( WIDGET_STATE . FIXIT )
355365
356366 const dialog = document . getElementById ( dialogId )
@@ -359,7 +369,7 @@ export default function ReviewFilesPage({
359369 }
360370 }
361371
362- const closeDialog = ( ) => {
372+ const closeDialog = ( dialogId ) => {
363373 setWidgetState ( WIDGET_STATE . LIST )
364374 setActiveIssue ( null )
365375
@@ -597,7 +607,7 @@ export default function ReviewFilesPage({
597607 setActiveIssue ( tempFileIssue )
598608 }
599609 else {
600- closeDialog ( )
610+ closeDialog ( dialogId )
601611 }
602612
603613 // Add success messages
@@ -886,7 +896,7 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
886896 }
887897
888898 setActiveIssue ( filteredFiles [ filteredFileIndex ] )
889- openDialog ( )
899+ openDialog ( dialogId )
890900 }
891901
892902 const nextFile = ( previous = false ) => {
@@ -937,6 +947,7 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
937947 type = "button"
938948 className = "btn-small btn-icon-left review-files-delete-button"
939949 tabIndex = "0"
950+ onClick = { ( ) => openDialog ( unusedFileDialogId ) }
940951 aria-label = { t ( 'files.button.delete_unused_files' ) } >
941952 < DeleteIcon className = "icon-md" />
942953 < div className = "flex-column justify-content-center" >
@@ -977,11 +988,11 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
977988 </ div >
978989 </ >
979990 ) }
980- < dialog id = { dialogId } className = "dialog-full-screen" onClose = { closeDialog } >
991+ < dialog id = { dialogId } className = "dialog-full-screen" onClose = { ( ) => closeDialog ( dialogId ) } >
981992 < div className = 'flex-column h-100' >
982993 < div className = 'dialog-header' >
983994 < h2 > { t ( `form.file.title` ) } </ h2 >
984- < CloseIcon onClick = { closeDialog } onKeyDown = { ( e ) => e . key == "Enter" ? closeDialog ( ) : "" } className = "close-icon icon-lg" tabIndex = "0" alt = { t ( 'fix.button.close' ) } title = { t ( 'fix.button.close' ) } />
995+ < CloseIcon onClick = { ( ) => closeDialog ( dialogId ) } onKeyDown = { ( e ) => e . key == "Enter" ? closeDialog ( dialogId ) : "" } className = "close-icon icon-lg" tabIndex = "0" alt = { t ( 'fix.button.close' ) } title = { t ( 'fix.button.close' ) } />
985996 </ div >
986997 < div className = "dialog-content" >
987998 < div className = "flex-row gap-2 w-100 h-100" >
@@ -1063,6 +1074,15 @@ const getSectionPostOptions = (newFile, sectionReferences) => {
10631074 </ div >
10641075 </ div >
10651076 </ dialog >
1077+
1078+ < dialog id = { unusedFileDialogId } className = "dialog-full-screen" onClose = { ( ) => closeDialog ( unusedFileDialogId ) } >
1079+ < div className = 'flex-column h-100' >
1080+ < div className = 'dialog-header' >
1081+ < h2 > { t ( 'files.button.delete_unused_files' ) } </ h2 >
1082+ < CloseIcon onClick = { ( ) => closeDialog ( unusedFileDialogId ) } onKeyDown = { ( e ) => e . key == "Enter" ? ( ) => closeDialog ( unusedFileDialogId ) : "" } className = "close-icon icon-lg" tabIndex = "0" alt = { t ( 'fix.button.close' ) } title = { t ( 'fix.button.close' ) } />
1083+ </ div >
1084+ </ div >
1085+ </ dialog >
10661086 </ >
10671087 )
10681088}
0 commit comments