From f47c3f4349cb68460dadf1fc381e3ceb52fe009a Mon Sep 17 00:00:00 2001 From: rohan09-raj Date: Fri, 19 Aug 2022 21:06:48 +0530 Subject: minor fixes --- client/src/components/BackButton/BackButton.jsx | 2 +- .../src/components/Card/CardAgreement.module.css | 7 +- .../LanguageSelect/locales/en/translation.json | 1 + .../LanguageSelect/locales/hi/translation.json | 1 + .../src/components/SubmitButton/SubmitButton.jsx | 10 +- client/src/constants/userData.js | 25 +++++ client/src/context/User.js | 53 +-------- .../src/pages/Enrollment/Agreement/Agreement.jsx | 110 ++++++++++++------- .../Enrollment/Agreement/Agreement.module.css | 13 ++- .../Enrollment/DocumentScanner/DocumentScanner.jsx | 120 ++++++++++++--------- .../DocumentScanner/DocumentScanner.module.css | 13 ++- .../src/pages/Enrollment/DocumentScanner/styles.js | 7 ++ client/src/pages/Enrollment/Enrollment.jsx | 57 +++++++--- client/src/pages/Enrollment/FormOne/FormOne.jsx | 26 ++++- client/src/pages/Update/FormOne/FormOne.jsx | 1 - 15 files changed, 272 insertions(+), 174 deletions(-) create mode 100644 client/src/constants/userData.js create mode 100644 client/src/pages/Enrollment/DocumentScanner/styles.js (limited to 'client/src') diff --git a/client/src/components/BackButton/BackButton.jsx b/client/src/components/BackButton/BackButton.jsx index c02681b..ff99eb6 100644 --- a/client/src/components/BackButton/BackButton.jsx +++ b/client/src/components/BackButton/BackButton.jsx @@ -12,7 +12,7 @@ const BackButton = ({ onClick, onChange }) => { > diff --git a/client/src/components/Card/CardAgreement.module.css b/client/src/components/Card/CardAgreement.module.css index ed36cba..c9bdae8 100644 --- a/client/src/components/Card/CardAgreement.module.css +++ b/client/src/components/Card/CardAgreement.module.css @@ -1,8 +1,8 @@ @import '../../styles/GlobalVariables.css'; .card { - height: 400px; - width: 900px; + height: 300px; + width: 600px; display: flex; flex-direction: column; justify-content: center; @@ -10,6 +10,7 @@ border: 3px solid var(--color-black); border-radius: 10px; margin: 30px; + padding: 20px; transition: 0.2s all; cursor: pointer; color: var(--color-black); @@ -27,4 +28,4 @@ .card__image { padding-bottom: 32px; -} \ No newline at end of file +} diff --git a/client/src/components/LanguageSelect/locales/en/translation.json b/client/src/components/LanguageSelect/locales/en/translation.json index 8603116..254b3db 100644 --- a/client/src/components/LanguageSelect/locales/en/translation.json +++ b/client/src/components/LanguageSelect/locales/en/translation.json @@ -55,6 +55,7 @@ "PLEASE_VERIFY_YOUR_IDENTITY": "Please verify your identity by receiving the OTP on your registered mobile number xxxxxxxx15", "SEND_OTP": "Send OTP", "RESEND": "Resend", + "VERIFY_OTP": "Verify OTP", "PLEASE_SELECT_YOUR_RESIDENCY": "Please select your residency", "PLEASE_ENTER_YOUR_NAME": "Please enter your name", "PLEASE_ENTER_VALID_NAME": "Please enter valid name", diff --git a/client/src/components/LanguageSelect/locales/hi/translation.json b/client/src/components/LanguageSelect/locales/hi/translation.json index 3c9db8a..a5ce358 100644 --- a/client/src/components/LanguageSelect/locales/hi/translation.json +++ b/client/src/components/LanguageSelect/locales/hi/translation.json @@ -55,6 +55,7 @@ "PLEASE_VERIFY_YOUR_IDENTITY": "कृपया अपने पंजीकृत मोबाइल नंबर xxxxxxxx15 पर ओटीपी प्राप्त करके अपनी पहचान सत्यापित करें", "SEND_OTP": "ओटीपी भेजें", "RESEND": "फिर से भेजें", + "VERIFY_OTP": "ओटीपी की पुष्टि करें", "PLEASE_SELECT_YOUR_RESIDENCY": "कृपया अपना निवास चुनें", "PLEASE_ENTER_VALID_EMAIL": "कृपया मान्य ईमेल दर्ज करें", "PLEASE_SELECT_YOUR_COUNTRY": "कृपया अपना देश चुनें", diff --git a/client/src/components/SubmitButton/SubmitButton.jsx b/client/src/components/SubmitButton/SubmitButton.jsx index bcf3543..ed796d9 100644 --- a/client/src/components/SubmitButton/SubmitButton.jsx +++ b/client/src/components/SubmitButton/SubmitButton.jsx @@ -1,10 +1,16 @@ import React from 'react' import styles from './SubmitButton.module.css' -const SubmitButton = ({ onClick, onChange }) => { +const SubmitButton = ({ onClick, onChange, disabled }) => { return ( <> - - - - - - +
+ {t('PLEASE_VERIFY_YOUR_IDENTITY')} + + {show && ( + <> + setOtp(e.target.value)} + placeholder="XXXXXX" + /> + + + )} +
) } 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; +} diff --git a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx index f65051e..20ea7d2 100644 --- a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx +++ b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.jsx @@ -15,6 +15,8 @@ import { import SubmitButton from '../../../components/SubmitButton/SubmitButton' import { useTranslation } from 'react-i18next' import { userContext } from '../../../context/User' +import { toast } from 'react-toastify' +import { useStyles } from './styles' const DocumentScanner = () => { const { t } = useTranslation() @@ -27,10 +29,9 @@ const DocumentScanner = () => { const [documents, setDocuments] = useState({ POI: '', POA: '', DOB: '' }) const [activeStep, setActiveStep] = React.useState(0) - // eslint-disable-next-line no-unused-vars - const [doccu, setDoccu] = useState({ POI: '', POA: '', DOB: '' }) + const [doccu] = useState({ POI: '', POA: '', DOB: '' }) - console.log(documents) + const classes = useStyles() const webcamRef = React.useRef(null) @@ -49,7 +50,15 @@ const DocumentScanner = () => { if (activeStep === steps.length - 1) { setUserData({ ...userData, documents: documents }) } - setActiveStep((prevActiveStep) => prevActiveStep + 1) + if ( + !userData.documents.POI || + !userData.documents.POA || + !userData.documents.DOB + ) { + toast.error(t('SCAN_YOUR_DOCUMENT')) + } else { + setActiveStep((prevActiveStep) => prevActiveStep + 1) + } } const handleBack = () => { @@ -78,7 +87,7 @@ const DocumentScanner = () => { )} - + - - - - - )} - +
+ + + {steps.map((label, index) => { + const stepProps = {} + const labelProps = {} + return ( + + + {label} + + + ) + })} + + {activeStep === steps.length ? ( + + + {t('ALL_STEPS_COMPLETED')} + + + + + + ) : ( + + {activeStep === 0 ? ( + + ) : activeStep === 1 ? ( + + ) : ( + activeStep === 2 && + )} + + + + + + + )} + +
) } diff --git a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css index ec59f61..58baaa8 100644 --- a/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css +++ b/client/src/pages/Enrollment/DocumentScanner/DocumentScanner.module.css @@ -1,5 +1,10 @@ .card__container { - display: flex; - justify-content: center; - } - \ No newline at end of file + display: flex; + justify-content: center; + margin: 20px; +} + +.stepper__container { + display: flex; + justify-content: center; +} diff --git a/client/src/pages/Enrollment/DocumentScanner/styles.js b/client/src/pages/Enrollment/DocumentScanner/styles.js new file mode 100644 index 0000000..0b7e915 --- /dev/null +++ b/client/src/pages/Enrollment/DocumentScanner/styles.js @@ -0,0 +1,7 @@ +import { makeStyles } from '@mui/styles' + +export const useStyles = makeStyles({ + stepLabel: { + fontSize: '20px' + } +}) diff --git a/client/src/pages/Enrollment/Enrollment.jsx b/client/src/pages/Enrollment/Enrollment.jsx index 59211f9..f180667 100644 --- a/client/src/pages/Enrollment/Enrollment.jsx +++ b/client/src/pages/Enrollment/Enrollment.jsx @@ -23,12 +23,15 @@ import { ToastContainer, toast } from 'react-toastify' import 'react-toastify/dist/ReactToastify.css' import { userContext } from '../../context/User' import { useNavigate } from 'react-router-dom' +import BackButton from '../../components/BackButton/BackButton' +import { initialUserData } from '../../constants/userData' const Enrollment = () => { const { t } = useTranslation() const [page, setPage] = useState(0) const { userData, setUserData } = userContext() const navigate = useNavigate() + const [unverified, setUnverified] = useState(true) const { mutate } = useMutation((payload) => createUser(payload)) @@ -42,6 +45,8 @@ const Enrollment = () => { toast.error(t('PLEASE_ENTER_VALID_NAME')) } else if (userData.gender === '') { toast.error(t('PLEASE_SELECT_YOUR_GENDER')) + } else if (userData.dob === '') { + toast.error(t('PLEASE_SELECT_YOUR_DOB')) } else { setPage(page + 1) } @@ -82,13 +87,17 @@ const Enrollment = () => { setPage(page + 1) } } else if (page === 3) { - setPage(page + 1) + if (!userData.photo) { + toast.error(t('PLEASE_CAPTURE_PHOTOGRAPH')) + } else { + setPage(page + 1) + } } else if (page === 4) { - if (userData.documents.POI === '') { + if (!userData.documents.POI) { toast.error(t('PLEASE_TAKE_THE_PICTURE_OF_THE_PROOF_OF_IDENTITY')) - } else if (userData.documents.POA === '') { + } else if (!userData.documents.POA) { toast.error(t('PLEASE_TAKE_THE_PICTURE_OF_THE_PROOF_OF_ADDRESS')) - } else if (userData.documents.DOB === '') { + } else if (!userData.documents.DOB) { toast.error(t('PLEASE_TAKE_THE_PICTURE_OF_THE_PROOF_OF_DATE_OF_BIRTH')) } else { setPage(page + 1) @@ -118,7 +127,7 @@ const Enrollment = () => { }, { onSuccess: () => { - setUserData(null) + setUserData(initialUserData) navigate('/') } } @@ -145,7 +154,9 @@ const Enrollment = () => { case 6: return case 7: - return + return ( + + ) case 8: return default: @@ -156,25 +167,39 @@ const Enrollment = () => { const conditionalButton = () => { switch (page) { case 0: - return Next + return ( + <> + + { + setUserData(initialUserData) + navigate('/') + }} + /> + + ) case 1: - return Next case 2: - return Next case 3: - return Next case 4: - return Next case 5: - return Next case 6: - return Next + return ( + <> + + setPage(page - 1)} /> + + ) case 7: - return Submit + return ( + <> + + setPage(page - 1)} /> + + ) case 8: - return Exit default: - return Next + return } } return ( diff --git a/client/src/pages/Enrollment/FormOne/FormOne.jsx b/client/src/pages/Enrollment/FormOne/FormOne.jsx index 2754660..f601921 100644 --- a/client/src/pages/Enrollment/FormOne/FormOne.jsx +++ b/client/src/pages/Enrollment/FormOne/FormOne.jsx @@ -1,4 +1,4 @@ -import React from 'react' +import React, { useEffect } from 'react' import { useTranslation } from 'react-i18next' import Header from '../../../components/Header/Header' import Input from '../../../components/Input/Input' @@ -10,6 +10,26 @@ const FormOne = () => { const { t } = useTranslation() const { userData, setUserData } = userContext() + useEffect(() => { + switch (userData.gender) { + case 'Male': + document.getElementById('male').checked = 'checked' + break + case 'Female': + document.getElementById('female').checked = 'checked' + break + case 'Other': + document.getElementById('other').checked = 'checked' + break + } + + if (userData.indianResident === true) { + document.getElementById('indian').checked = 'checked' + } else if (userData.indianResident === false) { + document.getElementById('non-resident-indian').checked = 'checked' + } + }, [userData.gender]) + return ( <>
@@ -34,7 +54,7 @@ const FormOne = () => { { @@ -91,7 +111,7 @@ const FormOne = () => { image={`${process.env.PUBLIC_URL}/assets/images/female.svg`} /> { } useEffect(() => { - console.log(userData.gender) document.getElementById(`${userData.gender}`).checked = 'checked' }, [userData.gender]) -- cgit