diff --git a/web/src/lib/stores/upload.ts b/web/src/lib/stores/upload.ts index 8e775b7b79..b36a2e5e70 100644 --- a/web/src/lib/stores/upload.ts +++ b/web/src/lib/stores/upload.ts @@ -80,7 +80,34 @@ function createUploadStore() { }; const removeItem = (id: string) => { - uploadAssets.update((uploadingAsset) => uploadingAsset.filter((a) => a.id != id)); + uploadAssets.update((uploadingAsset) => { + const assetToRemove = uploadingAsset.find((a) => a.id === id); + if (assetToRemove) { + stats.update((stats) => { + switch (assetToRemove.state) { + case UploadState.DONE: { + stats.success--; + break; + } + + case UploadState.DUPLICATED: { + stats.duplicates--; + break; + } + + case UploadState.ERROR: { + stats.errors--; + break; + } + } + + stats.total--; + return stats; + }); + } + + return uploadingAsset.filter((a) => a.id != id); + }); }; const dismissErrors = () =>