From 86978b7e999584173b082eef86074af698523752 Mon Sep 17 00:00:00 2001 From: Vojtech Simetka Date: Mon, 16 May 2022 10:39:00 +0200 Subject: [PATCH] fix: nested directory upload preserves the directory structure (#365) --- src/pages/files/Upload.tsx | 6 +++--- src/utils/file.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/files/Upload.tsx b/src/pages/files/Upload.tsx index 6d26f4e7..7d6ee86a 100644 --- a/src/pages/files/Upload.tsx +++ b/src/pages/files/Upload.tsx @@ -71,7 +71,7 @@ export function Upload(): ReactElement { return } - let fls = files.map(packageFile) // Apart from packaging, this is needed to not modify the original files array as it can trigger effects + let fls: FilePath[] = files.map(f => packageFile(f)) // Apart from packaging, this is needed to not modify the original files array as it can trigger effects let indexDocument: string | undefined = undefined // This means we assume it's folder if (files.length === 1) indexDocument = files[0].name @@ -84,10 +84,10 @@ export function Upload(): ReactElement { if (idx.commonPrefix) { const substrStart = idx.commonPrefix.length indexDocument = idx.indexPath.substr(substrStart) - fls = fls.map(f => { + fls = files.map(f => { const path = (f.path as string).substr(substrStart) - return { ...f, path, webkitRelativePath: path, fullPath: path } + return packageFile(f, path) }) } else { // The website is not packed in a directory diff --git a/src/utils/file.ts b/src/utils/file.ts index cb90a3f1..40fd8a0c 100644 --- a/src/utils/file.ts +++ b/src/utils/file.ts @@ -87,8 +87,8 @@ export function getPath(file: FilePath): string { /** * Utility function that is needed to have correct directory structure as webkitRelativePath is read only */ -export function packageFile(file: FilePath): FilePath { - const path = getPath(file) +export function packageFile(file: FilePath, pathOverwrite?: string): FilePath { + const path = pathOverwrite || getPath(file) return { path: path,