diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 9627b84dd..93d42f810 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -15374,6 +15374,27 @@ + + sizelimit + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + diff --git a/client/src/components/email-documents/email-documents.component.jsx b/client/src/components/email-documents/email-documents.component.jsx index abbcfea0d..7b3f393ae 100644 --- a/client/src/components/email-documents/email-documents.component.jsx +++ b/client/src/components/email-documents/email-documents.component.jsx @@ -38,6 +38,12 @@ export function EmailDocumentsComponent({ nextFetchPolicy: "network-only", }); + console.log( + selectedMedia && + selectedMedia + .filter((s) => s.isSelected) + .reduce((acc, val) => (acc = acc + val.size), 0) + ); return (
{loading && } @@ -45,6 +51,12 @@ export function EmailDocumentsComponent({ {selectedMedia.filter((s) => s.isSelected).length >= 10 ? (
{t("messaging.labels.maxtenimages")}
) : null} + {selectedMedia && + selectedMedia + .filter((s) => s.isSelected) + .reduce((acc, val) => (acc = acc + val.size), 0) >= 9961472 ? ( +
{t("general.errors.sizelimit")}
+ ) : null} {data && ( ({ + validator(rule, value) { + const totalSize = value.reduce( + (acc, val) => (acc = acc + val.size), + 0 + ); + + const limit = 9961472; + + if (totalSize > limit) { + return Promise.reject(t("general.errors.sizelimit")); + } + return Promise.resolve(); + }, + }), + ]} > getDerivedStateFromError -> error", error); + return { hasErrored: true, error: error }; } diff --git a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.external.component.jsx b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.external.component.jsx index 278fe59d9..fe23d8ceb 100644 --- a/client/src/components/jobs-documents-gallery/jobs-documents-gallery.external.component.jsx +++ b/client/src/components/jobs-documents-gallery/jobs-documents-gallery.external.component.jsx @@ -25,6 +25,7 @@ function JobsDocumentGalleryExternal({ id: value.id, type: value.type, tags: [{ value: value.type, title: value.type }], + size: value.size, }); } diff --git a/client/src/pages/manage/manage.page.component.jsx b/client/src/pages/manage/manage.page.component.jsx index 82017ffae..97f8cb71c 100644 --- a/client/src/pages/manage/manage.page.component.jsx +++ b/client/src/pages/manage/manage.page.component.jsx @@ -24,6 +24,8 @@ import { selectBodyshop, selectInstanceConflict, } from "../../redux/user/user.selectors"; +import * as Sentry from "@sentry/react"; + import "./manage.page.styles.scss"; const ManageRootPage = lazy(() => @@ -407,7 +409,10 @@ export function Manage({ match, conflict, bodyshop }) { - {PageContent} + } showDialog> + {PageContent} + +