diff --git a/src/views/pages/Kyc/MessageList.js b/src/views/pages/Kyc/MessageList.js index 26b4a7d..04c166a 100644 --- a/src/views/pages/Kyc/MessageList.js +++ b/src/views/pages/Kyc/MessageList.js @@ -2,6 +2,16 @@ import React from 'react' const MessageList = ({ messages }) => { + const formatAMPM = (date) => { + var hours = new Date(date).getHours() + var minutes = new Date(date).getMinutes() + var ampm = hours >= 12 ? 'PM' : 'AM' + hours = hours % 12 + hours = hours ? hours : 12 // the hour '0' should be '12' + minutes = minutes < 10 ? '0' + minutes : minutes + var strTime = hours + ':' + minutes + ' ' + ampm + return strTime + } return ( <> {messages.map((msg, index) => ( @@ -17,7 +27,8 @@ const MessageList = ({ messages }) => { >
{msg.user}
- {msg.replyDate} + {new Date(`${msg.replyDate}`).toDateString()} + , {`${formatAMPM(msg?.replyDate)}`}
{msg.message}
diff --git a/src/views/pages/Kyc/imgModal.js b/src/views/pages/Kyc/imgModal.js new file mode 100644 index 0000000..c9726c8 --- /dev/null +++ b/src/views/pages/Kyc/imgModal.js @@ -0,0 +1,55 @@ +/* eslint-disable react/prop-types */ +import React from 'react' +import { Box, Modal, Typography, IconButton, Button } from '@mui/material' +import CloseIcon from '@mui/icons-material/Close' + +const ImgModal = ({ open, handleClose, imageUrl }) => { + const handleDownload = () => { + const link = document.createElement('a') + link.href = imageUrl + link.download = imageUrl.split('/').pop() + link.click() + } + + return ( + + + + + Document Image + + + + + + + Document + + + + + ) +} + +const modalStyle = { + position: 'absolute', + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)', + bgcolor: 'background.paper', + boxShadow: 24, + p: 4, +} + +export default ImgModal diff --git a/src/views/pages/Kyc/kyc.js b/src/views/pages/Kyc/kyc.js index eab8ecc..7da5176 100644 --- a/src/views/pages/Kyc/kyc.js +++ b/src/views/pages/Kyc/kyc.js @@ -195,55 +195,59 @@ const Kyc = () => { - {filteredRows - .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) - .map((row) => ( - - {row._id} - {row.trade_name} - - {new Date(`${row?.createdAt}`).toDateString()} - , {`${formatAMPM(row?.createdAt)}`} - - {row.status} - - - - - {tabIndex === 0 && ( - <> - - - - - - - - )} - - - ))} + {filteredRows.length !== 0 && + filteredRows + .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) + .map((row) => ( + + {row._id} + {row.trade_name} + + {new Date(`${row?.createdAt}`).toDateString()} + , {`${formatAMPM(row?.createdAt)}`} + + {row.status} + + + + + {tabIndex === 0 && ( + <> + + + + + + + + )} + + + ))} + {filteredRows.length === 0 && ( +
No kyc available
+ )}
diff --git a/src/views/pages/Kyc/kycDetails.js b/src/views/pages/Kyc/kycDetails.js index c28c04a..a489bd4 100644 --- a/src/views/pages/Kyc/kycDetails.js +++ b/src/views/pages/Kyc/kycDetails.js @@ -17,6 +17,7 @@ import Axios from '../../../axios' import { isAutheticated } from '../../../auth' import MessageList from './MessageList' import Swal from 'sweetalert2' +import ImgModal from './imgModal' const KycDetails = () => { const { id } = useParams() @@ -25,6 +26,8 @@ const KycDetails = () => { const [rejectionReason, setRejectionReason] = useState('') const [selectedRowId, setSelectedRowId] = useState(null) const [retailerDetails, setRetailerDetails] = useState(null) + const [openImageModal, setOpenImageModal] = useState(false) + const [selectedImageUrl, setSelectedImageUrl] = useState('') const token = isAutheticated() const navigate = useNavigate() @@ -118,7 +121,7 @@ const KycDetails = () => { `/api/kyc/update/${id}`, { status: 'approved', - user: 'Principal Distributer', // Replace with actual user type + // user: 'Principal Distributer', // Replace with actual user type }, { headers: { @@ -156,6 +159,12 @@ const KycDetails = () => { setOpenApproveModal(true) } + const handleImageClick = (url) => { + setSelectedImageUrl(url) + console.log(selectedImageUrl) + setOpenImageModal(true) + } + if (!retailerDetails) { return Loading... } @@ -229,6 +238,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.pan_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.pan_img.url)} /> Aadhar Number: {retailerDetails.aadhar_number} @@ -237,6 +247,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.aadhar_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.aadhar_img.url)} /> GST Number: {retailerDetails.gst_number} @@ -245,6 +256,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.gst_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.gst_img.url)} /> @@ -255,6 +267,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.pesticide_license_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.pesticide_license_img.url)} /> Fertilizer License (optional): @@ -264,6 +277,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.fertilizer_license_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.fertilizer_license_img.url)} /> ) : ( Img not available @@ -275,6 +289,7 @@ const KycDetails = () => { variant="square" src={retailerDetails.selfie_entrance_img.url} sx={{ width: 100, height: 100, mb: 2 }} + onClick={() => handleImageClick(retailerDetails.selfie_entrance_img.url)} /> @@ -307,7 +322,7 @@ const KycDetails = () => { Resubmitted on:{' '} - {new Date(`${retailerDetails?.createdAt}`).toDateString()} + {new Date(`${retailerDetails?.updatedAt}`).toDateString()} , {`${formatAMPM(retailerDetails?.createdAt)}`} @@ -422,6 +437,11 @@ const KycDetails = () => { )} + setOpenImageModal(false)} + imageUrl={selectedImageUrl} + /> ) }