summaryrefslogtreecommitdiff
path: root/client/src/pages/Enrollment/Agreement
diff options
context:
space:
mode:
authorrohan09-raj <[email protected]>2022-08-19 21:06:48 +0530
committerrohan09-raj <[email protected]>2022-08-19 21:06:48 +0530
commitf47c3f4349cb68460dadf1fc381e3ceb52fe009a (patch)
tree9961cc4ba587f9be8514adfce9c082cb8c3ad638 /client/src/pages/Enrollment/Agreement
parent953dd3c954411d92811415cc9be4a7c7d76ab185 (diff)
minor fixes
Diffstat (limited to 'client/src/pages/Enrollment/Agreement')
-rw-r--r--client/src/pages/Enrollment/Agreement/Agreement.jsx110
-rw-r--r--client/src/pages/Enrollment/Agreement/Agreement.module.css13
2 files changed, 81 insertions, 42 deletions
diff --git a/client/src/pages/Enrollment/Agreement/Agreement.jsx b/client/src/pages/Enrollment/Agreement/Agreement.jsx
index d5690f3..cf74d46 100644
--- a/client/src/pages/Enrollment/Agreement/Agreement.jsx
+++ b/client/src/pages/Enrollment/Agreement/Agreement.jsx
@@ -3,71 +3,103 @@ 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 { Grid, Button } from '@mui/material'
+import { Button, Typography } from '@mui/material'
import { useTranslation } from 'react-i18next'
import { sendOTP } from '../../../services/apiservice'
import { userContext } from '../../../context/User'
import { useMutation } from 'react-query'
+import { ToastContainer, toast } from 'react-toastify'
+import 'react-toastify/dist/ReactToastify.css'
-const Agreement = () => {
+const Agreement = ({ unverified, setUnverified }) => {
const { t } = useTranslation()
- const [otp, setOtp] = useState(0)
+ const [otp, setOtp] = useState()
+ const [disabled, setDisabled] = useState(false)
+ const [finalDisable, setFinalDisable] = useState(false)
+ const [show, setShow] = useState(false)
const { userData } = userContext()
console.log(userData)
const { data, mutate } = useMutation(() =>
sendOTP({ mobile: `+91${userData?.mobile}` })
)
+ console.log('Disabled: ', disabled, 'Final Disable: ', finalDisable)
+
const verifyOTP = () => {
if (data?.data?.otpCode === Number(otp)) {
- console.log('Verified', data?.data?.otpCode, otp)
+ console.log('Disabled: ', disabled, 'Final Disable: ', finalDisable)
+ setFinalDisable(true)
+ setDisabled(true)
+ setShow(false)
+ setUnverified(false)
+ toast.success(t('OTP_VERIFIED!'))
} else {
- console.log(typeof otp)
- console.log(typeof data?.data?.otpCode)
- console.log('Incorrect OTP', data?.data?.otpCode, otp)
+ toast.error(t('INCORRECT_OTP!'))
}
}
+ const sendResendOTP = () => {
+ setTimeout(() => {
+ if (finalDisable === false) {
+ console.log('Disabled: ', disabled, 'Final Disable: ', finalDisable)
+ setDisabled(false)
+ }
+ }, 30000)
+ }
+
return (
<>
+ <ToastContainer
+ autoClose={1000}
+ hideProgressBar={true}
+ theme={'colored'}
+ />
<Header subheading={t('ENROLLMENT')} />
<div className={styles.card__container}>
<CardAgreement
image={`${process.env.PUBLIC_URL}/assets/images/agreement.svg`}
/>
</div>
- <Input
- type="number"
- id="otp"
- value={otp}
- label={t('PLEASE_VERIFY_YOUR_IDENTITY')}
- onChange={(e) => setOtp(e.target.value)}
- placeholder="XXXXXX"
- />
- <Grid container columnSpacing={10} justifyContent="center">
- <Grid item>
- <Button
- color="primary"
- size="large"
- type="submit"
- variant="contained"
- onClick={() => mutate()}
- >
- {t('SEND_OTP')}
- </Button>
- </Grid>
- <Grid item>
- <Button
- color="primary"
- size="large"
- type="submit"
- variant="contained"
- onClick={() => verifyOTP()}
- >
- {t('VERIFY_OTP')}
- </Button>
- </Grid>
- </Grid>
+ <div className={styles.card__elements}>
+ <Typography>{t('PLEASE_VERIFY_YOUR_IDENTITY')}</Typography>
+ <Button
+ color="primary"
+ size="large"
+ type="submit"
+ variant="contained"
+ disabled={disabled}
+ onClick={() => {
+ mutate()
+ setDisabled(true)
+ setShow(true)
+ sendResendOTP()
+ }}
+ >
+ {show ? t('RESEND') : t('SEND_OTP')}
+ </Button>
+ {show && (
+ <>
+ <Input
+ type="number"
+ id="otp"
+ value={otp}
+ onChange={(e) => setOtp(e.target.value)}
+ placeholder="XXXXXX"
+ />
+ <Button
+ color="primary"
+ size="large"
+ type="submit"
+ variant="contained"
+ onClick={() => {
+ verifyOTP()
+ }}
+ >
+ {t('VERIFY_OTP')}
+ </Button>
+ </>
+ )}
+ </div>
</>
)
}
diff --git a/client/src/pages/Enrollment/Agreement/Agreement.module.css b/client/src/pages/Enrollment/Agreement/Agreement.module.css
index c618a4d..2580d47 100644
--- a/client/src/pages/Enrollment/Agreement/Agreement.module.css
+++ b/client/src/pages/Enrollment/Agreement/Agreement.module.css
@@ -1,4 +1,11 @@
.card__container {
- display: flex;
- justify-content: center;
- } \ No newline at end of file
+ display: flex;
+ justify-content: center;
+}
+
+.card__elements {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}