summaryrefslogtreecommitdiff
path: root/client/src/pages/Enrollment/Enrollment.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/pages/Enrollment/Enrollment.jsx')
-rw-r--r--client/src/pages/Enrollment/Enrollment.jsx129
1 files changed, 58 insertions, 71 deletions
diff --git a/client/src/pages/Enrollment/Enrollment.jsx b/client/src/pages/Enrollment/Enrollment.jsx
index c4f5b85..59211f9 100644
--- a/client/src/pages/Enrollment/Enrollment.jsx
+++ b/client/src/pages/Enrollment/Enrollment.jsx
@@ -21,84 +21,62 @@ import { createUser } from '../../services/apiservice'
import { useTranslation } from 'react-i18next'
import { ToastContainer, toast } from 'react-toastify'
import 'react-toastify/dist/ReactToastify.css'
+import { userContext } from '../../context/User'
+import { useNavigate } from 'react-router-dom'
const Enrollment = () => {
const { t } = useTranslation()
const [page, setPage] = useState(0)
-
- const [formData, setFormData] = useState({
- indianResident: '',
- name: '',
- gender: '',
- dob: new Date().toISOString().slice(0, 10),
- mobile: '',
- email: '',
- address: {
- houseNo: '',
- street: '',
- locality: '',
- landmark: '',
- village: '',
- district: {},
- state: {},
- postOffice: '',
- pincode: ''
- },
- photo: '',
- documents: {
- POI: '',
- POA: '',
- DOB: ''
- }
- })
+ const { userData, setUserData } = userContext()
+ const navigate = useNavigate()
const { mutate } = useMutation((payload) => createUser(payload))
const handleSubmit = () => {
if (page === 0) {
- if (formData.indianResident === '') {
+ if (userData.indianResident === '') {
toast.error(t('PLEASE_SELECT_YOUR_RESIDENCY'))
- } else if (formData.name === '' || formData.name.length < 1) {
+ } else if (userData.name === '' || userData.name.length < 1) {
toast.error(t('PLEASE_ENTER_YOUR_NAME'))
- } else if (!validString.test(formData.name)) {
+ } else if (!validString.test(userData.name)) {
toast.error(t('PLEASE_ENTER_VALID_NAME'))
- } else if (formData.gender === '') {
+ } else if (userData.gender === '') {
toast.error(t('PLEASE_SELECT_YOUR_GENDER'))
} else {
setPage(page + 1)
}
} else if (page === 1) {
- if (formData.mobile === '') {
+ if (userData.mobile === '') {
toast.error(t('PLEASE_ENTER_YOUR_MOBILE_NUMBER'))
- } else if (!validMobileNumber.test(formData.mobile)) {
+ } else if (!validMobileNumber.test(userData.mobile)) {
toast.error(t('PLEASE_ENTER_VALID_MOBILE_NUMBER'))
- } else if (formData.email === '') {
+ } else if (userData.email === '') {
toast.error(t('PLEASE_ENTER_YOUR_EMAIL'))
- } else if (!validEmail.test(formData.email)) {
+ } else if (!validEmail.test(userData.email)) {
toast.error(t('PLEASE_ENTER_VALID_EMAIL'))
} else {
setPage(page + 1)
}
} else if (page === 2) {
- if (formData.address.state.name === '') {
+ if (!userData.address.state.name) {
toast.error(t('PLEASE_SELECT_YOUR_STATE'))
- } else if (formData.address.district.name === '') {
+ } else if (!userData.address.district.name) {
toast.error(t('PLEASE_SELECT_YOUR_DISTRICT'))
- } else if (formData.address.village === '') {
+ } else if (userData.address.village === '') {
toast.error(t('PLEASE_ENTER_YOUR_VILLAGE'))
- } else if (formData.address.houseNo === '') {
+ } else if (userData.address.houseNo === '') {
toast.error(t('PLEASE_ENTER_YOUR_HOUSE_NUMBER'))
- } else if (formData.address.street === '') {
+ } else if (userData.address.street === '') {
toast.error(t('PLEASE_ENTER_YOUR_STREET'))
- } else if (formData.address.locality === '') {
+ } else if (userData.address.locality === '') {
toast.error(t('PLEASE_ENTER_YOUR_LOCALITY'))
- } else if (formData.address.postOffice === '') {
+ } else if (userData.address.postOffice === '') {
toast.error(t('PLEASE_ENTER_YOUR_AREA_POST_OFFICE'))
- } else if (formData.address.landmark === '') {
+ } else if (userData.address.landmark === '') {
toast.error(t('PLEASE_ENTER_NEAREST_LANDMARK'))
- } else if (formData.address.pincode === '') {
+ } else if (userData.address.pincode === '') {
toast.error(t('PLEASE_ENTER_YOUR_AREA_PINCODE'))
- } else if (!validPincode.test(formData.address.pincode)) {
+ } else if (!validPincode.test(userData.address.pincode)) {
toast.error(t('PLEASE_ENTER_VALID_PINCODE'))
} else {
setPage(page + 1)
@@ -106,11 +84,11 @@ const Enrollment = () => {
} else if (page === 3) {
setPage(page + 1)
} else if (page === 4) {
- if (formData.documents.POI === '') {
+ if (userData.documents.POI === '') {
toast.error(t('PLEASE_TAKE_THE_PICTURE_OF_THE_PROOF_OF_IDENTITY'))
- } else if (formData.documents.POA === '') {
+ } else if (userData.documents.POA === '') {
toast.error(t('PLEASE_TAKE_THE_PICTURE_OF_THE_PROOF_OF_ADDRESS'))
- } else if (formData.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)
@@ -122,45 +100,54 @@ const Enrollment = () => {
} else if (page === 7) {
setPage(page + 1)
} else if (page === 8) {
- mutate({
- indianResident: formData.indianResident,
- name: formData.name,
- gender: formData.gender,
- dob: formData.dob,
- mobile: formData.mobile,
- email: formData.email,
- address: formData.address,
- photo: formData.photo,
- documents: {
- POI: formData.documents.POI,
- POA: formData.documents.POA,
- DOB: formData.documents.DOB
+ mutate(
+ {
+ indianResident: userData.indianResident,
+ name: userData.name,
+ gender: userData.gender,
+ dob: userData.dob,
+ mobile: userData.mobile,
+ email: userData.email,
+ address: userData.address,
+ photo: userData.photo,
+ documents: {
+ POI: userData.documents.POI,
+ POA: userData.documents.POA,
+ DOB: userData.documents.DOB
+ }
+ },
+ {
+ onSuccess: () => {
+ setUserData(null)
+ navigate('/')
+ }
}
- })
- setPage(page + 1)
+ )
}
}
+ console.log(userData)
+
const conditionalComponent = () => {
switch (page) {
case 0:
- return <FormOne formData={formData} setFormData={setFormData} />
+ return <FormOne />
case 1:
- return <FormTwo formData={formData} setFormData={setFormData} />
+ return <FormTwo />
case 2:
- return <Address formData={formData} setFormData={setFormData} />
+ return <Address />
case 3:
- return <PhotoCapture formData={formData} setFormData={setFormData} />
+ return <PhotoCapture />
case 4:
- return <DocumentScanner formData={formData} setFormData={setFormData} />
+ return <DocumentScanner />
case 5:
- return <IrisScan formData={formData} setFormData={setFormData} />
+ return <IrisScan />
case 6:
- return <Fingerprint formData={formData} setFormData={setFormData} />
+ return <Fingerprint />
case 7:
- return <Agreement formData={formData} setFormData={setFormData} />
+ return <Agreement />
case 8:
- return <FinalSlip formData={formData} setFormData={setFormData} />
+ return <FinalSlip />
default:
return <Home />
}