diff --git a/client/src/components/jobs-documents-imgproxy-gallery/jobs-document-imgproxy-gallery.download.component.jsx b/client/src/components/jobs-documents-imgproxy-gallery/jobs-document-imgproxy-gallery.download.component.jsx
index b9f8266ff..6590498aa 100644
--- a/client/src/components/jobs-documents-imgproxy-gallery/jobs-document-imgproxy-gallery.download.component.jsx
+++ b/client/src/components/jobs-documents-imgproxy-gallery/jobs-document-imgproxy-gallery.download.component.jsx
@@ -35,16 +35,14 @@ export function JobsDocumentsImgproxyDownloadButton({ galleryImages, identifier,
...galleryImages.other.filter((image) => image.isSelected)
];
- function downloadProgress(progressEvent) {
- setDownload((currentDownloadState) => {
- return {
- downloaded: progressEvent.loaded || 0,
- speed: (progressEvent.loaded || 0) - ((currentDownloadState && currentDownloadState.downloaded) || 0)
- };
- });
- }
+ const downloadProgress = ({ loaded }) => {
+ setDownload((currentDownloadState) => ({
+ downloaded: loaded ?? 0,
+ speed: (loaded ?? 0) - (currentDownloadState?.downloaded ?? 0)
+ }));
+ };
- function standardMediaDownload(bufferData) {
+ const standardMediaDownload = (bufferData) => {
try {
const a = document.createElement("a");
const url = window.URL.createObjectURL(new Blob([bufferData]));
@@ -55,29 +53,26 @@ export function JobsDocumentsImgproxyDownloadButton({ galleryImages, identifier,
setLoading(false);
setDownload(null);
}
- }
+ };
const handleDownload = async () => {
logImEXEvent("jobs_documents_download");
setLoading(true);
try {
- const response = await axios({
+ const { data } = await axios({
url: "/media/imgproxy/download",
method: "POST",
responseType: "blob",
data: { jobId, documentids: imagesToDownload.map((_) => _.id) },
onDownloadProgress: downloadProgress
});
-
- setLoading(false);
- setDownload(null);
-
// Use the response data (Blob) to trigger download
- standardMediaDownload(response.data);
+ standardMediaDownload(data);
} catch {
+ // handle error (optional)
+ } finally {
setLoading(false);
setDownload(null);
- // handle error (optional)
}
};
diff --git a/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.component.jsx b/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.component.jsx
index 803505436..1c14eb486 100644
--- a/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.component.jsx
+++ b/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.component.jsx
@@ -76,14 +76,14 @@ function JobsDocumentsImgproxyComponent({
+ {!billId && (
+
+ )}
- {!billId && (
-
- )}
{!hasMediaAccess && (
diff --git a/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.delete.component.jsx b/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.delete.component.jsx
index 4701bca67..c11059b35 100644
--- a/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.delete.component.jsx
+++ b/client/src/components/jobs-documents-imgproxy-gallery/jobs-documents-imgproxy-gallery.delete.component.jsx
@@ -67,7 +67,7 @@ export default function JobsDocumentsImgproxyDeleteButton({ galleryImages, delet
okButtonProps={{ danger: true }}
cancelText={t("general.actions.cancel")}
>
-