export const getThumbnailIconByMimeType = (fileType) => { switch (fileType) { case "text/html": return "/assets/images/documenttypes/html.png"; case "text/plain": return "/assets/images/documenttypes/txt.png"; case "application/msword": return "/assets/images/documenttypes/doc.png"; case "application/pdf": return "/assets/images/documenttypes/pdf.png"; case "application/vnd.openxmlformats-officedocument.wordprocessingml.document": return "/assets/images/documenttypes/docx.png"; case "text/csv": return "/assets/images/documenttypes/csv.png"; case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": return "/assets/images/documenttypes/xlsx.png"; case "image/jpeg": return "/assets/images/documenttypes/jpg.png"; case "image/png": return "/assets/images/documenttypes/png.png"; default: return "/assets/images/documenttypes/default.png"; } }; export const getDocumentTypePrefix = (docCode) => { const repDate = new Date(); let day = repDate.getDate(); let month = repDate.getMonth() + 1; let year = repDate.getFullYear(); const pdfFileNameDateStamp = year + "-" + ("0" + month).slice(-2) + "-" + ("0" + day).slice(-2); switch (docCode) { case "000000": return pdfFileNameDateStamp + "_-_Statement_of_Case"; case "000001": return pdfFileNameDateStamp + "_-_Application_Form"; case "000002": return pdfFileNameDateStamp + "_-_Site_Ownership_Certificate"; case "000003": return pdfFileNameDateStamp + "_-_Decision_Notice"; case "000004": return pdfFileNameDateStamp + "_-_Site_Location_Plan"; case "000005": return pdfFileNameDateStamp + "_-_Plans_Drawing_Documents"; case "000006": return ( pdfFileNameDateStamp + "_-_Additional_Plans_Drawings_Documents" ); case "000007": return pdfFileNameDateStamp + "_-_Design_and_Access_Statement"; case "000008": return pdfFileNameDateStamp + "_-_NSB_LPA_Additional_Documents"; case "000009": return pdfFileNameDateStamp + "_-_LPA_Correspondence"; case "000010": return pdfFileNameDateStamp + "_-_LPA_Original_Permission"; case "000011": return pdfFileNameDateStamp + "_-_LPA's_Registration_Letter"; case "000012": return pdfFileNameDateStamp + "_-_Environmental_Statement"; case "000013": return pdfFileNameDateStamp + "_-_Cost_of_Application"; case "000014": return pdfFileNameDateStamp + "_-_Other_Relevant_Material"; case "000015": return ( pdfFileNameDateStamp + "_-_S106_Agreement_or_Unilateral_Undertaking" ); default: return pdfFileNameDateStamp + "_-_000000_-_"; } }; const FILENAME_ALLOWED = /^[A-Za-z0-9 ._\-:()—']+$/; export const validateUploadFilename = ( file, t, invalidFilenameLabelKey = "newappeal:new-appeal-fileupload-file-error-invalid-filename-label" ) => { const name = file.name; if (name.includes("#")) { return { code: "filename-invalid-chars", message: `${name} ${t(invalidFilenameLabelKey)}` }; } if (!FILENAME_ALLOWED.test(name)) { return { code: "filename-invalid-chars", message: `${name} ${t(invalidFilenameLabelKey)}` }; } if (/[<>"/\\|?*]/.test(name)) { return { code: "filename-invalid-chars", message: `${name} ${t(invalidFilenameLabelKey)}` }; } return null; };