diff --git a/src/components/UploadProduct/index.jsx b/src/components/UploadProduct/index.jsx index 67cd95b..25a5a80 100644 --- a/src/components/UploadProduct/index.jsx +++ b/src/components/UploadProduct/index.jsx @@ -8,7 +8,7 @@ import ProductUploadField from "./ProductUploadField"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import usersService from "../../services/UsersService"; -export default function UploadProduct() { +export default function UploadProduct({uploadTypes}) { const apiCall = new usersService() const [requestStatus, setRequestStatus] = useState({loading: false, status: null, message: ''}) // DETERMINES THE STATUS OF UPLOAD @@ -88,7 +88,7 @@ export default function UploadProduct() { // most importend imgRead.readAsDataURL(e.target.files[0]); } - if (file.length) { + if (file?.length) { if (file[0].name) { setSelectedFile(file?.[0].name); setImgDetails(file?.[0]) @@ -134,26 +134,33 @@ export default function UploadProduct() { setRequestStatus({loading: false, status: false, message: ''}) },5000) } - - if(imgDetails.size > 2097152){ // CHECKS IF IMAGE SIZE IS MORE THAN "MB" - setRequestStatus({loading: false, status: null, message: 'Image must be less than 2MB'}) - return setTimeout(()=>{ - setRequestStatus({loading: false, status: false, message: ''}) - },5000) - } let reqData = { // PAYLOAD FOR API CALL - file_name: selectedFile, + file_name: selectedFile.substring(0,21).replace(/ /gi, ""),//selectedFile.replace(/[ -]/gi, ""), file_size: imgDetails.size, file_type: imgDetails.type, file_data: img, - item_name: itemName, - item_description: description, + title: itemName, + description: description, msg_type: 'FILE', // action: 'WRENCHBOARD_RESOURCE_MYFILES', action: 11307 } - // console.log('TESTING', reqData) + + if(!isValidFile(imgDetails, uploadTypes?.data)){ // FUNCTION TO CHECK IF FILE TYPE IS VALID + setRequestStatus({loading: false, status: null, message: 'File type not supported'}) + return setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + },5000) + } + + let validSize = isValidFileSize(imgDetails, uploadTypes?.data) // FUNCTION TO CHECK IF FILE SIZE IS VALID + if(!validSize.status){ + setRequestStatus({loading: false, status: null, message: validSize.message}) + return setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + },5000) + } //API CALL TO UPLOAD COMES HERE setRequestStatus({loading: true, status: null, message: ''}) // SETS REQUEST LOADING TRUE @@ -263,8 +270,15 @@ export default function UploadProduct() { Image,Video,Audio or Documents
- File types supported: JPG, PNG, GIP, SVG, MP4, MP3, WEBM, - OGG, GLB, GLTF + File types supported: {uploadTypes.loading && loading...} + {/* JPG, PNG, GIP, SVG, MP4, MP3, WEBM, OGG, GLB, GLTF */} + {uploadTypes?.data?.length ? + uploadTypes?.data?.map((item, index) => { + return index != uploadTypes.data.length-1 ? `${item.name}, ` : `${item.name}` + }) + : + null + }