@@ -726,9 +726,9 @@ function uploadBlob(view, blob) {
726726
727727function upload ( view , fd , files ) {
728728 let rename = false ;
729- if ( view [ 0 ] . currentData && Object . keys ( view [ 0 ] . currentData ) . length ) {
729+ if ( view [ 0 ] . currentData ? .length ) {
730730 let conflict = false ;
731- const existingFiles = Object . keys ( view [ 0 ] . currentData ) ;
731+ const existingFiles = view [ 0 ] . currentData . map ( ( file ) => file . name ) ;
732732
733733 for ( const file of files ) {
734734 if ( existingFiles . includes ( file ) ) {
@@ -1198,16 +1198,20 @@ function checkPathOverflow(view) {
11981198
11991199function getTemplateEntries ( view , data ) {
12001200 const entries = [ ] ;
1201- Object . keys ( data ) . forEach ( ( name ) => {
1202- const split = data [ name ] . split ( "|" ) ;
1203- const type = split [ 0 ] ;
1204- const mtime = Number ( split [ 1 ] ) * 1e3 ;
1205- const size = Number ( split [ 2 ] ) ;
1201+ data . forEach ( ( file ) => {
1202+ const type =
1203+ file . type === "file"
1204+ ? "f"
1205+ : file . type === "directory"
1206+ ? "d"
1207+ : file . type ;
1208+ const mtime = Number ( file . mtime ) * 1e3 ;
1209+ const size = Number ( file . size ) ;
12061210 // Preserve filenames exactly as received from the server (no Unicode normalization).
12071211
12081212 const entry = {
1209- name,
1210- sortname : name . replace ( / [ ' " ] / g, "_" ) . toLowerCase ( ) ,
1213+ name : file . name ,
1214+ sortname : file . name . replace ( / [ ' " ] / g, "_" ) . toLowerCase ( ) ,
12111215 type,
12121216 mtime,
12131217 age : timeDifference ( mtime ) ,
@@ -1216,25 +1220,25 @@ function getTemplateEntries(view, data) {
12161220 id :
12171221 ( view [ 0 ] . currentFolder === "/"
12181222 ? "/"
1219- : `${ view [ 0 ] . currentFolder } /` ) + name ,
1220- sprite : getSpriteClass ( fileExtension ( name ) ) ,
1223+ : `${ view [ 0 ] . currentFolder } /` ) + file . name ,
1224+ sprite : getSpriteClass ( fileExtension ( file . name ) ) ,
12211225 classes : "" ,
12221226 } ;
12231227
1224- if ( Object . keys ( droppy . audioTypes ) . includes ( fileExtension ( name ) ) ) {
1228+ if ( Object . keys ( droppy . audioTypes ) . includes ( fileExtension ( file . name ) ) ) {
12251229 entry . classes = "playable" ;
12261230 entry . playable = true ;
12271231 } else if (
1228- Object . keys ( droppy . videoTypes ) . includes ( fileExtension ( name ) )
1232+ Object . keys ( droppy . videoTypes ) . includes ( fileExtension ( file . name ) )
12291233 ) {
12301234 entry . classes = "viewable viewable-video" ;
12311235 entry . viewableVideo = true ;
12321236 } else if (
1233- Object . keys ( droppy . imageTypes ) . includes ( fileExtension ( name ) )
1237+ Object . keys ( droppy . imageTypes ) . includes ( fileExtension ( file . name ) )
12341238 ) {
12351239 entry . classes = "viewable viewable-image" ;
12361240 entry . viewableImage = true ;
1237- } else if ( fileExtension ( name ) === "pdf" ) {
1241+ } else if ( fileExtension ( file . name ) === "pdf" ) {
12381242 entry . classes = "viewable viewable-pdf" ;
12391243 entry . viewablePdf = true ;
12401244 }
0 commit comments