import React, { useState } from 'react' import Header from '../../../components/Header/Header' import CardAgreement from '../../../components/Card/CardAgreement' import styles from './Agreement.module.css' import Input from '../../../components/Input/Input' import { useNavigate } from 'react-router-dom' import SubmitButton from '../../../components/SubmitButton/SubmitButton' import { Button, Typography } from '@mui/material' import { useTranslation } from 'react-i18next' import { sendOTP, updateUser, sendMessage } from '../../../services/apiservice' import { userContext } from '../../../context/User' import { useMutation } from 'react-query' import { ToastContainer, toast } from 'react-toastify' import PopUpModal from '../../../components/Modal/Modal' import 'react-toastify/dist/ReactToastify.css' import Error from '../../Error/Error' import Spinner from '../../../components/Spinner/Spinner' import AudioAutoplay from '../../../components/AudioAutoplay/AudioAutoplay' const Agreement = () => { const { t } = useTranslation() const navigate = useNavigate() const [otp, setOtp] = useState() const [unverified, setUnverified] = useState(true) const [disabled, setDisabled] = useState(false) const [finalDisable, setFinalDisable] = useState(false) const [show, setShow] = useState(false) const { userData } = userContext() const updateUse = useMutation( () => updateUser(userData._id, { ...userData, isUpdating: true, verified: false }), { onSuccess: () => { setConfirm.mutate({ mobile: `+91${userData.mobile}`, id: userData._id }) }, onLoading: () => { return }, onError: () => { return } } ) const setConfirm = useMutation( (payload) => { sendMessage(payload) }, { onSuccess: () => { navigate('/update/final-slip') } } ) const { data, mutate } = useMutation(() => sendOTP({ mobile: `+91${userData?.mobile}` }) ) const verifyOTP = () => { if (data?.data?.otpCode === Number(otp)) { console.log('Disabled: ', disabled, 'Final Disable: ', finalDisable) setFinalDisable(true) setDisabled(true) setShow(false) setUnverified(false) toast.success(t('OTP_VERIFIED!')) } else { toast.error(t('INCORRECT_OTP')) } } const sendResendOTP = () => { setTimeout(() => { if (finalDisable === false) { console.log('Disabled: ', disabled, 'Final Disable: ', finalDisable) setDisabled(false) } }, 30000) } const description = [ 'CLICK_ON_SEND_OTP', 'YOU_WILL_RECIEVE_AN_OTP_ON_YOUR_MOBILE_NUMBER', 'YOU_CAN_RESEND_THE_OTP_AFTER_30_SECONDS_IF_YOU_HAVENT_RECEIVED_IT_YET', 'CLICK_ON_VERIFY_OTP_TO_VERIFY_YOUR_MOBILE_NUMBER' ] return ( <>
    {description.map((item) => (
  • {t(item)}
  • ))}
} />
{t('PLEASE_VERIFY_YOUR_IDENTITY')} {show && ( <> setOtp(e.target.value)} maxLength="6" placeholder="XXXXXX" /> )}
{ if (unverified) { toast.error(t('PLEASE_VERIFY_OTP')) } else { updateUse.mutate() } }} /> ) } export default Agreement