From 03ba9efec3d362e9dc35d03e3ab796f4084244d3 Mon Sep 17 00:00:00 2001 From: Ramires Viana <59319979+ramiresviana@users.noreply.github.com> Date: Tue, 5 Aug 2025 19:02:51 -0300 Subject: [PATCH] show pending upload count --- frontend/src/components/prompts/UploadFiles.vue | 4 +++- frontend/src/stores/upload.ts | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/prompts/UploadFiles.vue b/frontend/src/components/prompts/UploadFiles.vue index 1cb9982c..883fffe3 100644 --- a/frontend/src/components/prompts/UploadFiles.vue +++ b/frontend/src/components/prompts/UploadFiles.vue @@ -8,7 +8,9 @@

{{ - $t("prompts.uploadFiles", { files: uploadStore.activeUploads.size }) + $t("prompts.uploadFiles", { + files: uploadStore.pendingUploadCount, + }) }}

diff --git a/frontend/src/stores/upload.ts b/frontend/src/stores/upload.ts index 17a29f70..53d96ea9 100644 --- a/frontend/src/stores/upload.ts +++ b/frontend/src/stores/upload.ts @@ -2,7 +2,7 @@ import { defineStore } from "pinia"; import { useFileStore } from "./file"; import { files as api } from "@/api"; import buttons from "@/utils/buttons"; -import { inject, markRaw, ref } from "vue"; +import { computed, inject, markRaw, ref } from "vue"; import * as tus from "@/api/tus"; // TODO: make this into a user setting @@ -71,6 +71,17 @@ export const useUploadStore = defineStore("upload", () => { tus.abortAllUploads(); }; + // + // GETTERS + // + + const pendingUploadCount = computed( + () => + allUploads.value.length - + (lastUpload.value + 1) + + activeUploads.value.size + ); + // // PRIVATE FUNCTIONS // @@ -162,5 +173,8 @@ export const useUploadStore = defineStore("upload", () => { // ACTIONS upload, abort, + + // GETTERS + pendingUploadCount, }; });