diff --git a/src/components/UploadProduct/index.jsx b/src/components/UploadProduct/index.jsx index 3d9c3d0..67cd95b 100644 --- a/src/components/UploadProduct/index.jsx +++ b/src/components/UploadProduct/index.jsx @@ -10,6 +10,8 @@ import usersService from "../../services/UsersService"; export default function UploadProduct() { const apiCall = new usersService() + const [requestStatus, setRequestStatus] = useState({loading: false, status: null, message: ''}) // DETERMINES THE STATUS OF UPLOAD + // preview modal const [previewProductModal, setPreviewProductModal] = useState(false); // cancelUploadModal @@ -86,7 +88,7 @@ export default function UploadProduct() { // most importend imgRead.readAsDataURL(e.target.files[0]); } - if (file) { + if (file.length) { if (file[0].name) { setSelectedFile(file?.[0].name); setImgDetails(file?.[0]) @@ -100,7 +102,6 @@ export default function UploadProduct() { } }; - const [requestStatus, setRequestStatus] = useState({loading: false, status: null, message: ''}) //FUNCTION TO UPLOAD ITEM const uploadItem = () => { let errorArr = [] @@ -119,13 +120,6 @@ export default function UploadProduct() { // TEST TO SEE IF FIELDS ARE EMPTY if(errorArr.length){ let message = '' - // for(let i = 0; i{ - setRequestStatus({loading: false, status: true, message: 'Bad'}) - },3000) - setTimeout(()=>{ - setRequestStatus({loading: false, status: false, message: ''}) - },7000) + setRequestStatus({loading: true, status: null, message: ''}) // SETS REQUEST LOADING TRUE + apiCall.sendFiles(reqData).then(res=>{ + if(res.status != 200 || res.data.internal_return < 0){ + return setRequestStatus({loading: false, status: false, message: 'Something went wrong, try again'}) + } + setRequestStatus({loading: false, status: true, message: 'Uploaded successfully'}) + setImg('') + setItemName('') + setDescription('') + }).catch(error=>{ + setRequestStatus({loading: false, status: false, message: 'Network error, try again'}) + }).finally(()=>{ + setTimeout(()=>{ + setRequestStatus({loading: false, status: false, message: ''}) + },5000) + }) } // drop event