Fix uploading multiple files without compression

This commit is contained in:
Booteille 2024-12-05 11:50:14 +01:00
parent 3de10705ef
commit 8bcb334306
No known key found for this signature in database
GPG Key ID: 0AB6C6CA01272646
1 changed files with 12 additions and 8 deletions

View File

@ -151,14 +151,6 @@ document.addEventListener("DOMContentLoaded", () => {
const cardId = isSecureContext ? crypto.randomUUID() : uuidv4(); const cardId = isSecureContext ? crypto.randomUUID() : uuidv4();
const uploadingFileCard = initCard("uploading", cardId);
uploadingFileCard.querySelector(".name").innerText = zipName;
uploadingFileCard.querySelector(".size").innerText = i18n.unknownYet;
uploadingFileCard.querySelector(".info").innerText = i18n.compressing;
uploadFilesDOM.prepend(uploadingFileCard);
const runUpload = (job = null) => { const runUpload = (job = null) => {
if (!job || job.status === JobStatus.COMPLETE) { if (!job || job.status === JobStatus.COMPLETE) {
return lufi return lufi
@ -175,6 +167,8 @@ document.addEventListener("DOMContentLoaded", () => {
.andThen((jobs) => .andThen((jobs) =>
ResultAsync.combine( ResultAsync.combine(
jobs.map((job) => { jobs.map((job) => {
const uploadingFileCard = initCard("uploading", cardId);
uploadingFileCard.querySelector(".name").innerText = uploadingFileCard.querySelector(".name").innerText =
job.lufiFile.name; job.lufiFile.name;
uploadingFileCard.querySelector(".size").innerText = filesize( uploadingFileCard.querySelector(".size").innerText = filesize(
@ -194,6 +188,8 @@ document.addEventListener("DOMContentLoaded", () => {
updateProgressBar(job.lufiFile, uploadingFileCard); updateProgressBar(job.lufiFile, uploadingFileCard);
}); });
uploadFilesDOM.prepend(uploadingFileCard);
return job return job
.waitForCompletion() .waitForCompletion()
.andThen((job) => { .andThen((job) => {
@ -299,6 +295,14 @@ document.addEventListener("DOMContentLoaded", () => {
}; };
if (isZipped) { if (isZipped) {
const uploadingFileCard = initCard("uploading", cardId);
uploadingFileCard.querySelector(".name").innerText = zipName;
uploadingFileCard.querySelector(".size").innerText = i18n.unknownYet;
uploadingFileCard.querySelector(".info").innerText = i18n.compressing;
uploadFilesDOM.prepend(uploadingFileCard);
return lufi return lufi
.addFilesToArchive(files) .addFilesToArchive(files)
.andThen((archiveEntries) => lufi.compress(archiveEntries, zipName)) .andThen((archiveEntries) => lufi.compress(archiveEntries, zipName))