@@ -20,6 +20,13 @@ const LocalFileBrowser = ({ superState, dispatcher }) => {
2020 const [ dirButton , setDirButton ] = useState ( false ) ;
2121 const [ fileState , setFileState ] = useState ( [ ] ) ;
2222
23+ const getLocalFileState = ( state ) => state . map ( ( file ) => ( {
24+ key : file . key ,
25+ modified : file . modified ,
26+ size : file . size ,
27+ fileName : file . fileObj ? file . fileObj . name : null ,
28+ } ) ) ;
29+
2330 useEffect ( ( ) => {
2431 if ( 'showDirectoryPicker' in window ) {
2532 setDirButton ( true ) ;
@@ -35,7 +42,7 @@ const LocalFileBrowser = ({ superState, dispatcher }) => {
3542 // setFileState({ files: allFiles });
3643 // }
3744 try {
38- window . localStorage . setItem ( 'fileList' , JSON . stringify ( fileState ) ) ;
45+ window . localStorage . setItem ( 'fileList' , JSON . stringify ( getLocalFileState ( fileState ) ) ) ;
3946 } catch ( e ) {
4047 toast . error ( e . message ) ;
4148 }
@@ -47,13 +54,14 @@ const LocalFileBrowser = ({ superState, dispatcher }) => {
4754
4855 const handleSelectFile = ( data ) => {
4956 const fileExtensions = [ 'jpeg' , 'jpg' , 'png' , 'exe' ] ;
50- if ( fileExtensions . includes ( data . fileObj . name . split ( '.' ) . pop ( ) ) ) {
57+ const fileExt = data . fileObj . name . split ( '.' ) . pop ( ) . toLowerCase ( ) ;
58+ if ( fileExtensions . includes ( fileExt ) ) {
5159 // eslint-disable-next-line no-alert
5260 alert ( 'Wrong file extension' ) ;
5361 return ;
5462 }
5563
56- if ( data . fileObj . name . split ( '.' ) . pop ( ) === 'graphml' ) {
64+ if ( fileExt === 'graphml' ) {
5765 let foundi = - 1 ;
5866 superState . graphs . forEach ( ( g , i ) => {
5967 if ( ( g . fileName === data . fileObj . name ) ) {
@@ -251,7 +259,7 @@ const LocalFileBrowser = ({ superState, dispatcher }) => {
251259
252260 setFileState ( filesArray ) ;
253261 try {
254- window . localStorage . setItem ( 'fileList' , JSON . stringify ( filesArray ) ) ;
262+ window . localStorage . setItem ( 'fileList' , JSON . stringify ( getLocalFileState ( filesArray ) ) ) ;
255263 } catch ( e ) {
256264 toast . error ( e . message ) ;
257265 }
0 commit comments