{"version":3,"sources":["assets/icons/watsapp.png","assets/icons/arrow_point.png","assets/icons/seeding.png","assets/icons/regBanner.jpeg","assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg","assets/icons/down.svg","assets/icons/welcomeBack.jpg","assets/icons/panDob.svg","assets/icons/esignBanner.jpeg","assets/icons/ocvCalenderNew.jpg","assets/icons/profileNavLogo.svg","assets/icons/pdf.png","assets/icons/bankNavLogo.svg","assets/icons/planNavLogo.svg","assets/icons/docNavLogo.svg","assets/icons/ipvNavLogo.svg","assets/icons/esignNavLogo.svg","assets/icons/investNavLogo.svg","assets/icons/profileNavLogoNew.svg","assets/icons/bankNavLogoNew.svg","assets/icons/planNavLogoNew.svg","assets/icons/docNavLogoNew.svg","assets/icons/esignNavLogoNew.svg","assets/icons/investNavLogoNew.svg","assets/icons/shareAdd.jpg","assets/icons/useDiffPan.svg","assets/icons/jpg.png","assets/icons/eye.png","assets/icons/crop.png","assets/docSampleImages/Adhaar_Sample.png","assets/docSampleImages/DLSample.jpg","assets/docSampleImages/passportSample.jpg","assets/docSampleImages/VoterID_Sample.jpg","assets/icons/profileBanner.jpeg","assets/icons/micr.jpg","assets/icons/new_lite.png","assets/icons/mob_new_lite.png","assets/icons/new_elite.png","assets/icons/mob_new_elite.png","assets/pdf/T&C_BrokeragePlan.pdf","assets/pdf/NWIL-Booklet-A5-Nov 2022.pdf","assets/pdf/Disclaimer_DIY.pdf","assets/icons/blueTick.svg","assets/icons/ipv_demo.jpg","assets/icons/finalTick.svg","assets/icons/account-not-found.png","assets/icons/accountAlreadyExists.png","assets/icons/verificationInProgress.png","assets/icons/docsRejected.png","components/types/genericTypes.ts","components/UI/EdelLogoCenter/EdelLogoCenter.tsx","components/utils/constants.ts","components/utils/validation.ts","components/utils/regex.ts","components/UI/InputField/InputField.tsx","components/UI/DropdownSearch/DropdownSearch.tsx","components/Profile/FamilyMember/FamilyMember.tsx","components/UI/Tag/Tag.tsx","components/UI/Radio/Radio.tsx","components/UI/Toggle/Toggle.tsx","components/UI/Loader/Loader.tsx","components/UI/Button/Button.tsx","components/UI/InfoModal/InfoModal.tsx","components/Services/identifyDevice.ts","config/domain.ts","components/utils/errorMessage.ts","components/Services/serviceList.ts","components/Services/mapper/serviceMapper.ts","components/Services/apiServices.ts","components/UI/otpField/otpField.tsx","components/Services/dashboard/profileApiService.ts","components/UI/ErrMsg/ErrMsg.tsx","components/UI/OtpTimer/OtpTimer.tsx","components/Registration/RegOtp/RegOtp.tsx","ErrorCode/ErrorCode.tsx","components/Services/registration/registrationApiService.ts","components/UI/Checkbox/Checkbox.tsx","components/Profile/AddressField/AddressField.tsx","components/Profile/NriDetailForm/NriDetail/NriDetail.tsx","components/Profile/NriDetailForm/NriDetailForm.tsx","components/UI/ProfileImage/ProfileImage.tsx","components/Registration/ShareAdd/ShareAdd.tsx","components/UI/Calender/Calender.tsx","components/Services/registration/digiLockerApiService.ts","components/Services/registration/panDobApiService.ts","components/Services/gtmService.ts","customHooks/useQuery.js","config/cleverTapEvents.ts","components/Services/clevertapService.ts","components/Services/appsFlyerService.ts","config/appsFlyerEvents.ts","components/Services/xhrApiServices.ts","components/Services/dashboard/brokerageServices.ts","components/Services/dashboard/docVerificationAPIServices.ts","components/Profile/ProfileForm/ProfileForm.tsx","components/Profile/ClientNomineeGuardianMatch/ClientNomineeGuardianMatch.ts","components/store/globalStore.ts","components/Services/globalService.ts","components/Services/registration/continueApiService.ts","components/Registration/Layout/Layout.tsx","components/UI/InputWithLabel/InputWithLabel.tsx","components/Registration/RegistrationForm/RegistrationForm.tsx","components/Registration/RegistrationHome/RegistrationHome.tsx","components/Services/dashboard/eSignApiServices.ts","components/Services/dashboard/profilerApiServices.ts","components/Profile/ProfileNavBar/NavBarTile/NavBarTile.tsx","components/utils/sortingUtils.ts","components/Profile/ProfileNavBar/ProfileNavBar.tsx","components/ESign/ESignForm/ESignForm.tsx","components/Registration/WelcomeBack/WelcomeBack.tsx","components/Registration/MailVerified/MailVerified.tsx","components/Registration/NRI/NRI.tsx","components/Registration/OTP/OTP.tsx","components/Registration/AccExists/AccExists.tsx","components/UI/Backdrop/Backdrop.tsx","components/UI/ProgressBar/ProgressBar.tsx","components/UI/DocumentBrowse/DocumentBrowse.tsx","components/Services/dashboard/ipvApiServices.ts","customHooks/useGeoLocation.js","config/nomineeDocsId.ts","components/DocumentVerification/DocVerificationForm/DocVerificationForm.tsx","components/Registration/PANInfo/PANInfo.tsx","components/UI/ErrorScreen/ErrorScreen.tsx","components/Registration/DgLocker/OptionDocumentList.tsx","components/Registration/DgLocker/DgLocker.tsx","containers/RegistrationRoutes.tsx","components/Profile/ProfileHeader/ProfileHeader.tsx","components/Profile/ProfileLayout/ProfileLayout.tsx","components/Profile/ProfileHome/ProfileHome.tsx","components/Profile/ProfileMenu/ProfileMenu.tsx","components/Services/dashboard/bankApiServices.ts","components/Bank/BankForm/BankForm.tsx","components/Bank/BankHome/BankHome.tsx","components/UI/PdfContainer/PdfContainer.tsx","components/SelectPlan/SelectPlan.tsx","components/DocumentVerification/DocVerificationHome/DocVerificationHome.tsx","components/ESign/DocStatus/DocStatusList/DocStatusList.tsx","components/ESign/DocStatus/DocStatus.tsx","components/ESign/PendingModulesList/PendingModule/PendingModule.tsx","components/ESign/PendingModulesList/PendingModulesList.tsx","components/ESign/ESignKra/ESignKra.tsx","components/ESign/ESignHome/ESignHome.tsx","components/UI/VideoPlayerIpv/VideoPlayerIpv.tsx","components/VideoVerification/VideoVerification.tsx","components/UI/Dropdown/Dropdown.tsx","components/Profiler/Profiler.tsx","components/Services/registration/manualFlowService.ts","components/Registration/PersonalInformation/PersonalInfo.tsx","components/Registration/PersonalInformation/AddressInfoField.tsx","containers/DashboardRoutes.tsx","components/ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm.tsx","components/POA/Poa.tsx","components/UI/ExitScreen/ExitScreen.tsx","components/OcvScheduled/OcvScheduled.tsx","components/SubmitAO/StepsInfo.tsx","components/SubmitAO/SubmitAO.tsx","containers/SubmissionRoutes.tsx","components/Status/Layout/Layout.tsx","components/Status/CheckStatus/CheckStatusForm/CheckStatusForm.tsx","components/Status/CheckStatus/CheckStatusHome.tsx","components/Status/AccountNotFound/AccountNotFound.tsx","components/Status/StatusVerified/StatusVerified.tsx","components/Status/DocsVerificationInProgress/DocsVerificationInProgress.tsx","components/Status/DocumentReject/DocumentReject.tsx","components/Status/StatusContinue/StatusContinue.tsx","containers/StatusRoutes.tsx","components/Marketing/Marketing.tsx","containers/MarketingRoute.tsx","components/Selfie/Selfie.tsx","components/SmsLinksLayout/SmsLinksLayout.tsx","containers/SmsRoutes.tsx","App.tsx","components/Services/dashboard/errorBankServices.ts","serviceWorker.ts","index.tsx"],"names":["module","exports","EBuyOrSell","EdelLogoCenter","className","src","logo","alt","initialIListObj","value","display","emailVerificationBody","days","dashboardUrl","geoLocationConfig","ipvNavBarObj","name","time","isComplete","navUrl","priority","percentWeight","ipvNavLogo","isRequired","leftNavBarArray","profileNavLogo","logoNew","profileNavLogoNew","bankNavLogo","bankNavLogoNew","planNavLogo","planNavLogoNew","investNavLogo","investNavLogoNew","docNavLogo","docNavLogoNew","esignNavLogo","esignNavLogoNew","fatherSpouseRelationList","containerUrl","statusUrl","statusHome","statusVerified","accountNotFound","docVerificationInProgress","documentReject","statusContinue","loginUrl","incomeProofList","documentid","nriIdType","ecomAgentTimeList","DIY","watsappNo","isValidRegex","regex","test","required","undefined","grtrThanEqTo","min","lessThanEqTo","max","repairAddressWithConditions","address","city","addLength","trim","length","addLine1","substring","addLine2","addLine3","addLine4","isNaN","Number","replace","integerExp","alphabetExp","alphaNumExp","addressAlphaNum","emailRegex","betweenNChars","RegExp","pan","phoneNo","detectIntWithSpace","InputField","props","React","defaultValue","setValue","errorText","setErrText","focusClass","setFocusClass","isLessThanMin","Error","isGrtrThanMax","isValidPattern","pattern","prefix","onChange","e","resolvedValue","target","integer","isValidInteger","float","isValidFloat","alphanum","isValidAlphaNum","maxLength","isValidMaxLength","alphabate","isValidAlphabate","isValidAddressAlphaNum","isCaps","toUpperCase","newValue","placeholder","onFocus","onBlur","errorObj","type","id","autoComplete","disabled","cancelSuffix","onClick","suffix","hiddenText","helpText","helpTextColor","DropdownSearch","findFromList","list","lookFor","matchedOption","filter","val","searchKey","toLowerCase","searchLength","state","setState","isShowSuggestions","selectedObj","handleBlur","setTimeout","onOptionSelect","item","handleClick","event","autoSelectOff","hideSuggestion","select","scrollIntoView","behavior","block","options","indexOf","index","findIndex","includes","nextSibling","scrollTo","prevProps","this","matchedItem","nextProps","prevState","ddCount","noData","noDataMsg","suggestions","i","sort","a","b","showSuggestions","map","dropdownData","key","disableTick","dangerouslySetInnerHTML","__html","readOnly","style","isDownArrow","backgroundImage","down","Component","FamilyMember","useState","isOther","originalRelationList","forEach","relation","parseInt","toString","member","relationshipName","AccountName","infoType","relationList","EsignTag","selectedValue","setSelectedValue","useEffect","tagList","tag","onSelect","isInfo","info","Tag","bool","lhs","rhs","Radio","label","checked","Toggle","children","isOn","Loader","color","size","Array","from","keys","_","DashedButton","isLoading","isAdd","btnName","TransparentButton","isWhatsapp","isUpload","isTick","SubmitButton","Verify","LightBlueButton","clicked","Button","isSecondary","isLightBlue","InfoModal","width","DeviceContext","isMobile","document","body","offsetWidth","isTablet","isDesktop","config","root","diyNewApiUrl","piChainNewApiUrl","tempToken","diyApiUrl","apiUrl","javaComUrl","whatsappBearerToken","clientQuesttionSourceId","ClientProfilingDataSourseId","clientId","redirectUri","cleverTapId","apiKey","errorMessage","servicesList","getCities","getEnumList","getEmployeeDetailsByPan","getPanUtiDetails","getDocumentDetails","getArea","getFullAddress","getRelationshipData","getKYCDetails","saveKYCDetails","getStageCompletionStatus","checkClientProfilingData","getClientProfilingQuestion","saveClientProfilingQuestion","getClientProfilingDetails","getOCRDocumentResponseData","getDistinctBankList","getBankCities","getBankBranch","getBankDetailsFromIfsc","getBankDetails","saveBankDetails","getExtractDocumentData","uploadDocumentToS3","saveDocumentDetails","saveRelationshipDetails","getOtp","validateOtp","getBrokerage","getBrokerageDetails","saveBrokerageDetails","getBrokerageSegmentDetails","saveBrokerageSegmentDetails","getBeneficiaryName","downloadDocumentFromS3","getClientDetailsByPan","getClientDataByPanOrLead","checkPanInSystem","panLinkedWithAadhar","saveIpverificationDetails","saveUploadedDocumentDetails","margeMultipleImagestoPDF","getPichainBeneficiaryName","getCKYCDetails","savePanDobDetails","getKraDetails","redisDigilockerDoc","getEmployeeDetails","searchLeadByName","createLead","uploadIPVMerge","imagetoVideoIpv","generateAccessTokenForDigilockerJavaMW","getDocListFromDigilocker","getSelectedDocument","selfieLink","getEsignLink","updateUtmInfo","getAccountcodeData","createApplicationTicket","whatsUpAppInitiateCommunication","whatsUpAppConsent","generateKYCPdf","getIPVOTP","ErrorBank","getDocumentAutoQcDetails","saveAddressDetails","getCityByPincode","verifyDocumentData","getAddressDetails","saveArea","checkPhotoLiveness","checkLocation","updatePanAddharLinkStatus","createUCCRegCode","errorMapper","error","errMsg","ErrorMessage","errorCodeMapper","console","log","ErrorCode","msgOfErr","msgId","requestMapper","response","serviceName","res","serviceList","result","RequestResult","Status","StatusCode","status","msgID","RequestId","data","ContentData","Errors","getCitiesMapping","enumlist","getEnumListMapping","getEmployeeDetailsByPanMapping","getPanUtiDetailsMapping","getDocumentDetailsMapping","areas","getAreaMapping","getFullAddressMapping","emailMatchedList","EmailMatchedList","mobileMatchedList","MobileMatchedList","IsRelationshipFromIbeats","IsSavedRelationship","AvailableRelationshipTagEmail","AvailableRelationshipTagMobile","getRelationshipDataMapping","getKYCDetailsMapping","saveKYCDetailsMapping","getStageCompletionStatusMapping","checkClientProfilingDataMapping","getClientProfilingQuestionMapping","saveClientProfilingQuestionMapping","JSON","parse","IsClientProfilingCompleted","getClientProfilingDetailsMapping","getOCRDocumentResponseDataMapping","banknames","getDistinctBankListMapping","bankcities","getBankCitiesMapping","bankbranches","getBankBranchMapping","ecoIBeatsBank","getBankDetailsFromIfscMapping","statusMessage","getBankDetailsMapping","saveBankDetailsMapping","getExtractDocumentDataMapping","errorCode","uploadDocumentToS3Mapping","saveDocumentDetailsMapping","saveRelationshipDetailsMapping","getBrokerageMapping","brokerageDetails","getBrokerageDetailsMapping","saveBrokerageDetailsMapping","dbelist","getBrokerageSegmentDetailsMapping","saveBrokerageSegmentDetailsMapping","getBeneficiaryNameMapping","downloadDocumentFromS3Mapping","getOtpMapping","validateOtpMapping","getClientDetailsByPanMapping","getClientDataByPanOrLeadMapping","checkPanInSystemMapping","panLinkedWithAadharMapping","saveIpverificationDetailsMapping","saveUploadedDocumentDetailsMapping","margeMultipleImagestoPDFMapping","getPichainBeneficiaryNameMapping","getCKYCDetailsMapping","savePanDobDetailsMapping","getKraDetailsMapping","redisDigilockerDocMapping","getEmployeeDetailsMapping","searchLeadByNameMapping","createLeadMapping","uploadIPVMergeMapping","imagetoVideoIpvMapping","generateAccessTokenForDigilockerJavaMWMapping","getDocListFromDigilockerMapping","getSelectedDocumentMapping","selfieLinkMapping","getEsignLinkMapping","updateUtmInfoMapping","getAccountcodeDataMapping","createApplicationTicketMapping","whatsUpAppInitiateCommunicationMapping","whatsUpAppConsentMapping","generateKYCPdfMapping","getIPVOTPMapping","ProductId","DataSource","getDocumentAutoQcDetailsMapping","saveAddressDetailsMapping","getCityByPincodeMapping","verifyDocumentDataMapping","getAddressDetailsMapping","saveAreaMapping","checkPhotoLivenessMapping","checkLocationMapping","updatePanAddharLinkStatusMapping","createUCCRegCodeMapping","EKeyCodes","apiService","req","callback","params","method","headers","appidkey","GlobalStore","token","Authorization","clientPartialDetails","window","localStorage","getItem","stringify","URL","apiBaseUrl","fetch","url","resp","json","newResp","alert","location","href","get","CEPRK","AGetEnumList","enumname","EnumName","ARedisDigilockerDoc","reqObj","AGetRelationshipData","applicationid","email","mobile","ApplicationId","Email","Mobile","AGetFullAddress","area","pinCode","Pincode","Area","InputDataType","ASaveKycDetails","kycObj","AGetCityByPincode","pincode","City","State","ErrMsg","timer","resendTimer","OtpField","handleKeyUp","keyCode","BACKSPACE","LEFT_ARROW","idArr","split","pervId","prevInp","getElementById","focus","goToPrevious","RIGHT_ARROW","nextId","nextInp","goToNext","element","getElementsByClassName","eleId","v","valueCopy","join","handleChange","invalidOtp","onKeyUp","disableOtp","OtpTimer","startTimer","setInterval","temp","clearInterval","animation","animationDelay","errorMsg","code","errorResponse","fieldErrorBank","RegOtp","otp","isResend","otpTimer","enableClock","setOtp","resendClicked","AGetCities","AGetEmailOtp","emlObj","MailTo","mailTo","MailFrom","mailFrom","MailSubject","mailSubject","AGetMobileOtp","mobNo","MobNo","AValidateEmailOtp","EmailId","Otp","AValidateMobileOtp","ASearchLeadByName","leadObj","AssignedTo","assignedTo","FirstName","firstName","LastName","lastName","emailId","ProductCode","productCode","SearchBy","ACreateLeadSource","Phone","phone","UtmAdGroup","utm_adgroup","UtmCampaign","utm_campaign","UtmContent","utm_content","UtmCreative","utm_creative","UtmDevice","utm_device","UtmMedium","utm_medium","UtmPlacement","utm_placement","UtmSource","utm_source","UtmTerm","utm_term","SourceId","sourceId","SubSourceId","subSourceId","ByPassDedupe","byPassDedupe","RmCode","rmCode","SourceName","sourceName","SubSourceName","subSourceName","AWhatsappNotify","Type","recipients","MultiSelectCheckBox","updatedList","checkbox","OptionDescription","QuestionID","OptionId","Checkbox","addressErrorObj","addressLine1","addressErrorMsg","AddressField","addressObj","setAddressObj","setAreaList","validPincode","setValidPincode","errors","setErrors","handleChangeAddress","PinCode","onAddressChange","onAddressBlur","setErrCode","obj","District","Country","StateCode","CountryCode","sectionLabel","showSameAsAbove","sameAsAbove","addressType","handleSameAsAbove","isDisable","handleBlurAddress","NriDetail","nriDetailsObj","onChangeNriDetails","country","countryList","idType","idTypeOther","idTypeValue","initialNriDetail","NriDetailForm","ProfileImage","backgroundColor","getProfileDetailsFromAadhar","personaldetails","aadharName","AadharName","CoresAddress","PermanentCity","CoresPincode","gender","Gender","clientPartialDetails_ao","setItem","EPickerType","ShareAdd","errCode","aadharDocDetails","setAadharDocDetails","accessToken","setAccessToken","setIsLoading","useLocation","history","useHistory","errRef","useRef","updateUtmDetails","adhar","items","x","push","isDigiLocker","clientPartialDetailsToStore","sessionStorage","queryObject","Object","fromEntries","URLSearchParams","search","accessTokenObj","reDirectUrl","domain","client_Id","Code","ReDirectUrl","ClientId","AccessToken","AGenerateAccessToken","responseObj","access_token","digiDocInfo","eaadhaar","getAccessToken","current","shareAdd","ref","aadharLinkedChoice","adharArr","uri","adharNo","utmObj","aadharNo","fileUri","filename","applicationId","applicationID","clientPrimaryDetailId","leadId","panno","Token","dataObj","FileUri","FileName","ClientPrimaryDetailId","LeadId","PanNo","AadharNo","utmInfoDetails","ACheckPanIbeats","panNo","RequestFrom","APanLinkedWithAadhar","AGetEmployeeByPan","AGetPanUtiData","AGetClientDetailsByPan","PanNumber","AGetClientDetailsByLeadId","ASavePanDobDetails","panDobObj","IsEmployeePan","isemployeepan","KycVerified","kycverified","AGetKraDetails","Dob","dbo","Calender","defaultDate","date","setDate","Date","pickerType","setPickerType","onDateSelect","maxDate","ageCalculator","customHeader","headerProps","selectedYear","getFullYear","currentYear","endYear","Math","floor","prevMonthButtonDisabled","Month","decreaseMonth","decreaseYear","moment","format","Year","nextMonthButtonDisabled","increaseMonth","increaseYear","yrMapArr","yrMap","yr","changeYear","selected","minDate","showMonthDropdown","placeholderText","showPopperArrow","customInput","isError","showMonthYearPicker","shouldCloseOnSelect","renderCustomHeader","calendarContainer","containerProps","onCalendarClose","CustomInput","gtmService","gtmObj","category","action","Lead_ID","REF_ID","dataLayer","useQuery","cleverTapEvents","registration","personalDetailsPage","PAGE_LOADED","CLICK_ON_PROCEED","panPage","PAGE_LOAD","digiLockerPage","CLICK_ON_CONNECT_TO_DIGILOCKER","profilePage","CLICK_ON_SUBMIT_PROFILE","bankPage","CLICK_ON_SUBMIT_BANK_DETAILS","planPage","CLICK_ON_SUBMIT_SELECTED_PLAN","investmentPage","CLICK_ON_SUBMIT","documentVerificationPage","ipvPage","eSignPage","CLICK_ON_ESIGN","agentVisit","finalPage","ClevertapService","clevertap","EventName","CurrentPage","Platform","innerWidth","Promise","resolve","getCleverTapID","AppsFlyerService","pushEvent","eventName","AF","cuid","eventType","eventValue","setCUID","appsFlyerEvents","xhrApiService","onProgress","isNewUrl","xhr","XMLHttpRequest","upload","onprogress","onloadend","resolveResult","currentTarget","responseText","open","setRequestHeader","send","AUploadDocument","uploadObj","docReqPayLoad","Base64Document","base64document","QltyByPassFlag","ASaveBrokerageDetails","saveObj","AGetUploadedDocument","appID","AGetPendingDocument","AGetDocStatus","ADownloadDocument","fileName","filePath","FilePath","ASaveDocumentDetails","DocumentInfo","documentInfo","sortDocumentInfo","UtmInfoDetails","objUTM_Info","AextractPan","panObj","Base64Document1","Base64Document2","ActionName","DocumentType","Source","source","DocumentCategory","documentcategory","DocumentId","AextractAadhaar","aadhaarObj","OCR","AextractCheque","chequeObj","AextractBankStatement","BankName","bankName","AccountType","accountType","AextractPassport","passportObj","AextractVoterid","voterIdObj","AextractDl","dlObj","AgetPdf","pdfObj","UploadFlag","Images","Base64DocumentImage","image1","Imagename","imagename1","image2","imagename2","AmaskAadhaar","documents","sortedDocuments","doc","docObj","documentId","MimeType","mimeType","PersonalDetailsId","personaldetailsid","DocumentCategoryId","documentCategoryId","DocumentExpiryDate","documentexpirydate","IsFileCropped","isfilecropped","IsWatsappFlag","isWatsappFlag","DocumentNumber","documentNumber","AutoQc","autoqc","IsKycDocument","iskycdocument","AutoQcWithDocumentId","ACheckPhotoLiveness","ACheckLocation","locationObj","latitude","lat","longitude","lng","initialAddressObj","ckycAddressObj","corrAddress","sameAsPermanent","district","corrPincode","countrycode","statecode","nomineeIdentificationList","bankAccountType","initialDocObj","disable","uploadPer","hideProgress","showFile","imgUrl","base64","ProfileForm","quryParams","UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","startTime","setOcrDetails","isSeniorCitizen","setIsSeniorCitizen","occupationList","setOccupationList","incomeList","setIncomeList","educationList","setEducationList","maritalStatusList","setMaritalStatusList","genderList","setGenderList","relationshipList","setRelationshipList","familyRelationList","setFamilyRelationList","familyRelationListMail","setFamilyRelationListMail","setOriginalRelationList","titlePrefixList","setTitlePrefixList","setCountryList","relationshipData","setRelationshipData","relationshipDataCount","setRelationshipDataCount","showExplain","setShowExplain","showNominee","setShowNominee","numOfNominee","setNumOfNominee","user","setEmail","setPhone","setShowEmailBtn","showMobileBtn","setShowMobileBtn","setShowEmailOtp","showMobileOtp","setShowMobileOtp","setDisableOtp","isEmailVerified","setIsEmailVerified","isMobileVerified","setIsMobileVerified","setInvalidOtp","permanentAddress","setPermanentAddress","kycAddress","setKycAddress","correspondanceAddress","setCorrespondanceAddress","nomineeAddress","setNomineeAddress","guardianAddress","setGuardianAddress","nomineeOne","nomineeTwo","nomineeThree","nomineeDocuments","setNomineeDocuments","nomineeDocumentsArray","isPhoto","isSiganture","guardian","isSignature","permErrorObj","setPermErrorObj","corrErrorObj","setCorrErrorObj","nomErrorObj","setNomErrorObj","guardErrorObj","setGuardErrorObj","setSameAsPermanent","sameAsNominee","setSameAsNominee","setIsNomineeMinor","setGender","maritalStatus","setMaritalStatus","fatherOrSpouse","setFatherOrSpouse","fsfullName","fatherOrSpouseName","setFatherOrSpouseName","kycFatherName","setKycFatherName","motherfullName","motherName","setMotherName","eduQualification","setEduQulification","occupation","setOccupation","politicalVal","setPoliticalVal","indianResident","setIndianResident","annualIncome","setAnnualIncome","netWorth","setNetWorth","placeOfBirth","setPlaceOfBirth","periodicSettlement","setPeriodicSettlement","nomDob","setNomDob","setNomTitle","setNomFullName","nomRelation","setNomRelation","validPan","setValidPan","nomiDetails","setNomiDetails","setGuardTitle","setGuardFullName","guardRelation","setGuardRelation","setGuardEduQulification","setGuardOccupation","setGuardPoliticalVal","setGuardAnnualIncome","setGuardNetWorth","setGuardPlaceOfBirth","setNriDetailsObj","hideAddress","setHideAddress","staffCode","setStaffCode","setAadharName","setIsAadharMasked","setNomPhotoId","globalError","setGlobalError","setAddlIdentDetailsValue","regectedAddressDoc","setRegectedAddressDoc","POAType","setPOAType","POATypeMsg","defaultAccountType","setDefaultAccountType","defaultSetting","setDefaultSetting","setIsEditMode","errorMatchDetails","setErrorMatchDetails","accountTypeToggle","setAccountTypeToggle","addressEdited","nomineeAddDtls","guardianAddDtls","imgOfAddlIdentDetails","setImgOfAddlIdentDetails","nomineeList","cities","setCities","genderError","setGenderError","self","spouse","dependentChild","dependentParents","familyRelationshipCount","setFamilyRelationshipCount","nomiDetailsOne","nomiDetailsTwo","nomiDetailThree","nomFullName","PANName","guardianDetails","guardFullName","identificationDetail","nomineeMatch","getKycDetails","scroll","isKYC","isKRA","permAddLocal","corrsAddLocal","panFromLocalStorage","panNum","checkIsPanEmployee","InitiationPlatform","KRA","ADHAR_LINKED_WITH_MOBILE","DIGILOCKER_PROCESS","LEAD_ID","getDocumentStatus","ContentType","getDocumentidPOA","AGetOcrResponseDetails","getOcrDetails","ocrdata","extraction_output","permAdd","resPin","str","slice","getPincode","isManual","convertEnumIntoIObj","getRedisData","coresAddress","coresPincode","responseDataObj","Flag","EmployeeCode","srNo","ObjEcoClientPersoanlDetails","objPermanentAddressDetails","permanentaddressline1","objCorrespondenceAddressDetails","corrsaddraspermanent","correspondenceaddressline1","resultObj","permAddObj","permanentaddressline2","permanentaddressline3","permanentaddressline4","permanentarea","permanentcity","permanentpincode","permanentdistrict","permanentstate","permanentstatecode","permanentcountry","permanentcountrycode","corrAddObj","correspondenceaddressline2","correspondenceaddressline3","correspondenceaddressline4","correspondancearea","correspondancecity","correspondancepincode","correspondancedistrict","correspondancestate","correspondancestatecode","correspondancecountry","correspondancecountrycode","ObjEcoProfileDetails","ListMultipleNomineeDetails","array","additional_details","photo","additional_details_value","objpermanentaddressdetails","addressLine2","addressLine3","addressLine4","completeAddress","nFirstName","firstname","nMiddleName","middlename","nLastname","lastname","singleNominee","nomTitle","title","relationship","nomPerSharing","percentage","dob","isNomineeMinor","isminor","ListMultipleGuardianDetails","find","singleGuardianDetail","srno","guardPoliticalVal","guardTitle","guardEduQualification","education","guardOccupation","guardAnnualIncome","annualincomerange","guardNetWorth","networthamountac_open","guardPlaceOfBirth","placeofbirth","KRA_email","KraEmailId","KRA_mobile","KraMobileNo","KRA_mode","KraMode","leadID","ClientPrimaryDetailID","emailID","birthDate","Birthdate","ckycNo","ckycnumber","FatherOrSpouseFirstname","FatherOrSpouseMiddleName","FatherOrSpouseLastName","MotherFirstname","MotherMiddleName","MotherLastName","iskyc","FlagFS","MaritalStatus","pep","networthwhenacopen","periodicsettlement","taxresidentofothercountry","ddpi_type","applicationtype","taxresidenceofindialist","nriObj","identification_type","identification_number","identification_type_other","ObjEcoNomineeDetails","nomAddObj","Title","MiddleName","DOB","ObjEcoGuardianDetails","gaurdAddObj","kraInfoObject","ckycInfoObject","redisReqObj","clientPrimaryDetailsId","mobNumber","areaObj","ASavePinCity","savePinCityRes","getCorrAddress","sendOtp","otpType","otpSent","mailBody","mailSource","Success","checkValidateOtp","onRelationChange","emailArr","mobileArr","bothArr","bothMatchedList","relationshipListFilter","updatedCount","onRelationBlur","dropDownBlur","saveRelationshipData","hasOwnProperty","saveRelationshipObj","clientprimarydetailid","empcode","EmpCode","ASaveRelationshipData","saveFamilyRelation","onBlurPan","handleAddNomineeError","mobileDropDownList","emailDropDownList","removeFromMobileList","removeFromEmailList","Self","DependentParent","DependentChild","Spouse","mobileList","emailList","additionalDetailsOfGuardian","ckycBackup","additionalDetailsOfNominee","removeSpclCracters","sumOfPer","newLeadStorage","utmDurationInfoObj","fatherOrSpouseNames","splitFullName","motherNames","holderNameArr","correspondanceAddressLine","permanentAddressLine","clientPrimaryDetailID","isGuardian","isNominee","persoanlDetails","KraEmail","KraMobile","Kra_mode","aadhaar","aadhaarName","additionalEmail","additionalMobile","birthdate","ckycNumber","createdby","fatherOrSpouseFirstname","fatherOrSpouseMiddleName","fatherOrSpouseLastName","fatherOrSpouseTitle","flagFS","holderFirstname","holderMiddleName","holderLastName","holderTitle","isRelationship","isDigilocker","isKyc","maidenFirstname","maidenLastName","maidenMiddleName","maidenTitle","motherFirstname","motherMiddleName","motherLastName","motherTitle","digiKraKycDetailsmodifieddate","now","selfielink","selfieUrl","correspondenceAddressDetails","correspondenceAddressType","correspondenceCity","correspondenceCountry","correspondenceDistrict","correspondencePincode","correspondenceState","correspondenceArea","correspondenceCountryCode","correspondenceStatecode","correspondenceAddressLine1","correspondenceAddressLine2","correspondenceAddressLine3","correspondenceAddressLine4","autoQc","permanentAddressDetails","permanentAddressLine1","permanentAddressLine2","permanentAddressLine3","permanentAddressLine4","permanentAddresstype","permanentCity","permanentCountry","permanentDistrict","permanentPincode","permanentState","others","relationshipnamefordiy","listNomineeDetails","profileDetails","accountCategory","annualIncomeRange","clientGroup4","netWorthwhenAcOpen","applicationType","taxResidentOfOtherCountry","listTaxrRsidentofIndia","identificationNumber","identificationType","identificationType_Other","oCountry","listMultipleGuardianDetails","guardianNames","guardianAddressLine","holderId","isSamePermenantAddress","isMinor","middleName","additionalDetails","additionalDetailsValue","gurdianMap","listMultiplenomineeDetails","j","singleNomineeDetails","nomineeNames","nomineeAddressLine","sharePercentage","correspondenceAddressCheck","permanentAddressCheck","saveKycDetails","toCheckString","ele","completeModuleStatus","incompleteStageNavigation","handleAddNomineeValue","objNomineeDocs","imgOfAddlIdentDtls","signature","remainigPer","removeItem","handleAddNomineeGuardianValue","values","some","capitalizeWords","onMouseOver","onMouseLeave","newErrors","existingNominee","totalNomineeCount","existingNomineeCount","countForNeedToAddBlankNomine","existingNomineeDetails","nomineeEquaPerSharing","toFixed","nomineeSharePer","1","2","3","numOfNomineeRemove","pop","d","Fragment","nomOtherRelation","identificationDetailValue","setFullYear","guardOtherRelation","nomineeAdd","handleSameAsAboveForGaurdian","guardidentificationDetail","guardIdentificationDetailValue","isValidate","nomRelationOther","guardRelationOther","validateNominees","validateSubmit","clientContinue","clientDetails","partner","panDetails","isNormalClient","isPANVerified","initialObj","isSeeding","kraAddressLine1","kraPincode","calculateCompletePercentage","leftNavBarState","stage","fullName","fullNameArr","fullNameArrLength","PANMiddleName","parseQuery","queryString","reduce","acc","pair","decodeURIComponent","elapsed","getTime","innerHeight","devicetype","utmcontent","utmcreative","AUpdateUtmDetails","setStageData","apiResponseObj","stageStatus","isregistrationcompleted","ispersonaldetailscompleted","isprofiledetailscompleted","isnewdpnomineecompleted","isnewdpguardiancompleted","isbankdetailscompleted","isbrokeragesegmentcompleted","isuploaddocumentscompleted","isipvarificationcompleted","isbrokerageschemecompleted","isagentvisitcompleted","isesigncompleted","isdigilockercompleted","bpm_pd_status","bpm_nsb_status","applicationstatus","iskra","iskraesigncompleted","isaddressstagecompleted","ispanlinkedwithaadhar","checkpanaaddharflag","redirectToEntryPoint","isSafariBrowser","HTMLElement","pushNotification","enumArr","resultArr","k","arr","DisplayItem","ValueItem","monthAge","dateAge","dobYear","dobMonth","getMonth","dobDate","getDate","currentMonth","currentDate","yearAge","years","months","moduleArr","currentPage","returnUrl","filteredLeftNavBar","UCC_Code","isPartialFilledClient","leadForDsa","SaveKYCResponse","LeadIdMsg","createLeadDudupeParam","sessionId","dateofbirth","clientStageStatus","dashboardDefaultUrl","dashboardActivetUrl","panOCRObj","chequeOCRObj","aadhaarOCRObj","passportOCRObj","dlOCRObj","voterIdOCRObj","corrAadhaarOCRObj","corrPassportOCRObj","corrDlOCRObj","corrVoterIdOCRObj","accountHolderName","nextIncompleteStage","account_no","ifsc_code","stringToDate","dateStr","mmDDYYYY","dateObj","day","toLocaleString","minimumIntegerDigits","useGrouping","month","year","getUTCFullYear","AGetStageCompletionStatus","RegistrationLayout","isSubmit","setIsSubmit","isSubmissionRoute","isPOA","isEsign","getClientStageDetails","InputWithLabel","RegistrationForm","CreateNewUCC","showRmCode","setShowRmCode","setValues","setRmCode","showMobileMailBtn","setShowMobileMailBtn","whatsappMsgSuccess","setWhatsappMsgSuccess","beingAssistedCheckbox","setBeingAssistedCheckbox","rmCodeAssisted","setRmCodeAssisted","rmCodeAssistedName","setRmCodeAssistedName","utmCampaignCode","setUtmCampaignCode","isAssistedDataValid","setIsAssistedDataValid","showEmailOtp","disableEmailOtp","setDisableEmailOtp","invalidEmailOtp","setInvalidEmailOtp","relationShipTagError","setRelationShipTagError","isVerified","setIsVerified","email_mobile_verificationCheckFlag","setEmail_mobile_verificationCheckFlag","skipCreateLead","setSkipCreateLead","mobileVerifiedFE","setMobileVerifiedFE","mailVerifiedFE","setMailVerifiedFE","checkRMCodeValue","UserName","username","checkEmployeesDetails","_employeedetail","rmCodeName","EmpName","checkEmailValidateOtp","checkMobileValidateOtp","whatsappNotify","availableEmailTagSum","objAccType","viewLeadObj","searchedLead","searchedLeadCheck","leadList","UCCCode","IsMobileVerified","IsEmailVerified","objUtm","createLeadObj","AssignTeam","leadCreated","respData","oldMobile","oldEmail","isMobileVerify","isEmailVerify","sendEmailOtp","emailOtpRes","currentRmCheckBoxStatus","handleRmCodeCheckBox","every","msgReq","recipient","user_agent","navigator","appName","Registration","init","setUTMParams","refno","onlyDematParam","modeofapplication","referralcode","couponcode","stageinfo","signupdropout","registrationdur","clientip","diysource","match","path","accType","regbanner","APendingUploadList","APendingApprovalList","AGetEsignUrlDetails","esigndocumenttype","AUpdatePanAddharLinkStatus","ispanaadhaarlinked","ACheckClientProfilingData","NavBarTile","isActive","isClickable","onNavTileClick","compareValues","order","varA","parseFloat","varB","comparison","checkModuleCompleteness","isUploadDocumentsCompleted","intervalTimer","ProfileNavBar","urlPath","setUrlPath","setLeftNavBarState","pathname","tile","sidebarOptions","WelcomeBack","clientName","setClientName","setIsUploadDocumentsCompleted","searchByLeadId","PAN","ApplicatoinId","getProfilerStatus","checkPendingUpload","Mandatory","count","mobileno","emailid","clientFullName","m","welcomeBack","MailVerified","NRI","OTP","reloadKey","random","enableResend","AccExists","useDiffPan","FullBackdrop","isShow","isCloseIcon","onClose","Backdrop","ProgressBar","height","isBlueColor","percent","DocumentBrowse","cropper","setCropper","docErrorMsg","setDocErrorMsg","prevImage","setPrevImage","loadingFlag","setLoadingFlag","docName","setDocName","ext","setExt","isCroppingRef","isPreviewRef","minContainerWidth","minContainerHeight","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","hidden","removePanImg","removeDoc","isRemove","closeSample","handleCropping","mimetype","saveCroppedImage","cropImgtype","onDocUploadComplete","initialAspectRatio","preview","viewMode","guides","background","responsive","autoCropArea","checkOrientation","onInitialized","instance","getCroppedCanvas","toDataURL","iscropped","elem","file","files","extensions","FormData","append","reader","FileReader","onload","images","readAsDataURL","accept","pdfIcon","jpgIcon","prevIcon","cropIcon","AGetIpvOtp","ASendSms","SelfieLink","selfieLinkText","ASaveIPVerificationDetails","leadid","PlaceOfDeclaration","placeofDeclaration","empName","Designation","designation","Branch","branch","empCode","Organization","organization","OrganizationCode","organizationCode","GeoLocation","geo_location","IpAddress","ipaddress","Is_AllDocUploaded","IpvLink","ipvlink","useGeoLocation","loaded","coordinates","setLocation","onSuccess","coords","onError","message","geolocation","getCurrentPosition","timeout","enableHighAccuracy","maximumAge","nomineeDocsIds","initialPanDocObj","DocVerifcationForm","watchPositionId","uploadDocFlag","setUploadDocFlag","uploadVaiWatsAppFlag","setUploadViaWatsAppFlag","togPAN","setTogPAN","togFirstBank","setTogFirstBank","togSecondBank","setTogSecondBank","togThirdBank","setTogThirdBank","togFourthBank","setTogFourthBank","togFifthBank","setTogFifthBank","togPermAdd","setTogPermAdd","togCorrAdd","setTogCorrAdd","togSig","setTogSig","togIncome","setTogIncome","firstBankList","setFirstBankList","secondBankList","setSecondBankList","thirdBankList","setThirdBankList","fourthBankList","setFourthBankList","fifthBankList","setFifthBankList","permAddList","setPermAddList","corrAddList","setCorrAddList","secondDoc","setSecondDoc","corrSecondDoc","setCorrSecondDoc","pendingDocObj","setPendingDocObj","photoObj","setPhotoObj","setPanObj","firstBankObj","setFirstBankObj","secondBankObj","setSecondBankObj","thirdBankObj","setThirdBankObj","fourthBankObj","setFourthBankObj","fifthBankObj","setFifthBankObj","permSecondAddressObj","setPermSecondAddressObj","corrSecondAddressObj","setCorrSecondAddressObj","permAddressObj","setPermAddressObj","corrAddressObj","setCorrAddressObj","signatureObj","setSignatureObj","incomeObj","setIncomeObj","defaultAddress","setDefaultAddress","defaultCorrAddress","setDefaultCorrAddress","defaultFirstBankDoc","setDefaultFirstBankDoc","defaultSecondBankDoc","setDefaultSecondBankDoc","defaultThirdBankDoc","setDefaultThirdBankDoc","defaultFourthBankDoc","setDefaultFourthBankDoc","defaultFifthBankDoc","setDefaultFifthBankDoc","defaultIncomeDoc","setDefaultIncomeDoc","showRetake","setShowRetake","videoRefElement","canvasRefElement","uploadedPhotoRefElement","setMediaRecorder","turnOfCamera","setTurnOfCamera","setShowVidPerm","photoBase64","setPhotoBase64","panBase64","setPanBase64","bankStage","setBankStage","anotherFile","setAnotherFile","corrAnotherFile","setCorrAnotherFile","panName","setPanName","firstBankName","setFirstBankName","secondBankName","setSecondBankName","thirdBankName","setThirdBankName","fourthBankName","setFourthBankName","fifthBankName","setFifthBankName","firstBankDetails","setFirstBankDetails","secondBankDetails","setSecondBankDetails","thirdBankDetails","setThirdBankDetails","fourthBankDetails","setFourthBankDetails","fifthBankDetails","setFifthBankDetails","addressName","setAddressName","corrAddressName","setCorrAddressName","signatureName","setSignatureName","incomeName","setIncomeName","setIsPhotoPendingFlag","isNewPhoto","setIsNewPhoto","isNewPan","setIsNewPan","isNewFirstBank","setIsNewFirstBank","isNewSecondBank","setIsNewSecondBank","isNewThirdBank","setIsNewThirdBank","isNewFourthBank","setIsNewFourthBank","isNewFifthBank","setIsNewFifthBank","isNewPermAddress","setIsNewPermAddress","isNewCorrAddress","setIsNewCorrAddress","isNewSignature","setIsNewSignature","isNewIncome","setIsNewIncome","loaderSign","setLoaderSign","showCorr","setShowCorr","isPanAndDobMatch","setIsPanAndDobMatch","seedingPopup","setSeedingPopup","regectedDocStatus","setRegectedDocStatus","aadharAddress","setAadharAddress","corrAadharAddress","setCorrAadharAddress","geoLoc","isGeoError","setIsGeoError","isGeoErrorTimeFlag","setIsGeoErrorTimeFlag","setRemovePanImg","setIsManual","panCardError","setPanCardError","firstBankListError","setFirstBankListError","secondBankListError","setSecondBankListError","thirdBankListError","setThirdBankListError","fourthBankListError","setFourthBankListError","fifthBankListError","setFifthBankListError","permAddListError","setPermAddListError","corrAddListError","setCorrAddListError","incomeListError","setIncomeListError","secondDocError","setSecondDocError","corrSecondDocError","setCorrSecondDocError","signatureListError","setSignatureListError","showBrowserPermissionModal","setsShowBrowserPermissionModal","setBrowserPermission","locationPermission","setLocationPermission","cameraPermission","setCameraPermission","defaultPermAddressProof","setDefaultPermAddressProof","nomineeFirstObj","setNomineeFirstObj","nomineeSecondObj","setNomineeSecondObj","nomineeThirdObj","setNomineeThirdObj","guardianFirstObj","setGuardianFirstObj","guardianSecondObj","setGuardianSecondObj","guardianThirdObj","setGuardianThirdObj","nomineeFirstList","setNomineeFirstList","nomineeSecondList","setNomineeSecondList","nomineeThirdList","setNomineeThirdList","guardianFirstList","setGuardianFirstList","guardianSecondList","setGuardianSecondList","guardianThirdList","setGuardianThirdList","nomineeFirst","nomineeSecond","guardianFirst","guardianSecond","guardianThird","nomineeGuardianTog","setNomineeGuardianTog","nomFirstPhotoId","nomFirstSignature","nomSecondPhotoId","nomSecondSignature","nomThirdPhotoId","nomThirdSignature","guardianFirstPhotoId","guardianFirstSignature","guardianSecondPhotoId","guardianSecondSignature","guardianThirdPhotoId","guardianThirdSignature","nomineeGuardianError","setNomineeGuardianError","isNomFirstPhoto","isNomFirstSignature","isNomSecondPhoto","isNomSecondSignature","isNomThirdPhoto","isNomThirdSignature","isGuardianFirstPhoto","isGuardianFirstSignature","isGuardianSecondPhoto","isGuardianSecondSignature","isGuardianThirdPhoto","isGuardianThirdSignature","isNomineeGuardian","setIsNomineeGuardian","setNomineeDisable","setGuardianDisable","permAddButDisable","setPermAddButDisable","panButDisable","setPanButDisable","liveLocationCheck","setLiveLocationCheck","photoErrorMsg","setPhotoErrorMsg","blockAadhar","setBlockAadhar","saveLocation","errorLocation","showPhotoPreview","long","checkLocationRes","guardianOne","guardianTwo","guardianThree","watchPosition","successPosition","errorPosition","getExtractPhotoLiveness","getVideoTracks","stop","getLocation","err","position","clearWatch","LocationInIndia","Message","getDocList","getUploadedDoc","getPendingDoc","turnOnCamera","handleSuccess","handleError","srcObject","MediaRecorder","constraints","audio","video","facingMode","mediaDevices","getUserMedia","then","catch","regectedDoc","listObj","photoData","panData","firstBankObjlist","SecondBankObjlist","thirdBankObjlist","fourthBankObjlist","fifthBankObjlist","corrAddObjlist","permAddObjlist","incomeObjlist","signatureData","photoCopy","panCopy","firstBankCopy","secondBankCopy","thirdBankCopy","fourthBankCopy","fifthBankCopy","permAddressCopy","corrAddressCopy","signatureCopy","incomeCopy","uplDoc","isPANCard","isFirstBankDocument","isSecondBankDocument","isThirdBankDocument","isFourthBankDocument","isFifthBankDocument","isCorrAddressProof","isPermAddressProof","isIncomeProof","isNomineeFirstPhoto","isNomineeFirstSignature","isNomineeSecondPhoto","isNomineeSecondSignature","isNomineeThirdPhoto","isNomineeThirdSignature","nomineeFirstPhoto","NomineeFirstImage","UploadedDocPath","nomineeFirstSignature","nomineeSecondPhoto","NomineeSecondImage","nomineeSecondSignature","nomineeThirdPhoto","NomineeThirdImage","nomineeThirdSignature","guardianFirstPhoto","GuardianFirstImage","guardianSecondPhoto","GuardianSecondImage","guardianThirdPhoto","GuardianThirdImage","getPhotoImage","getPanImage","DocumentName","getBankImage","getAddressImage","getCorrAddressImage","getSignatureImage","getIncomeImage","getbase64","dataString","documentType","imageOBJ","penDoc","isPhotoPending","isCorrPending","Count","mandPenDoc","y","getscreenShotURL","blob","new_File","File","lastModified","fileReader","getFetchResponse","ipvObj","iPVerificationSaved","IsLive","Guid","onRemove","docType","maskedAadhar","id_number_found","base64_image","getUploadRes","onUploadProgress","getPDFData","addressOCR","Mergedimagespdfbase64","storeOcrData","getCorrPDFData","onNomineeUploadComplete","fnpext","fnpnewfileName","nomFirstPhotCopy","nomFirstPhotoObj","fnsnewfileName","nomFirstSignatureCopy","nomFirstSignatureObj","snpnewfileName","nomSecondPhotoCopy","nomSecondPhotoObj","nssnewfileName","nomSecondSignatureCopy","nomSecondSignatureObj","ntpnewfileName","nomThirdPhotoCopy","nomThirdPhotoObj","ntsnewfileName","nomThirdSignatureCopy","nomThirdSignatureObj","guardFirstPhotoCopy","guardianFirstPhotoObj","guardFirstSignatureCopy","guardianFirstSignatureObj","guardSecondPhotoCopy","guardianSecondPhotoObj","guardSecondSignatureCopy","guardianSecondSignatureObj","guardThirdPhotoCopy","guardianThirdPhotoObj","guardThirdSignatureCopy","guardianThirdSignatureObj","handleRemoveDoc","handErrorForFileUpload","panOCR","firstBankOCR","secondBankOCR","thirdBankOCR","fourthBankOCR","fifthBankOCR","aadharOCR","uploadImageObj","nomineeOneCopy","nomineeTwoCopy","nomineeThreeCopy","GuardianOneCopy","GuardianTwoCopy","GuardianThreeCopy","total","permSecondAddressCopy","corrSecondAddressCopy","id_number","date_of_birth","sendViaWatsapp","handleBankDoc","saveDocument","autoQcWithDocumentId","saveDetails","savePhotoObj","savePanObj","firstBanObj","saveSecondBankObj","saveThirdBankObj","saveFourthBankObj","saveFifthBankObj","savepermAddressObj","saveCorrAddressObj","saveSignatureObj","saveIncomeObj","getSaveStatus","ADDRESS_PROOF_SUBMITTED_VIA","pendingDocQC","onlyIpvPending","getSeedingData","AadharSeedingStatus","IsAadharSeeded","APanLinkedWithAadharRes","isvalid","islinked","justifyContent","alignItems","reCheck","autoPlay","playsInline","canvasPic","videoPic","canvas","videoWidth","videoHeight","getContext","drawImage","toBlob","RejectionReason","watsAppIcon","handlePermanentAddress","aadharObj","docOj","handleCorrespondenceAddress","handleIncomeProof","fileNameCheck","typeCreater","removeDocObj","saveViaWatsApp","PANInfo","panDob","base64String","isPanLinkedToAadhar","aadharLinked","aadhaarNo","isEmployee","setUtmObj","consent","togPhoto","setTogPhoto","streams","setStreams","hasPhoto","setHasPhoto","panNumberMatched","setPanNumberMatched","dobChecked","setDobChecked","setIsNormalClient","panDobState","setPanDobState","panValState","setPanValState","panUploadObject","setPanUploadObject","panUploaded","setPanUploaded","setCheckpanaaddharflag","saveKraDetails","kraDocCount","kraDocs","additionalemail","additionalmobile","adrLine1","adrLine2","getPanUploadRes","platform","relationName","TransactionId","product","locationString","trimStart","registerCleverTapEventAfterProceed","checkedPanInIbeats","searchByPan","isPANExists","isValidPan","validatePAN","IsValid","PANFirstName","Firstname","Middlename","PANlastName","Lastname","savePanDob","applicationIdExists","navigate","kraDobCheck","getCkycNumber","dobMatched","AppErrorDesc","kycobj","ApplicationID","encodedPan","btoa","stringParams","clientObj","uploadSelfie","nextprocess","applicationInitialized","getUploadKraResponse","Result","kraDocumentDetailsSaved","documentDetailsSaved","AppStatus","kra_mode","AppPerAdd1","AppPerAdd2","AppPerAdd3","AppCorAdd1","AppCorAdd2","AppCorAdd3","AppPerPincd","AppCorPincd","FatherName","kraRes","ImageDetails","image","ImageCode","savePermAddressObj","addressUploadObj","Image","savePermAddressDefaultObj","addressUploadDefaultObj","getKraDocumentUpload","initiateCamera","userMedia","play","takePhoto","ctx","storePhoto","closePhoto","getTracks","track","photoUploadObj","selfieDetails","getSelfieUploadResponse","panVal","stream","smsBody","onBlurAadhaar","ErrorScreen","OptionDocumentList","doctype","AdhaarSample","DrivingLicense","VoterID","Passport","InfomodalReturn","DgLocker","DGLToggle","setDGLToggle","uploadDocToggle","setUploadDocToggle","dgLockerLinkUrl","digiLockerUrl","dgLocker","arrowPoint","docInfo","cleverTapConnectDLEvent","RegistrationRoutes","getCleverTapIDFromService","exact","render","supportNeeded","ProfileHeader","percentageComplete","ProfileLayout","getEsignUrl","Data","ConvertToPhysical","onbeforeunload","refreshKeyPressed","stageInfoId","appIdlocalStorage","stageInfoObj","StageInfoId","stageinfoid","ACreateApplicationTicket","returnValue","performance","ProfileHome","profileBanner","ProfileMenu","getIFSCDetails","ifsc","BankCity","Ifsc","SaveBankDetails","listsObj","AgetBeneficiaryName","beneficiaryObj","AccountNumber","account_number","Name","BankForm","maxBank","setMaxBank","accountnoErrors","setaccountnoErrors","bankNameOnIFSCCode","setBankNameOnIFSCCode","bankCityOnIFSCCode","setBankCityOnIFSCCode","pryAccount","micrModalFlag","setMicrModalFlag","ifscModalFlag","setIfscModalFlag","bankList","setBankList","cityList","setCityList","BranchList","setBranchList","hideSearch","setHideSearch","setIsmatched","branchDetail","setBranchDetail","bankListOnIFSC","setBankListOnIFSC","bankacctypeList","setbankacctypeList","accountholdername","accountno","bankaddr1","reaccountno","bankdetailsid","bankpincode","ifsccode","bankacctype","isdefaultaccount","bankcity","bankname","micr","payinpriority","qcapproved","micrcodeList","lists","setLists","setShowMandate","setUploadedBankList","allowOnlyAddBank","setAllowOnlyAddBank","isSbi","setIsSbi","getAccountHolderName","registered_name","score","filterBankacctypeList","updateLists","actObj","micr_code","getData","sendOcrObj","documentCategory","getOcrResponse","ocrResponseObj","setAccError","micrData","item2","i2","getAccountHolderForSave","parsedRes","saveBankAccount","accountNo","bankAccType","bankAddr1","bankCity","bankDetailsId","bankPinCode","contactNo","ifscCode","isDefaultAccount","qcApproved","isMatched","matchScore","saveDetailsRes","getAccountHolderForSaveOnAdd","saveDetailsResponse","closeIFSC","openIfscModal","getBankData","handlebanknameDropdown","getCityData","handleCityDropdown","getBranchData","sortBranch","property","sortOrder","substr","localeCompare","dynamicSort","checkAddAnotherBankDisabled","handleBranchDropdown","searchIFSC","selectedBranch","reMICR","handleSelect","removeLast","removeBank","handleTag","checkMatch","filterDataOnMICR","handleDropdown","handleDefaultAccount","handleAddForm","preventDefault","BankHome","PdfContainer","showModal","SelectPlan","setEliteCard","setLiteCard","liteData","setliteData","eliteData","setEliteData","openPlanModal","setOpenPlanModal","setShowModal","segTog","setSegTog","checkedDerNSE","setCheckedDerNSE","checkedCurrNSE","setCheckedCurrNSE","termOne","setTermOne","checkedComMCXnNCXDX","setCheckedComMCXnNCXDX","setTermTwo","setTermThree","isLite","setIsLite","isElite","setIsElite","openLite","setOpenLite","setIsEmployee","showPdfModal","setShowPdfModal","pdfName","liteResponse","setliteResponse","eliteResponse","setEliteResponse","active","setActive","setShowPopup","incomeProofErr","setIncomeProofErr","Liteplan","Eliteplan","resdata","liteResdata","ct_display_name","eliteResData","is_selected_scheme","getBrokerageSegmentDetailsRes","Checked","CBEList","Category","AGetBrokerageDetails","AGetBrokerageSegmentDetails","fetchImage","changeIncomeObj","updateIncomeObj","saveIncome","openCharges","saveBrokerageDetailsRes","PLAN_SELECTED","CBEListVM","cbeList_Value","cbeList","cbeListName","isReadOnly","saveSegData","bankcbe","cbelistVM","createddate","sebi_mtf","saveBrokerageSegDetailsRes","getResForNav","handleLiteTick","handleEliteTick","checkTNC","KeyFeatures","BrokingCharges","EquityDelivery","EquityIntraday","EquityFutures","EquityOptions","CurFutures","CurOptions","ComIntraday","ComDelivery","OtherCharges","MarginFunding","DpInterestNormal","DpInterestMTF","SwitchingCharges","ManualSupport","CallAndTrade","RmAdvisor","SplTrdAssistance","ToolsAndFeatures","AutoCollateral","StandardTools","AdvancedCharting","MarketInfo","Research","News","Content","Notifications","PortfolioOrganizer","GuidedPortfolios","Investology","TradePoint","SmallCase","AncillaryCharges","DpAmc","DpFees","Payin","Payout","PhyCMLreq","PhyContractNotes","ChqPayment","PledgeCharges","PhysicalStmtCharges","client_type","planOne","mobPlanOne","planTwo","mobPlanTwo","documentname","bp","ao","dc","cash","cashDeliveryActual","cash_delivery_std","cashDeliveryMin","cash_delivery_min","cashDeliverySide","cashIntradayActual","cash_intraday_std","cashIntradayMin","cash_intraday_min","cashIntradaySide","cds","cdsFutureActual","cds_future_std","cdsFutureMin","cds_future_min","cdsFutureSide","cdsOptionActual","cds_options_std","cdsOptionSide","cdsOptionsMin","cds_options_min","cdsBrokCode","clientType","cxBrokCode","eqBrokCode","fo","foFutureActual","fo_future_std","foFutureMin","fo_future_min","foFutureSide","foOptionActual","foOptionSide","foOptionsMin","foBrokCode","isStandard","objUTMInfo","schemeName","schemeId","scheme_id","fo_options_std","fo_options_min","DocVerificationHome","DocStatusList","docStatus","DocStatus","showResult","isPendingUpload","pendingUploadList","isPendingApproval","pendingApprovalList","contenttype","documenttype","ESignForm","setShowResult","setIsPendingUpload","setIsPendingApproval","setPendingUploadList","setPendingApprovalList","esignCompleted","getUploadedDocList","checkPendingApproval","showList","WsdlFlag","EsignLink","FormValidationSummary","FormValidations","allErrorsString","encryptedUrl","esignCleverTapEvent","IS_ESIGN","blueTick","PendingModule","moduleLink","moduleName","PendingModulesList","pendingModulesList","timeLeft","EsignKra","setIsEsign","getEsignKraUrl","timerId","esignBanner","ESignHome","setisEsign","isEsignKra","setEsignKra","setIspanlinkedwithaadhar","pendingModules","setPendingModules","checkPendingModules","panAdhaarLinkStatusUpdated","sc","VideoPlayerIpv","showStartBtn","setShowStartBtn","showVidPerm","showRecordTimer","setShowRecordTimer","showUploadBtn","setShowUploadBtn","setStream","webBlob","setWebBlob","isSafari","frames","setFrames","mediaRecorder","previewRefElement","imageRefElement","imgSrcSafari","setImgSrcSafari","setVideoWidth","setVideoHeight","showPreview","ex","record","interval","createElement","captureScreenShot","createObjectURL","start","framesArr","ondataavailable","onstop","ev","Blob","controls","controlsList","image64","contentType","ipvUploaded","imageName","VideoVerification","queryParams","showSample","setShowSample","enableLink","setEnableLink","eSignCompleted","setESignCompleted","setLat","setLong","atob","getIpvOtp","isFromSMS","checkPdStatus","videoUploaded","saveIpvDetails","ipvDemo","Width","Height","IsUpload","AUploadIpvSafari","ImageName","AUploadIpv","ipvUrl","sendSms","Dropdown","Profiler","setCheckClientProfilingData","singleAns","setSingleAns","questionLists","setQuestionLists","getCheckClientkProfilingData","appId","QuestionList","remultiAnswerList","IsMultiple","QuestionOptions","assign","getSaveResonse","QuestionsDescription","QuestionId","single","o","handleSelection","multiOption","newList","updatelist","saveQuestion","filterSingleAnswer","mergedmultiAnswerObj","concat","apply","createdBy","optionId","questionId","versions","ListQuestionDetails","ASaveClientProfilingQuestion","AVerifyDocumentData","verifyDocumentPayload","IsFileappFlag","DocumenCropped","IsQRVerified","DocumentIssueDate","IsDocumentVerified","localAadharNo","addressInfoErrorObj","PermanentAddressField","onAddressInfoChange","onAddressInfoBlur","onBlurDoi","dateOfIssue","onBlurDoe","dateOfExpiry","addObj","qrVerified","reverse","identificationListPerm","identificationListCorr","PersoanlInfo","permSecAddListError","setPermSecAddListError","setCorrSecAddListError","drivingFlag","setDrivingFlag","corrsDrivingFlag","SetCorrsDrivingFlag","qrVerifiedAadhar","setQrVerifiedAadhar","qrVerifiedCorrsAadhar","setQrVerifiedCorrsAadhar","AddressDetails","permResultObj","documentnumber","documentissuedate","corrsResultObj","Corrsaddraspermanent","handleAddressBlur","identificationDetailType","extractPermOCRObj","extractCorrsOCRObj","permExtractionData","name_on_card","qr_detected","date_of_issue","date_of_expiry","issue_dates","date_of_validity","verifyDrivingObj","DateOfBirth","IdNumber","verifyDocumentRes","corrsExtractionData","corrsVerifyDocumentRes","verified","handleSubmit","saveAddressPayload","ASaveAddressDetails","saveAddressRes","CorrespondenceAddressDetails","CorrespondenceAddressLine1","CorrespondenceAddressLine2","CorrespondenceAddressLine3","CorrespondenceAddressLine4","CorrespondencePincode","CorrespondenceCountry","CorrespondenceState","CorrespondenceCity","CorrespondenceDistrict","CorrespondenceArea","CorrespondenceStatecode","CorrespondenceCountryCode","CorrespondenceAddressType","autoQC","documentIssueDate","documentExpiryDate","documentName","PermanentAddressDetails","PermanentAddressLine1","PermanentAddressLine2","PermanentAddressLine3","PermanentAddressLine4","PermanentPincode","PermanentCountry","PermanentState","PermanentDistrict","Permanentarea","Permanentstatecode","Permanentcountrycode","PermanentAddresstype","ASavePersonalDocument","AddressInfoField","DashboardRoutes","component","AgentVisitForm","areaList","agentDatesList","setAgentDatesList","agentTimesList","setAgentTimesList","getAgentDates","ecoAgentVisitDates","agentVisitDate","getDay","dateStringToDay","getAgentTimes","ecoAgentVisitTimes","agentVisitTime","getAreaList","stateCode","countryCode","agentVisitScheduled","registerCleverTapScheduleAgentEvent","AAgentDatesList","AAgentTimesList","ocvDate","ocvDateAndTimeChange","ocvTime","agentVisitObj","created_by","date_for_visit","time_for_visit","ASaveAgentVisitDetails","downloadForm","isFullPdf","EsignFlag","ADownloadForm","b64Data","sliceSize","byteCharacters","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","base64toBlob","link","download","appendChild","click","remove","getDownloadForm","Poa","enablePinCheck","setEnablePinCheck","clientAddressOcv","setClientAddressOcv","setOcvDate","setOcvTime","showAgentVisitForm","setShowAgentVisitForm","showDownload","setShowDownload","disablePOASchedule","validatePincode","drop_Vendor_Code","vendorResponse","awb_number","success","reason","isInitial","ocvCalender","ASavePoaDetails","addr","line1","line2","scheduledDate","selectedTimeSlot","customerName","customerMobile","selectedPincode","defaultPinCode","isChequeLeafSubmitted","emailurl","ExitScreen","heading","displayInfoList","itemObj","OcvScheduled","visitDate","setVisitDate","visitTime","setVisitTime","setDisplayInfoList","agentVisitDetails","dpid","STATUS_ON_FINAL_SCREEN","StepsInfo","viewBtn","setViewBtn","SubmitAO","setTime","getClientDetails","holderName","holderfullname","displayInfo","esigncompletedtime","finalTick","SubmissionRoutes","checkApplicationStatus","CheckStatusHome","AccountNotFound","checkStatus","newAccount","StatusVerified","DocsVerificationInProgress","DocumentReject","StatusContinue","handleContinue","StatusRoutes","Marketing","setIsComplete","improperData","setImproperData","utmParams","to","MarketingRoute","Selfie","videoRef","canvasRef","prevres","intiateCamera","getUploadResponse","saveIPVerification","margin","marginTop","SmsLinksLayout","SmsRoutes","require","default","App","getErrorMsg","Datasource","account","privacy","optOut","useIP","wzrk","async","s","getElementsByTagName","parentNode","insertBefore","notifications","titleText","bodyText","okButtonText","rejectButtonText","okButtonColor","askAgainTimeInSeconds","serviceWorkerPath","script","ymConfig","bot","host","payload","YellowMessenger","update","removeChild","basename","process","Boolean","hostname","ReactDOM","serviceWorker","ready","unregister"],"mappings":"4GAAAA,EAAOC,QAAU,0yB,cCAjBD,EAAOC,QAAU,0pB,qBCAjBD,EAAOC,QAAU,kiD,wBCAjBD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,cCA3CD,EAAOC,QAAU,uzN,0BCAjBD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,80G,wDCAjBD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,cCA3CD,EAAOC,QAAU,85G,cCAjBD,EAAOC,QAAU,0oB,cCAjBD,EAAOC,QAAU,8c,kBCAjBD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kC,cCA3CD,EAAOC,QAAU,k0N,cCAjBD,EAAOC,QAAU,suG,cCAjBD,EAAOC,QAAU,8jP,cCAjBD,EAAOC,QAAU,0iH,gBCAjBD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,cCA3CD,EAAO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","file":"static/js/main.1ad81d7c.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAADqADAAQAAAABAAAADgAAAACeOBvAAAABwUlEQVQoFW1SS04DMQy10wwrkOgJSEW7QHw03ABOwHACyqIVO8oJgBvADlEkygkoJ2g5QQcKYkGltjcAlRWTGWOnRIoQI2Xi+Pk5fnYQgs+M68vRV3TArjoAxg4imBBA10bqcrJ2NXE+/ilv1F4bsZ5FYw7aB4JLULSdaVUpAE4QoBzZYlx7btR9PPsAhEQ59Phw8r7V7ngw3Ocx2EeglsQ4YnXYmADixWjj+sK8HRkhhGX5BEKGAgdSiVp9biYCOBJr1Fk+0Da/9cHh/r7eTlnGXcnmLcUiExEvAfpLx4i4DITbISG0WXNXEe7xIqMIUgFHmzd9Appy/S5RSPB2HqkUEIziqz8I0XgAFSQMHNSGjWPxiWavW87aWiO74qakSOAO4pjroEMiPOem9SKb38soqi/NluBIaLiqR2W16sgNYVZpNw885qApJ6gQwSci9YVICHW+qCM21IbNNByuc/7zqw6bZxIrkJabKCuMXcq6MhoR/3eG8hT1bOGU+3EIJdpxRJ0XCRdA8txYwCfrWWFtfVbDSzSRoZk0jJ6sLsU+KXeVEq77DkuwO9psm2zxu8wNe3AcoDJ3fPqL7XiSJPwBFBfR12WnXcEAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAAXnVPIAAABVklEQVQ4EZVTO07EMBCdmTgLCT8hKGgQiIYCDsEpKJDYjgMA9+ASSDR7CSoaOiSQaBBIFEgUFMsmECc2ngnJOlGIFjeeN/Oef/OM0B4HVsHOYwT54gBIh1I2oQb1mcHTbgrXmPsS9AEcvy3EYbbSyHkgMYWBIhrD5cakSk8XOHpZjecxqgp9c/JlU7ja+mAOCZF3nlHMfOE6DccE7s59x2ZS5wjSJdaSPFgno0xmxu5pCxdtSkyBaEleu1318IDw3sH9rkVYq8pWBbVEgzl3N7N1ggPEG0R7og1AiHBW11ybVQ0agZl2h/MYlBihmecSDF/XYmXmGnoPJEYth5SPXOrBuerUK0GS0zeJw/xsK1agN7vEQnPuRG4FbD+vy6u2xH1QXDm5fSfxNtvzv4M1o8OidKLztthzxkWE+/sfmq/K9nQO++s6/Z+p2r3vO4/vEj52ReX5B+JRgJ114/E8AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9BAMAAAB9rnEWAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTABi4gBe4wBW3QBd4gNg5QVi4gVi4ABg7AVi4wNj4gRi4QZj4iSe96YAAAAMdFJOUwAaFQcPQdnyKLhdiR8NsdMAAAPjSURBVFjDtVm9bhNBEHZ8foCsnQuOnSJn0gSaBOUBcoQXcAFIKE0KJARuKCxRpElBEIgmBRIhbq4AQeQmDRJSGgoc7NxDcbs+/+zOzu6cJ2yTs5Rvv9nZmW93Z0oldASPWq1ItFqb+6UFxm4kZmNzm4MuPEPwUIBR3V+cvJgJDwQyqtssOG0CB5wyQUU4xwoP7psgiHx4cdeFj4V/7OHwMgEuqrj1gjRqHOsdK6gQ4dgeUOkRA8pkuN2FER0vNlj0VgOK0Fs8UCkEh1sQF8ObBgQF4WYQ7hTFi22G98AWVgrDdQ8WN19fQLQAfoNlvrYAr/kfzjqD8za6AJ/571M5rhMkhAISPE0HiT2EPKkXdnJ8emNPQs/yn6bTcWp1gHv54dEMf2PbwYBMn6aJxQFlAv2rrxc9+ffQ4oAdP/3LaisK5QQjiwNiL/3gWLJtyS9LBPjpX4y/pQFt4MCARp8ZcJB9XwIHVqj0Ys2MAJVCS0R6IRoggnzu1+gV/jfYgJhKL0KA33NHr06v+A9BBOPwekejF/fB+ped27em04tVgK+5tq/a1+nV78TUQEf2dHR6tZxjU0Lw7W/o9OIk+z00/seFl8v/Y9D/BXg8fFb1cD+BAiYDCA+fAy3dzM2cBBCGfyv6Kt1/DJMZfVdQ8U/S533prmauOYr+uk3FZ5F/rfjv5Cg7fYaP0Mi/kviP4xhA6LMEiNDEU3K1PlZ9hB7Dq8RTctWUvMcYfYZH6Ycyft4oZILRZwmI531Tbfg7GTU9hN6Oz2WnfjRZQBejz/ARLjtXUq+kaA0xeqv/pqp3ohImc8ANRm/FT1VPTvRanjqjI4Tehp8T3b7UG4nPohm7xMUO0W30vigVGonH6DU89ohuqJzQIuNN0W0C0dfxhv6oQ3ZedMGha+iPqV89i+gmKB7oZ90iugPhwJehaI8M+pHrHWecP1u6yFpFVzt/Auj+S4/o6hcYKPqJTt/Fl78Mzv/1+TMOlZ358z8G+IRKr+4fO6j9Xnp1/1kC/jul0gt4/2vODl0//Qq8f4azQ95PX7PcfzuTBfjp8weEtgF1eckZStQ3L31+/4YbkA4vnv1MvfT5/b8MEmg6upQqiJEBVzO4h75me3+pZwaJfvqC1h1QnRowaNNe8IaE3Ju8Nz8Ti0DmFbgxnuATuYRinkHhr97g7HuVXEBYpHwx//7n1h+49Q92/YVb/+HWn5yPSFy6bq/+xq3/seuP3Ponu/7Krf+y68/c+je7/s6t/7P7D+7ekdt5t9J/oayg9j/7T14X+BtozP4bu//H7j+WSruI68gt2MAWB4W6yLz+L7//TO5//wNy0aDQhlJxvgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/regBanner.61a6dd18.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/Nuvama_Identity_RGB_Positive.607aa283.jpg\";","module.exports = __webpack_public_path__ + \"static/media/down.2aac3b08.svg\";","module.exports = __webpack_public_path__ + \"static/media/welcomeBack.8bddb114.jpg\";","module.exports = __webpack_public_path__ + \"static/media/panDob.fcc992bf.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignBanner.c4fc6e58.jpeg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/profileNavLogo.cf97a14b.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/bankNavLogo.52eb2245.svg\";","module.exports = __webpack_public_path__ + \"static/media/planNavLogo.cacd620d.svg\";","module.exports = __webpack_public_path__ + \"static/media/docNavLogo.b00ac10a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ipvNavLogo.0b65b81f.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogo.05970391.svg\";","module.exports = __webpack_public_path__ + \"static/media/investNavLogo.20822dfc.svg\";","module.exports = __webpack_public_path__ + \"static/media/profileNavLogoNew.a8dfe8cd.svg\";","module.exports = __webpack_public_path__ + \"static/media/bankNavLogoNew.19c9cbc7.svg\";","module.exports = __webpack_public_path__ + \"static/media/planNavLogoNew.d1e6b813.svg\";","module.exports = __webpack_public_path__ + \"static/media/docNavLogoNew.411b01a2.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogoNew.9ad5feaf.svg\";","module.exports = __webpack_public_path__ + \"static/media/investNavLogoNew.0ab4b981.svg\";","module.exports = __webpack_public_path__ + \"static/media/shareAdd.41922d4e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/useDiffPan.e2a63c5a.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAANCAYAAABGkiVgAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAFaADAAQAAAABAAAADQAAAAB7Q+x3AAABSklEQVQ4Eb2SYXHCQBBGSRVQBychDooEHDQOaBWAA5BQB40DUgVQBcQBcZC+d7OXCQzT/us382Z3v9272zAsFg80jmOCDRzhCkXmR7CXHhzNVjVvMLik3kMT/jfxDH3U9mt4ibolvldV1Ud9G7iwBjcZ4ABuK59wAXvmzunvwFn95vY2Ksw1qDO4id5KA3nwIzBX65hJ5J5RjV4WhQ1fs7mc+T21l8y9Zcxdy5wRrwOVFyqGh1MZNHcC7YpXIl6TO3zJzPOxHk56T9EYiUPkhmm7mfdX6vbPeYjba3DT/Eo5Gd6FOD1gDidwfu631Kou5/0Jyid5INkgrkD5e+9hCxdQTcz4yFEDZU9/EuYa3MBLtuCBGloo6kh8zN4GnB2gmS4iuf/zJ7wdvILqgsEC+cl+4iryL+Ibf/4z8XfxcoIDuNm99Ox5+f/pB5K7y6X19cWVAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAFKADAAQAAAABAAAAFAAAAACRFdLHAAAAvUlEQVQ4Ec2S3Q2DMAyEScUA3aDdoGzQbFJW6AZ0MhgBNugI3SD9LPIQTCQS8pKTDsV/Fwe7aRSccxYKBhVKMi9JWRlJ9Qu2/CvLi1zwqoc/34g9A3/suBhjfpsARSWwGzGMFn60M8G25Bx1v8rQbgdH2K+e/ZfYAAVWR2NTvpIkiXeYjZhgtkhYUL+gTPkMJl/01cVGO/zkRvyTp07Js0VQ9uEsYh3K2nQHbfTEX/ANZ1gGus9a7KLb6t/DP4hsv+DGLuV7AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/Adhaar_Sample.677a39b8.png\";","module.exports = __webpack_public_path__ + \"static/media/DLSample.2d997793.jpg\";","module.exports = __webpack_public_path__ + \"static/media/passportSample.bfdfe82d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/VoterID_Sample.ca359d81.jpg\";","module.exports = __webpack_public_path__ + \"static/media/profileBanner.6524e1f2.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/micr.f86428a1.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAAD4/042AAAKAElEQVRoBe1YW4hdZxX+9u3sc2bmJDOTZpKYVEMV2ypIvDzUB6li1aJgCvrQPvQCgk8++OqriuKr4JOU+GagCKJUqUKbihYsiPqStjbqlKY2yUzmdu5n3/y+tfc+tzlnJhMnlkIXZ9/+y/q/df3Xf5zN765keBeT+y7GbtDfE+CdtuB7FrhVC1zpnsHT6+exFi3d6pRbGufcySy0FdfxzNZDuLj5MP7aud8AeYjxpSMv4fHlZ/H5hZfhu8ktAZ016NAFiFMPv288gJ9vPYzndj6NKKvMWhvH/Q08uvgcnjz2K9wTvjVz3F4dhy7A+cvfwZ/jB9HH3F7r7uo7X7uIH9x9AaeqnV19Mxu8EIcexH/YPAs0r+CD6ctA0pu5tjqyLMEHohdxz9aP8csrO1jvhXuOt04vgBMegVM/Bbd+Av7+Mw4+opcFuNIK4OF1rNRivI374PjVAaMsaeNM/wW0GqtYjQK2532hlw7G7HoR8EodTsCxbgHbcQ5XgE4iMENKKMLbHY8N/8Y8u5pYxsnoBazvbOGqGX98fM3bHdCOwIYLpoAMDq3GexoPhDhUC/TT2eyaEfDJyq/xlx1pebrnEtsYOUENqBA8tQ+Cd6hxPQHySBMKk87gNMbm9j8e+fjVscmh2x/7nvwIR1KqE9YJfp5DMmQJpWe8QJpPI2RpauAl0HRVTHI+4PdTH3kJD75/FRe+dRnn7t4czHaotb2oWgjgzh2jr89B7uM4ckHil8Y1Xy5E4I5L6Oy7IwKsbh/DpW8+g8WVKi489jw+e+q1HLcz4SN569jdqS2bn5vWqXllKllBl0OXse+4h4yXstwdEeDSW/fixWv3mrbOHV3Ftz/xRyzW9nYfSVGdp9tIs+XFNkcaHwsOBrIj2IwFPu+IAAJz7sM9bK9xU+o08ciz38BWZ/aOrPGiWqAA3Q06s+ClPoqnDdKNFpqdNgajbu/l3Pe+gtW1Ofzsi1tYrHax1R3uA/txFNBRreu9bJMLOdS8nrQNLeDtr5nJBZW+kiQPqMm+8lvgRU/97lGqNNds2TfraTl+zF2GI0sh4Hq5MAxgCeJrV1PEI+4yMLrDGVPeUqavhJlAT/lgnMR0V2qBTD0y66bjG1PJYquzf4mgFKrsYkKUEyeepnmuKVJYa7zv0AJZwgAjAKe6aJFtgpSa4DMpgJdNAp+TQ2GYmilUjATNuGwvuicftNwsqrrMMMKgTWqEZG0BL0mgS5KwrjYGkW3Zeqc2rVjiJiIvabRjRLHSWTlt9jNL9x6UTYCb5GRpchSggBd1j8Bm1H6egfKZEsY1kyltTZImcytv9xwK4aPLZzoDoIC3GynWrylnz6ZZ8zUjZB2UZ5mhhiWQyAKYYE372tBGhMyRO0xGimqpuXi3mYXphLsbOdhpu2h15Pu5ppM4Q2MzwbU3E2ysZTierOMn9R/hc3N/G8sixou3kXXLJnveV2/g+x97vWgj70Lr1qDdd+Cy4jEUUP2+4zMLqdYgOXQfqzmKCao5xslBRH4RK0yP2tlZl9BimDMNGatfPnkZX6u9gjd6x/HT61/AxfXPoJmyKCONumHNifDVE6t44vSr+NTSBpPhHLJ+FW7gM0C5LpUnCwhwri7Nz8sIrZenVfZv/vCs9Rt4AdHWLSlpiajfxc31pi0+eXNTWmR9fHetHmVWpjEXiDeo5EI14yp+sfEAnr7+EJbjv2O718fjp/+Br5/8J44EfQPV6QTY2Yhx4uxdqNVDLk/HUOEmklIFWMKULmVP8mefbWRmFhVNRUBrAiuncZUZt/1u9FOPbka5ArpZGGRY8Lt4cuWSXVdaS/jQfF7cpexvNXzsbEZIVNeIShNJ6+Yq5FeAt24JpYONG+TWIEbfwKvetsKJJrI6RMIUljDOB79FidyNeZrKDIMUgZ8Z+JRx0+JprbHZZ1IYt6BWUVrPtU/opn22ETBvdHj2mb+oPmLaZXByFyPYErykVgCZ+XIXODj08RkxDRn36FryCCpaGs+yQuPjQ4fBy2OjNJ+7j7Bz91U8Cp+sxH0r6zUZMw0KoAOChht4SjoR9ZNr7PldRtuUQdpTEp5/syxPGFOGAHNLcJffl597pVjTMiWPWBT2W8i627x2kEUtU7p4DGNAbiTNS8LC/8w6U1e6zcZp+80IK//ER+EtLyFtXkfaWkPW3jDAiNrMLXQ3xeUE0YXoW0UMWJ+B5xvN5rkMQqaUTqfHXXl8smXPCWYJhTeNTLQPPrXWHhS9+hv0qjTVAUhnNhZx/dyFbGLhe3QlKWyhXuVVQ78fodvpo9PlaUiyFO4S0zdbToBOWMWpSoKQNdFM2kcA0zL/yTgIMQYUXaqvlYE4WZfFwTibSiVAhTtVHQvod/vY2u7iBlNML6jA5zPg5bh7/6umv1kOm/IYkKqthKBqtSuXbjS6mtr0o++EtRAnqhRmGbjRSLDeYjXKdssco3Mm36f48OSQg37beaCsf3Tqt33AuBBtSQa++C6b2TYfujhbDXD2eIbtTormRpvWKydNeXa2pjT+b02u5Vel0tJtlIVKks/KpSSA8vCgr5RCFtEWn+FozcPS0dpILJVMhk/XG84btnKf4IbUJI8bbZ4pentpYHRW/u7rAJFl9F+BFCn/Crg+x0BLMLbrYX+PFHFTzFP8zNfrrGXqjJGIZ/kWg575elQfox9k0yHwHhEkVQ9hhSUId+4e/7kLvYz/YtDCrKeCGUJzupFKP2ImMIGzLMEGFXS2sG7qE5UCjrzz1Upwgi8P4S6ruSqz1tzp+5EyrhqvPM+zREYtax5DTFmLMdei4N4cd2iurXJDR1PpQopMaY0Gzx/tKEWVAs7x34qQ0TpQcs7K7r6Vj8UZQGksj4ECrA2REPo2iaxl+J7v4IMeQ0BhWM84tUWkr/0W83SteVanMSW4xiPnf3q0MAUIlJDIlrjtYjI3gLSrCaI1tKq2n06UK0BzKnIQrVOQpdHyqGcd8vNhfzmObaUl2FTIpPGD01EZK6oWF1YQr/6J44b+rFR7ZiXEqbsyrLV4euOlqtUlD4F3yd+la4qnCWUWyYVRkvT5PQle4MyFBHgg1UC6CSkERvExoLzfXEeHAPW7FbjVI0g3V1kCTM84HoGcrHt2danZm20ejFjb2T5E3iYEAUmokP4/xzgI6UazaLgPSIpckuHYUoMSSpYpqeBn/yJojFmNjdR+1msh3b5ajtzzWaVvnz7q4TRHNZh9mkWsHAnzAPb3CWAx5z4gpyo0KN8woAQj0Kbxsm0USy6B1eQ0vVnP53mS7+nGv0YH3vJ7nXsKD2MHJj//732oXQNjGhdItku44nXIXb6Zx4TGK9wcZpes8SY9SaXJ/48Gkbk7BgoQ5vu5xvOW0XcZjPAZZWn75r7/7N0JsfzBEZLcpXjT+thK01wol9tiQH7Pg4Zq9neC/gs93BIhgFG7EwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/T&C_BrokeragePlan.37407067.pdf\";","module.exports = __webpack_public_path__ + \"static/media/NWIL-Booklet-A5-Nov 2022.9d06101b.pdf\";","module.exports = __webpack_public_path__ + \"static/media/Disclaimer_DIY.f6379bff.pdf\";","module.exports = __webpack_public_path__ + \"static/media/blueTick.b661dd9a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ipv_demo.b90ee3db.jpg\";","module.exports = __webpack_public_path__ + \"static/media/finalTick.bb30f34f.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","export default interface indexer {\r\n\t[indexer: string]: any; //indexer\r\n}\r\n\r\nexport interface IUserObj {\r\n\tfirstname: string,\r\n\tlastName: string,\r\n\temail: string,\r\n\tmobile: string,\r\n\tcity: string,\r\n\trmCode?: string,\r\n\tUCC_Code?:string\r\n}\r\n\r\nexport interface jwtToken {\r\n\tnbf: number;\r\n\tiat: number;\r\n\texp: number;\r\n\tuser: {\r\n\t\tUserName: string;\r\n\t\tAi: string;\r\n\t\tCAi: any;\r\n\t\tName: string;\r\n\t\tempCategory: string;\r\n\t\tUserType: number;\r\n\t\tRoles: null;\r\n\t};\r\n\tauth_token: string;\r\n\tv_auth_token: string;\r\n\tusername: string;\r\n\tisImpersonated: boolean;\r\n\taccType: string;\r\n\tdealerid: string;\r\n\tempcodetxt: string;\r\n\tlgnSrc?: string;\r\n}\r\n\r\nexport interface appIdKey {\r\n\tapp: number;\r\n\tappid: string;\r\n\tav: string;\r\n\tbd: string;\r\n\texp: number;\r\n\tff: string;\r\n\tiat: number;\r\n\tiss: string;\r\n\tnbf: number;\r\n\tsrc: string;\r\n}\r\n\r\n// can contain only two strings: \"BUY\" or \"SELL\"\r\nexport enum EBuyOrSell {\r\n\tBUY = \"BUY\",\r\n\tSELL = \"SELL\"\r\n}\r\n\r\nexport interface IListObj {\r\n\tvalue: number | string;\r\n\tdisplay: string;\r\n}\r\n\r\nexport interface IListInfoObj extends IListObj {\r\n\tinfo?: string;\r\n}\r\n\r\nexport const initialIListObj: IListObj = {\r\n\tvalue: '',\r\n\tdisplay: ''\r\n}\r\n\r\nexport interface IDomain {\r\n\troot: string;\r\n\tMW: string;\r\n\tstreamUrl: string;\r\n\tjmw: string;\r\n\tjmw_eq: string;\r\n\tjmw_eq_eq: string;\r\n\tjmw_comm: string;\r\n\tjmw_mf: string;\r\n\tjmw_nse: string;\r\n\tjmw_content: string;\r\n\tjmw_login: string;\r\n\ttradeService: string;\r\n\tedelService: string;\r\n\tappId: string;\r\n\tappIdKey: string;\r\n\trootUrl: string;\r\n}\r\n\r\nexport type TAccDataRes = {\r\n\taccTyp: string;\r\n\taccs: IAccDataAccs;\r\n\tadhrEQ?: IAccDataAdhrEqCom;\r\n\tadhrCOM?: IAccDataAdhrEqCom;\r\n\tcnsntLst: Array;\r\n\toptCnsts?: Array;\r\n\tdfPrds: { [x: string]: TBySl };\r\n\tdfPrdsMTF: { [x: string]: TBySl };\r\n\texcs: Array;\r\n\tgtdGtcValDays: string;\r\n\tmrgAccDts: { emIds?: Array; phNos: Array; uids: Array };\r\n\tmrgSts: string;\r\n\tmtf: { popFl: string; sts: string };\r\n\tordTypes: Array<{ key: string; value: string }>;\r\n\tothAccDts: { accTyp: string; isAct: boolean; isOnline: boolean; uid: string };\r\n\tprds: { exc: string; prd: Array<{ prdDpNm: string; prdVal: string; validity: Array }> };\r\n\tsts: string;\r\n\ttype: string;\r\n\tval: Array<{ exc: string; validity: Array }>;\r\n};\r\n\r\nexport type TAccData = ObjectConcat<\r\n\tTAccDataRes,\r\n\t{\r\n\t\tuserID: IAccDataAccs[\"uid\"];\r\n\t\tmtf: TAccDataRes[\"mtf\"][\"sts\"];\r\n\t\tadhrEQ: { stat: TAccDataRes[\"adhrEQ\"]; brkCode: IAccDataAccs[\"eqBrk\"] };\r\n\t\tadhrCOM: { stat: TAccDataRes[\"adhrCOM\"]; brkCode: IAccDataAccs[\"coBrk\"] };\r\n\t\tcoAccID: IAccDataAccs[\"coAccID\"];\r\n\t\teqAccID: IAccDataAccs[\"eqAccID\"];\r\n\t\teqRmRt: IAccDataAccs[\"eqRmRt\"];\r\n\t\teqAccName: IAccDataAccs[\"eqAccName\"];\r\n\t\tcoAccName: IAccDataAccs[\"coAccName\"];\r\n\t\tprfId: IAccDataAccs[\"prfId\"];\r\n\t\twtspCnsnt: IAccDataAccs[\"wtspCnsnt\"];\r\n\t}\r\n>;\r\n\r\nexport interface IAccDataAccs {\r\n\tbseMfstwt: boolean;\r\n\teqAccID?: string;\r\n\tcoAccID?: string;\r\n\teqAccName?: string;\r\n\tcoAccName?: string;\r\n\teqAlgoClnt: string;\r\n\teqBrk?: string;\r\n\teqBrkCode?: string;\r\n\tcoBrk?: string;\r\n\tcoBrkCode?: string;\r\n\teqDob: string;\r\n\teqEmpCat: string;\r\n\teqRmRt: string;\r\n\teqstwt: boolean;\r\n\tllt: string;\r\n\tprfId: string;\r\n\trstpwd: boolean;\r\n\trstusr: boolean;\r\n\tucmCd: string;\r\n\tuid: string;\r\n\twtspCnsnt: string;\r\n}\r\n\r\nexport interface IAccDataAdhrEqCom {\r\n\tpopFl: string;\r\n\trlEDt: string;\r\n\trlFl: string;\r\n\tsts: string;\r\n}\r\n\r\nexport interface IAccDataCnsntLst {\r\n\taccType: string;\r\n\tmdtry: boolean;\r\n\tname: string;\r\n}\r\n\r\nexport type TBySl = { by: string; sl: string };\r\n\r\nexport interface IAccDataValidity {\r\n\tdpNm: string;\r\n\tvaVal: string;\r\n}\r\n\r\n/**\r\n * RequireAtLeastOne\r\n */\r\nexport type RequireAtLeastOne = Pick> &\r\n\t{\r\n\t\t[K in Keys]-?: Required> & Partial>>;\r\n\t}[Keys];\r\n\r\n/**\r\n * RequireOnlyOne\r\n */\r\nexport type RequireOnlyOne = Pick> &\r\n\t{\r\n\t\t[K in Keys]-?: Required> & Partial, undefined>>;\r\n\t}[Keys];\r\n\r\n/**\r\n * This works if two objects are concatenated. Pass the type of first object in T and type of second object in S\r\n */\r\nexport type ObjectConcat = B & Pick>;\r\n","import React from \"react\";\r\nimport \"./EdelLogoCenter.scss\";\r\nimport logo from \"../../../assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg\";\r\n\r\nconst EdelLogoCenter = () => {\r\n return (\r\n
\r\n
\r\n {/* */}\r\n \"logo\"\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EdelLogoCenter;\r\n","import { IListObj } from \"../types/genericTypes\";\r\nimport profileNavLogo from \"../../assets/icons/profileNavLogo.svg\";\r\nimport bankNavLogo from \"../../assets/icons/bankNavLogo.svg\";\r\nimport planNavLogo from \"../../assets/icons/planNavLogo.svg\";\r\nimport docNavLogo from \"../../assets/icons/docNavLogo.svg\";\r\nimport ipvNavLogo from \"../../assets/icons/ipvNavLogo.svg\";\r\nimport esignNavLogo from \"../../assets/icons/esignNavLogo.svg\";\r\nimport investNavLogo from \"../../assets/icons/investNavLogo.svg\";\r\nimport profileNavLogoNew from \"../../assets/icons/profileNavLogoNew.svg\";\r\nimport bankNavLogoNew from \"../../assets/icons/bankNavLogoNew.svg\";\r\nimport planNavLogoNew from \"../../assets/icons/planNavLogoNew.svg\";\r\nimport docNavLogoNew from \"../../assets/icons/docNavLogoNew.svg\";\r\nimport esignNavLogoNew from \"../../assets/icons/esignNavLogoNew.svg\";\r\nimport investNavLogoNew from \"../../assets/icons/investNavLogoNew.svg\";\r\n\r\nexport const emailVerificationBody = {\r\n mailBody: \"Please collect your OTP\",\r\n mailFrom: \"contact@nuvama.com\",\r\n mailSource: \"DIY\",\r\n mailSubject: \"Enter OTP to authenticate registered email id\",\r\n};\r\n\r\nexport const days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n];\r\n\r\nexport const dateOptionsList = [\r\n { value: \"01\" },\r\n { value: \"02\" },\r\n { value: \"03\" },\r\n { value: \"04\" },\r\n { value: \"05\" },\r\n { value: \"06\" },\r\n { value: \"07\" },\r\n { value: \"08\" },\r\n { value: \"09\" },\r\n { value: \"10\" },\r\n { value: \"11\" },\r\n { value: \"12\" },\r\n { value: \"13\" },\r\n { value: \"14\" },\r\n { value: \"15\" },\r\n { value: \"16\" },\r\n { value: \"17\" },\r\n { value: \"18\" },\r\n { value: \"19\" },\r\n { value: \"20\" },\r\n { value: \"21\" },\r\n { value: \"22\" },\r\n { value: \"23\" },\r\n { value: \"24\" },\r\n { value: \"25\" },\r\n { value: \"26\" },\r\n { value: \"27\" },\r\n { value: \"28\" },\r\n { value: \"29\" },\r\n { value: \"30\" },\r\n { value: \"31\" },\r\n];\r\n\r\nexport const monthOptionsList = [\r\n { value: \"01\", display: \"JAN\" },\r\n { value: \"02\", display: \"FEB\" },\r\n { value: \"03\", display: \"MAR\" },\r\n { value: \"04\", display: \"APR\" },\r\n { value: \"05\", display: \"MAY\" },\r\n { value: \"06\", display: \"JUN\" },\r\n { value: \"07\", display: \"JUL\" },\r\n { value: \"08\", display: \"AUG\" },\r\n { value: \"09\", display: \"SEP\" },\r\n { value: \"10\", display: \"OCT\" },\r\n { value: \"11\", display: \"NOV\" },\r\n { value: \"12\", display: \"DEC\" },\r\n];\r\n\r\nexport const yearOptionsList = (minAge?: number, maxAge?: number) => {\r\n let currentYear = new Date().getFullYear();\r\n currentYear = currentYear - (minAge || 0);\r\n let yearArr: any = [];\r\n for (let i = 0; i < (maxAge || 100); i++) {\r\n let obj: any = {};\r\n obj[\"value\"] = (currentYear - i).toString();\r\n yearArr.push(obj);\r\n }\r\n return yearArr;\r\n};\r\n\r\nexport const dashboardUrl = {\r\n personalIfo: \"/personalInformation\",\r\n profile: \"/profile\",\r\n bank: \"/bank\",\r\n plan: \"/plan\",\r\n profiler: \"/profiler\",\r\n doc: \"/verify_personal_documents\",\r\n ipv: \"/ipv\",\r\n menu: \"/menu\",\r\n eSign: \"/esign\",\r\n};\r\n\r\nexport const geoLocationConfig = {\r\n timeout: 3000,\r\n enableHighAccuracy: false,\r\n maximumAge: 0,\r\n errorTimer: 20000,\r\n};\r\n\r\nexport interface ILeftNavBarArray {\r\n name: string;\r\n time: string;\r\n isComplete: boolean;\r\n navUrl: string;\r\n percentWeight: number;\r\n priority: number;\r\n logo: string;\r\n logoNew?: string;\r\n isRequired: boolean;\r\n}\r\n\r\nexport const ipvNavBarObj: ILeftNavBarArray = {\r\n name: \"Video IPV\",\r\n time: \"30 Sec\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.ipv,\r\n priority: 5,\r\n percentWeight: 2,\r\n logo: ipvNavLogo,\r\n isRequired: true,\r\n};\r\n\r\nexport const leftNavBarArray: Array = [\r\n {\r\n name: \"Personal Documents\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.personalIfo,\r\n priority: 1,\r\n percentWeight: 20,\r\n logo: profileNavLogo,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Profile\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.profile,\r\n priority: 1,\r\n percentWeight: 20,\r\n logo: profileNavLogo,\r\n logoNew: profileNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Bank Details\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.bank,\r\n priority: 2,\r\n percentWeight: 20,\r\n logo: bankNavLogo,\r\n logoNew: bankNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Product & Pricing\",\r\n time: \"2 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.plan,\r\n priority: 3,\r\n percentWeight: 20,\r\n logo: planNavLogo,\r\n logoNew: planNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Additional Profile Information\",\r\n time: \"1 min\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.profiler,\r\n priority: 6,\r\n percentWeight: 20,\r\n logo: investNavLogo,\r\n logoNew: investNavLogoNew,\r\n isRequired: false,\r\n },\r\n {\r\n name: \"Verify Personal Documents\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.doc,\r\n priority: 4,\r\n percentWeight: 20,\r\n logo: docNavLogo,\r\n logoNew: docNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"E-Sign\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.eSign,\r\n priority: 7,\r\n percentWeight: 20,\r\n logo: esignNavLogo,\r\n logoNew: esignNavLogoNew,\r\n isRequired: false,\r\n },\r\n];\r\n\r\nexport const fatherSpouseRelationList = [\r\n { value: \"01\", display: \"Father\" },\r\n { value: \"02\", display: \"Spouse\" },\r\n];\r\n\r\nexport const containerUrl = {\r\n registration: \"/\",\r\n continue: \"/continue\",\r\n pan: \"/pan\",\r\n otp: \"/otp\",\r\n accexists: \"/accexists\",\r\n dgLocker: \"/dgLocker\",\r\n showDocuments: \"/showDocuments\",\r\n mailVerified: \"/mailVerified\",\r\n error: \"/error\",\r\n nri: \"/nri\",\r\n ocv: \"/ocv\",\r\n submit: \"/submit\",\r\n poa: \"/poa\",\r\n partner: \"/partner\",\r\n selfie: \"/selfie\",\r\n};\r\n\r\nexport const statusUrl = {\r\n statusHome: \"/status\",\r\n statusVerified: \"/status/already-exists\",\r\n accountNotFound: \"/status/not-found\",\r\n docVerificationInProgress: \"/status/doc-verification-in-progress\",\r\n documentReject: \"/status/doc-reject\",\r\n statusContinue: \"/status/continue\",\r\n};\r\n\r\nexport const ipvDocObj = {\r\n documentid: 365,\r\n documentcategory: \"In Person Verification\",\r\n documentname: \"In Person Verification\",\r\n documentcategoryid: 62,\r\n typeofaccount: null,\r\n entitytype: \"INDIVIDUAL\",\r\n contenttype: \"IN PERSON VERIFICATION\",\r\n documenttype: \"IPV\",\r\n ocr_flag: false,\r\n};\r\n\r\nexport const loginUrl = \"https://www.nuvamawealth.com/\";\r\nexport const digiLockerUrl =\r\n \"https://api.digitallocker.gov.in/public/oauth2/1/authorize\";\r\nexport const checkAadharLinkedUrl =\r\n \"https://resident.uidai.gov.in/verify-email-mobile\";\r\nexport const digiLockerRegisterUrl =\r\n \"https://accounts.digitallocker.gov.in/signup\";\r\n\r\nexport const assignedTo = \"0\"; //hardCode\r\nexport const productCode = \"TD\"; //hardCode\r\nexport const addressType = \"02\"; //hardCode\r\nexport const clientGroup4 = \"CAS\"; //hardCode\r\nexport const retailAccCategory = \"15\"; //hardCode Account category for Retail user\r\nexport const employeeAccCategory = \"17\"; //hardCode Account category for nuvama Employee\r\n\r\nexport const incomeProofList = [\r\n { value: \"latestSalarySlip\", name: \"Salary Slip\", documentid: \"126\" },\r\n { value: \"latestForm16\", name: \"Form 16\", documentid: \"127\" },\r\n { value: \"ITRacknoledgement\", name: \"ITR Acknoledgement\", documentid: \"128\" },\r\n { value: \"bankStatement\", name: \"Bank statement\", documentid: \"129\" },\r\n {\r\n value: \"dematHoldingStatement\",\r\n name: \"Demat Holding Statement\",\r\n documentid: \"130\",\r\n },\r\n {\r\n value: \"etworthCertificate\",\r\n name: \"Networth Certificate\",\r\n documentid: \"131\",\r\n },\r\n];\r\n\r\nexport const nriIdType: Array = [\r\n { value: \"TIN\", display: \"TIN\" },\r\n { value: \"Others\", display: \"Others\" },\r\n];\r\n\r\nexport const ecomAgentTimeList: Array = [\r\n { value: \"1\", display: \"08AM To 12PM\" },\r\n { value: \"2\", display: \"12PM To 04PM\" },\r\n { value: \"3\", display: \"04PM To 08PM\" },\r\n];\r\n\r\nexport const edelweissOfficeName = \"Nuvama Wealth & investment Ltd\";\r\nexport const edelweissOfficeAddress =\r\n \"C/O. SSAI,CASA BLANCA, UNIT NO. - 803-805, SECTOR 11, PLOT NO. 45, OPP. IDBI TOWERS, NR. CBD BELAPUR STATION, CBD BELAPUR PIN CODE: 400614\";\r\n\r\nexport const panDocumentId = 1;\r\nexport const photographId = 2;\r\nexport const DocumentCategoryIdForphotographId = 1;\r\nexport const firstChequeDocumnetId = 21;\r\nexport const secondChequeDocumnetId = 357;\r\nexport const thirdChequeDocumnetId = 359;\r\nexport const fourthChequeDocumnetId = 383;\r\nexport const fifthChequeDocumnetId = 385;\r\n\r\nexport const firstBankDocumentCategoryId = 9;\r\nexport const secondBankDocumentCategoryId = 60;\r\nexport const thirdBankDocumentCategoryId = 61;\r\nexport const fourthBankDocumentCategoryId = 70;\r\nexport const fifthBankDocumentCategoryId = 71;\r\n\r\nexport const firstBankStatementDocumnetId = 22;\r\nexport const secondBankStatementDocumnetId = 358;\r\nexport const thirdBankStatementDocumnetId = 360;\r\nexport const fourthBankStatementDocumnetId = 384;\r\nexport const fifthBankStatementDocumnetId = 386;\r\n\r\n\r\nexport const signatureDocumentId = 305;\r\n\r\nexport const aadhaarDocumnetId = 117;\r\nexport const passportDocumnetId = 114;\r\nexport const voterIdDocumentId = 116;\r\nexport const dlDocumentId = 118;\r\n\r\nexport const corrAadhaarDocumnetId = 10;\r\nexport const corrPassportDocumnetId = 11;\r\nexport const corrVoterIdDocumentId = 12;\r\nexport const corrDlDocumentId = 13;\r\n\r\nexport const DIY = \"DIY\";\r\n\r\nexport const subsource_ID = 38;\r\n\r\n// checked in if condition\r\nexport const edelweissLite = \"Nuvama Lite\";\r\nexport const edelweissElite = \"Nuvama Elite\";\r\n\r\nexport const watsappNo = \"7304470488\";\r\n\r\nexport const poaTrueMsg =\r\n \"DDPI is an authorization to access your demat account to meet pay-in obligations for settlement of trades executed by you\";\r\n\r\nexport const poaFalseMsg = \"The settlement would be done through e-DIS.\";\r\n","// ALL FUNCTIONS RETURN\r\n// VALID - NULL\r\n// INVALID - ERROR STRING\r\n\r\n/**\r\nimport { integerExp } from './regex';\r\n * @param value The numerical value that needs to be checked for integer\r\n * @returns return null if VALID; error message if INVALID\r\n */\r\nexport function isValidRegex(value: string, regex: RegExp): string | null {\r\n return regex.test(value) ? null : \"value is not integer\";\r\n}\r\n\r\n/**\r\n * @param value The value that is required\r\n * @returns return null if value is present; error message if value is blank\r\n */\r\nexport function required(value: any): string | null {\r\n return value === undefined || value === null || value === \"\"\r\n ? \"value is required\"\r\n : null;\r\n}\r\n\r\n/**\r\n * @param value The value that is to be validated\r\n * @param min Value should be less than this number\r\n * @returns return null if value is not present or if value is >= min; error message if value < min\r\n */\r\nexport function grtrThanEqTo(value: number, min: number): string | null {\r\n return value === undefined || value === null || value >= min\r\n ? null\r\n : \"value should be greater\";\r\n}\r\n\r\n/**\r\n * @param value The value that is to be validated\r\n * @param max Value should be greater than this number\r\n * @returns return null if value is not present or if value is <= max; error message if value > max\r\n */\r\nexport function lessThanEqTo(value: number, max: number): string | null {\r\n return value === undefined || value === null || value <= max\r\n ? null\r\n : \"value should be smaller\";\r\n}\r\n\r\n/**\r\n * @param value The value to be validated\r\n * @param multiple Value should be multiple of this value\r\n * @returns return null if value is not present or if value is multiple of `multiple`; error message otherwise\r\n */\r\nexport function multipleValidation(\r\n value: number,\r\n multiple: number\r\n): string | null {\r\n return value === undefined || value === null || value % multiple === 0\r\n ? null\r\n : \"value is not a multiple of \" + multiple;\r\n}\r\n\r\n/**\r\n * @param day The value to be validated\r\n * @param month The value to be validated imp: minus 1 in this becuase month is start from 0\r\n * @param year The value to be validated\r\n * @returns return true if date is valid; else return false\r\n */\r\nexport function dateValidation(\r\n year: number,\r\n month: number,\r\n day: number,\r\n isLessThanToday?: boolean\r\n): boolean {\r\n const date = new Date(year, month, day);\r\n if (\r\n date.getFullYear() === year &&\r\n date.getMonth() === month &&\r\n date.getDate() === day &&\r\n (!isLessThanToday || date < new Date())\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * @param existingString The existing string which needs to be validate\r\n * @param length The minimum length the sting required\r\n * @returns return the string with append blank string with existing string to the length specified\r\n */\r\nexport function appendSpace(existingString: string, length: number) {\r\n for (let i = existingString.length || 0; i < length; i++) {\r\n existingString += \" \";\r\n }\r\n return existingString;\r\n}\r\n\r\nexport function repairAddressWithConditions(address: string, city: string) {\r\n address = address.trim();\r\n const addLength = address.length;\r\n\r\n let addLine1 = address.substring(0, 30);\r\n let addLine2 = \"\";\r\n let addLine3 = \"\";\r\n let addLine4 = \"\";\r\n\r\n if (addLine1.length < 5 || !isNaN(Number(addLine1.replace(/ /g, \"\"))))\r\n addLine1 = `${addLine1}`;\r\n\r\n if (addLength > 30) {\r\n addLine2 = address.substring(30, 60);\r\n if (addLine2.length < 5 || !isNaN(Number(addLine2.replace(/ /g, \"\"))))\r\n addLine2 = `${addLine2}`;\r\n }\r\n\r\n if (addLength > 60) {\r\n addLine3 = address.substring(60, 90);\r\n if (addLine3.length < 5 || !isNaN(Number(addLine3.replace(/ /g, \"\"))))\r\n addLine3 = `${addLine3}`;\r\n }\r\n\r\n if (addLength > 90) {\r\n addLine4 = address.substring(90, 120);\r\n if (addLine4.length < 5 || !isNaN(Number(addLine4.replace(/ /g, \"\"))))\r\n addLine4 = `${addLine4}`;\r\n }\r\n\r\n return { addLine1, addLine2, addLine3, addLine4 };\r\n}\r\n","/**\r\n * This function adds a \\ character before all the characters that need to be escaped\r\n * @param str string which needs to be changed\r\n */\r\nfunction escapeRegexStr(str: string) {\r\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$1\");\r\n}\r\n\r\n/**\r\n * This regex checks for integers.\r\n *\r\n * - Tests true for literals like - `\"\", \"2\", \"32434325435\"`\r\n * - Tests false for literals like - `\"a\", \"12as\", \"as23\", \"123.13\"`\r\n */\r\nexport const integerExp = /^\\d*$/;\r\n\r\n/**\r\n * This regex checks for alphabets.\r\n *\r\n * - Tests true for literals like - `\"\", \"a\", \"vfsgreftgr\"`\r\n * - Tests false for literals like - `\"1\", \"12as\", \"as23\", \"s$ajkd\"`\r\n */\r\nexport const alphabetExp = /^[a-zA-Z ]*$/;\r\n\r\n/**\r\n * This regex checks for floating point numbers.\r\n *\r\n * If decimalPlaces is 2, then\r\n * - Tests true for literals like: `\"\", \"1\", \"45243464\", \"3131.\", \"12312.2\", \"123432.34\"`\r\n * - Tests false for literals like: `\"a\", \"12ad\", \"as21\"`\r\n *\r\n * @param decimalPlaces (optional) number of decimal places\r\n * @returns RegExp for checking floating point numbers\r\n */\r\nexport function floatNumExp(decimalPlaces: number = 2) {\r\n // if decimalPlaces === 2,\r\n // exp = ^\\d*(?:\\.\\d{0,2})?$\r\n let exp = `^\\\\d*(?:\\\\.\\\\d{0,${decimalPlaces}})?$`;\r\n return new RegExp(exp);\r\n}\r\n\r\n/**\r\n * This regex checks for alphanumeric characters.\r\n *\r\n * - Tests true for literals like - `\"\", \"asd\", \"ASD\", \"123\"`\r\n * - Tests false for literals like - `\"_\", \"-\", \"$\", \".\", \" \", [any other non-alphanumeric character]`\r\n */\r\nexport const alphaNumExp = /^[a-zA-Z0-9]*$/;\r\n\r\nexport const addressAlphaNum = /^[a-zA-Z0-9 ]*$/;\r\n\r\n/**\r\n * This regex checks for emails.\r\n *\r\n * - Tests true for literals like - `\"\", \"asd\", \"ASD\", \"123\"`\r\n * - Tests false for literals like - `\"_\", \"-\", \"$\", \".\", \" \", [any other non-alphanumeric character]`\r\n */\r\nexport const emailRegex =\r\n /^[-_a-zA-Z0-9]+(\\.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(\\.[a-zA-Z]{2,4})$/;\r\n\r\n/**\r\n * This regex checks if given string's length is between min and max characters.\r\n *\r\n * @param min min number of characters\r\n * @param max (optional) max number of characters. If not present then considered as infinity\r\n * @returns RegExp for checking if given string's length is between min and max characters\r\n */\r\nexport function betweenNChars(min: number, max?: number) {\r\n return new RegExp(\"^.{\" + min + \",\" + (max || \"\") + \"}\");\r\n}\r\n\r\n/**\r\n * This regex checks if given string's length is between min and max characters.\r\n *\r\n * @param min min number of characters\r\n * @param max (optional) max number of characters. If not present then considered as infinity\r\n * @returns RegExp for checking if given string's length is between min and max characters\r\n */\r\nexport function blockSpecChar(min: number, max?: number) {\r\n return new RegExp(\r\n `(^[a-zA-Z0-9]*[^~_@!\\`#$%^&*?\"',(){}<>\\\\[\\\\]:;|=+\\\\\\\\/]{${min},${\r\n max || \"\"\r\n }})+$`\r\n );\r\n}\r\n\r\n/**\r\n * This regex checks if string has atleast 1 character.\r\n *\r\n * - Tests true for literals like - `\"A\", \"ASD\", \"1A23\"`\r\n * - Tests false for literals like - `\"abc\", \" \", \"$\", \"123\"`\r\n */\r\nexport const atleast1UpperChar = /[A-Z]/;\r\n\r\n/**\r\n * This regex checks if string has atleast 1 digit.\r\n *\r\n * - Tests true for literals like - `\"1\", \"123\", \"1A23\"`\r\n * - Tests false for literals like - `\"abc\", \" \", \"$dfs\", \"ABC\"`\r\n */\r\nexport const atleast1Digit = /\\d/;\r\n\r\n/**\r\n * This regex tests true if string is made from any character other than the mentioned characters.\r\n * If any mentioned character appears even once, then regex tests false\r\n *\r\n * - Tests true for literals like - `\"\", \"$\", \"34\", \"saf&dfds\", \" \"`\r\n * - Tests false for literals like - `\"₹\", \"as₹fa\", \"DFS\", \"123\"`\r\n */\r\nexport const atleast1SplChar = /[^0-9a-zA-Z]/;\r\n\r\n/**\r\n * This regex tests true if string is made from any character other than the mentioned characters.\r\n * If any mentioned character appears even once, then regex tests false\r\n *\r\n * - Tests true for literals like - `\"\", \"$\", \"34\", \"saf&dfds\", \" \"`\r\n * - Tests false for literals like - `\"₹\", \"as₹fa\", \"DFS\", \"123\"`\r\n */\r\nexport const exceptSplChar = /^[^()<>?%+:;{}[\\]\\\\|~`^\\-‘\",./₹]*$/;\r\n\r\n/**\r\n * This regex checks for atleast 1 alphabet and 1 digit characters.\r\n *\r\n * - Tests true for literals like - `\"a1\", \"1a\", \"sdfh23ejsd\", \"sdfh2-3ej$sd\"`\r\n * - Tests false for literals like - `\"\", \"-\", \"a\", \"1\", \"dfsdsd\", \"213213\"`\r\n */\r\nexport const atleast1Alpha1Num = /(?=.*?[0-9])(?=.*?[A-Za-z]).+/;\r\n\r\n/**\r\n * This regex checks if the string to be checked is not equal to str\r\n *\r\n * @param str the string that will be compared\r\n * @param flag regex flag\r\n * @returns RegExp for checking if the string to be checked is not equal to str\r\n */\r\nexport function notEqualTo(str: string, flag?: string) {\r\n return new RegExp(\"^(?!\" + str + \"$).*$\", flag);\r\n}\r\n\r\n/**\r\n * This regex checks if the string to be checked is equal to str\r\n *\r\n * @param str the string that will be compared\r\n * @param flag regex flag\r\n * @returns RegExp for checking if the string to be checked is equal to str\r\n */\r\nexport function equalTo(str: string, flag?: string) {\r\n return new RegExp(\"^(?=\" + escapeRegexStr(str) + \"$).*$\", flag);\r\n}\r\n\r\n/**\r\n * This regex checks if the string is a valid pan\r\n */\r\n// export const pan = /^[a-zA-Z]{5}[\\d]{4}[a-zA-Z]{1}$/;\r\nexport const pan = /^[a-zA-Z]{3}[pP]{1}[a-zA-Z]{1}[\\d]{4}[a-zA-Z]{1}$/; //only for person\r\n// export const pan = /^[a-zA-Z]{3}[pPcChHfFaAtTbBlLjJgG]{1}[a-zA-Z]{1}[\\d]{4}[a-zA-Z]{1}$/; //for all\r\n\r\n/**\r\n * This regex checks if the string is a valid phone/mobile number\r\n */\r\nexport const phoneNo = /^[6789]\\d{9}$/;\r\n\r\n/**\r\n * This regex checks if the string is a valid upi\r\n */\r\nexport const upiExp = /^[-.a-zA-Z0-9_]+@{1}[A-Za-z0-9]+$/;\r\n\r\n/**\r\n * This regex checks if the string to be contains only digits or not\r\n *\r\n * @returns RegExp for checking if the string contains only digits or not\r\n *\r\n * - Tests true for literals like - `\"231256\", \"34 151 2112 11548\"`\r\n * - Tests false for literals like - `\"₹\", \"as1541fa\"`\r\n */\r\nexport const detectIntWithSpace = /^(?=.*\\d)[\\d ]+$/;\r\n","import * as React from \"react\";\r\nimport \"./InputField.scss\";\r\nimport indexer from \"../../types/genericTypes\";\r\nimport {\r\n required,\r\n isValidRegex,\r\n grtrThanEqTo,\r\n lessThanEqTo,\r\n} from \"../../utils/validation\";\r\nimport {\r\n integerExp,\r\n alphaNumExp,\r\n alphabetExp,\r\n addressAlphaNum,\r\n} from \"../../utils/regex\";\r\n\r\nexport interface IInputFieldProps {\r\n disabled?: boolean; // To make input disabled\r\n defaultValue?: string; // The defaultValue in input field (pass only if required)\r\n placeholder?: string; // placeholder\r\n prefix?: React.ReactChild; // text/element to show before the input field\r\n suffix?: React.ReactChild; // text/element to show after the input field\r\n helpText?: string; // help text\r\n helpTextColor?: \"grey\" | \"blue\"; // the color of help text, takes gray as default\r\n errorText?: string | null; // error text\r\n required?: boolean; // true if is required\r\n integer?: boolean; // true if only integer can be entered\r\n alphanum?: boolean; // true if only alphanumeric can be entered\r\n addressAlphaNum?: boolean;\r\n alphabate?: boolean; // true if only alphabate can be entered\r\n float?: RegExp; // number of digits after decimal\r\n min?: number; // minimum number\r\n max?: number; // maximum number\r\n className?: string; // extra classname if needed for module specific style\r\n type?: \"tel\" | \"text\" | \"email\" | \"password\"; // type of input\r\n maxLength?: number; // if there is a max length for the input\r\n pattern?: RegExp; // validate any regExp\r\n id?: string;\r\n name?: string;\r\n autoComplete?: \"on\" | \"off\"; // used for switching on/off autocomplete\r\n onChange?: (value: string) => string | void; // function to be called on change. Return string if value needs to be changed from outside\r\n onBlur?: (error: indexer) => void; // function to be called on blur, all errors will be available in error object\r\n cancelSuffix?: boolean; //To display cross(x), to clear the input;\r\n isCaps?: boolean; //Input value should be all CAPS then true, else false\r\n hiddenText?: string; // text shows only on focus\r\n}\r\n\r\nconst InputField: React.FC = (props) => {\r\n // sets the default value of input if present\r\n // value: value of the input (type = string)\r\n // setValue: function to set value\r\n const [value, setValue] = React.useState(props.defaultValue || \"\");\r\n const [errText, setErrText] = React.useState(props.errorText);\r\n\r\n // if default value is updated from outside, change it inside also\r\n React.useEffect(() => {\r\n if (props.defaultValue !== undefined && value !== props.defaultValue) {\r\n setValue(props.defaultValue);\r\n }\r\n }, [props.defaultValue]);\r\n\r\n React.useEffect(() => {\r\n setErrText(props.errorText);\r\n }, [props.errorText]);\r\n\r\n // when focussed, this helps to colour the border of input_field_cont\r\n const [focusClass, setFocusClass] = React.useState(\"\");\r\n\r\n /**\r\n * @param value The string that needs to be checked for integer\r\n * @returns If integer need not be checked, then return true.\r\n * - If integer needs to be checked, then\r\n * - If value is valid integer, then return true; otherwise, return false\r\n */\r\n function isValidInteger(value: string): boolean {\r\n return (\r\n !props.integer || (props.integer && !isValidRegex(value, integerExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for float\r\n * @returns If float need not be checked, then return true.\r\n * - If float needs to be checked, then\r\n * - if value is valid float, then return true; otherwise, return false\r\n */\r\n function isValidFloat(value: string): boolean {\r\n return !props.float || (props.float && !isValidRegex(value, props.float));\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphanumeric characters\r\n * @returns If alphanum need not be checked, then return true.\r\n * - If alphanum needs to be checked, then\r\n * - if value is valid alphanum, then return true; otherwise, return false\r\n */\r\n function isValidAlphaNum(value: string): boolean {\r\n return (\r\n !props.alphanum || (props.alphanum && !isValidRegex(value, alphaNumExp))\r\n );\r\n }\r\n function isValidAddressAlphaNum(value: string): boolean {\r\n return (\r\n !props.addressAlphaNum ||\r\n (props.addressAlphaNum && !isValidRegex(value, addressAlphaNum))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphabatic characters\r\n * @returns If alphabate need not be checked, then return true.\r\n * - If alphabate needs to be checked, then\r\n * - if value is valid alphabate, then return true; otherwise, return false\r\n */\r\n function isValidAlphabate(value: string): boolean {\r\n return (\r\n !props.alphabate || (props.alphabate && !isValidRegex(value, alphabetExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for maxlength\r\n * @returns If maxlength need not be checked, then return true.\r\n * - If maxlength needs to be checked, then\r\n * - if value has less characters than maxlength, then return true; otherwise, return false\r\n */\r\n function isValidMaxLength(value: string): boolean {\r\n return props.maxLength === undefined || value.length <= props.maxLength;\r\n }\r\n\r\n /**\r\n * @param value The value that is required\r\n * @returns If required need not be checked, then return true.\r\n * - If required needs to be checked, return true if value is not present; false if value is present\r\n */\r\n function isRequired(value: any): boolean {\r\n return !props.required || (props.required && !!required(value));\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If min need not be checked, then return true.\r\n * - If min needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value < min; false if value >= min\r\n */\r\n function isLessThanMin(value: string): boolean {\r\n if (props.min === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for min\");\r\n }\r\n return !!grtrThanEqTo(+value, props.min);\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If max need not be checked, then return true.\r\n * - If max needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value > max; false if value <= min\r\n */\r\n function isGrtrThanMax(value: string): boolean {\r\n if (props.max === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for max\");\r\n }\r\n return !!lessThanEqTo(+value, props.max);\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for the pattern\r\n * @returns If pattern need not be checked, then return true.\r\n * - If pattern needs to be checked, then\r\n * - if value is valid pattern, then return true; otherwise, return false\r\n */\r\n function isValidPattern(value: string): boolean {\r\n return (\r\n !props.pattern || (props.pattern && !isValidRegex(value, props.pattern))\r\n );\r\n }\r\n\r\n /**\r\n * This function runs on blur.\r\n * This removes the focus class on input_field_cont and removes commas.\r\n * This function calls the onBlur callback function with all the errors.\r\n */\r\n function handleBlur() {\r\n setFocusClass(\"\");\r\n\r\n let errorObj: indexer = {};\r\n\r\n if (props.required) {\r\n errorObj = { ...errorObj, required: isRequired(value) }; // set isRequired error\r\n }\r\n if (props.min) {\r\n errorObj = { ...errorObj, min: isLessThanMin(value) }; // set error for min\r\n }\r\n if (props.max) {\r\n errorObj = { ...errorObj, max: isGrtrThanMax(value) }; // set error for max\r\n }\r\n if (props.pattern) {\r\n errorObj = { ...errorObj, pattern: isValidPattern(value) }; // set error for pattern\r\n }\r\n props.onBlur && props.onBlur(errorObj);\r\n }\r\n\r\n /**\r\n * Checks for all the validations and then changes value accordingly\r\n * @param e The input event\r\n */\r\n function handleChange(e: React.FocusEvent) {\r\n let resolvedValue: string;\r\n\r\n if (\r\n (e.target.value || e.target.value === \"\" || e.target.value === \"0\") &&\r\n isValidInteger(e.target.value) &&\r\n isValidFloat(e.target.value) &&\r\n isValidAlphaNum(e.target.value) &&\r\n isValidMaxLength(e.target.value) &&\r\n isValidAlphabate(e.target.value) &&\r\n isValidAddressAlphaNum(e.target.value)\r\n ) {\r\n // if value needs to be changed then process the new value\r\n if (props.isCaps) resolvedValue = e.target.value.toUpperCase();\r\n else resolvedValue = e.target.value;\r\n setErrText(\"\");\r\n } else {\r\n // otherwise process the previous state\r\n resolvedValue = value;\r\n }\r\n\r\n if (props.onChange) {\r\n const newValue = props.onChange(resolvedValue || \"\"); // call onchange callback\r\n\r\n if (newValue !== undefined) {\r\n setValue(newValue); // set the new value\r\n } else {\r\n setValue(resolvedValue || \"\"); // set the new value\r\n }\r\n }\r\n }\r\n\r\n function handleCancel() {}\r\n\r\n return (\r\n
\r\n \r\n {props.prefix &&
{props.prefix}
}\r\n setFocusClass(\" focus\")}\r\n onBlur={handleBlur}\r\n type={props.type}\r\n id={props.id}\r\n autoComplete={props.autoComplete}\r\n disabled={props.disabled}\r\n name={props.name}\r\n />\r\n {props.cancelSuffix && focusClass === \" focus\" && (\r\n
\r\n \r\n
\r\n )}\r\n {props.suffix &&
{props.suffix}
}\r\n
\r\n {props.errorText &&

{props.errorText}

}\r\n {props.hiddenText && (focusClass || value) && (\r\n

{props.hiddenText}

\r\n )}\r\n {props.helpText && (\r\n

\r\n {props.helpText}\r\n

\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n","import React, { Component } from \"react\";\r\nimport down from \"../../../assets/icons/down.svg\";\r\nimport \"./DropdownSearch.scss\";\r\n\r\nexport interface IProps {\r\n options: any;\r\n searchKey: string;\r\n placeholder?: string;\r\n noDataMsg?: string;\r\n isDownArrow?: boolean;\r\n name?: string;\r\n disabled?: boolean;\r\n errorText?: string;\r\n autoComplete?: string;\r\n searchLength: number;\r\n className?: string;\r\n defaultValue?: string;\r\n onChange?: (value: string) => void;\r\n onOptionSelect?: (value: any) => void;\r\n onBlur?: (value: any) => void;\r\n hideSuggestion?: boolean;\r\n autoSelectOff?: boolean;\r\n disableTick?: boolean;\r\n}\r\n\r\nexport interface IState {\r\n isShowSuggestions: boolean;\r\n value: string;\r\n selectedObj?: object | undefined;\r\n}\r\nclass DropdownSearch extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowSuggestions: false,\r\n value: props.defaultValue || \"\",\r\n selectedObj:\r\n (this.props.defaultValue &&\r\n this.findFromList(this.props.options, this.props.defaultValue)) ||\r\n undefined,\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: IProps) {\r\n //post getting the updated props, sets the selectedObj value to object with matching defaultvalue\r\n //if autoselectoff is true do not set the selectedObj value for ex refer city DD\r\n if (\r\n !prevProps.options.length &&\r\n this.props.options.length &&\r\n !this.state.selectedObj &&\r\n !this.props.autoSelectOff &&\r\n this.props.defaultValue &&\r\n this.state.selectedObj !== null\r\n ) {\r\n const matchedItem = this.findFromList(\r\n this.props.options,\r\n this.props.defaultValue\r\n );\r\n matchedItem &&\r\n this.setState({\r\n selectedObj: matchedItem,\r\n });\r\n }\r\n }\r\n findFromList = (list: Array, lookFor: string) => {\r\n const matchedOption = list.filter((val: any) => {\r\n return (\r\n val[this.props.searchKey]?.toLowerCase() === lookFor?.toLowerCase() ||\r\n Number(lookFor) === Number(val[this.props.searchKey])\r\n );\r\n });\r\n if (matchedOption.length === 1) {\r\n return matchedOption[0];\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n // static getDerivedStateFromProps(nextProps: IProps, prevState: IState) {\r\n // if (nextProps.defaultValue !== prevState.value && nextProps.defaultValue !== undefined) {\r\n // return { value: nextProps.defaultValue };\r\n // } else return null;\r\n // }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: IProps, prevState: IState) {\r\n if (\r\n nextProps.defaultValue !== prevState.value &&\r\n nextProps.defaultValue !== undefined\r\n ) {\r\n this.setState({ value: nextProps.defaultValue });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n if (\r\n this.props.searchLength === 0 ||\r\n this.state.value.length >= this.props.searchLength\r\n ) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n };\r\n\r\n onChange = (value: any) => {\r\n if (value.trim().length >= this.props.searchLength) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.setState({ value: value, selectedObj: undefined });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n handleBlur = () => {\r\n setTimeout(() => {\r\n if (this.state.isShowSuggestions) {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.props.onBlur && this.props.onBlur(this.state.selectedObj);\r\n }, 300);\r\n };\r\n\r\n onOptionSelect = (item: any) => {\r\n this.setState({\r\n value: item[this.props.searchKey],\r\n selectedObj: item,\r\n isShowSuggestions: false,\r\n });\r\n if (this.props.onOptionSelect) {\r\n this.props.onOptionSelect(item);\r\n }\r\n };\r\n //selects all the text on click\r\n handleClick = (event: any) => {\r\n if (!this.props.autoSelectOff) {\r\n !this.props.hideSuggestion && event.target.select();\r\n\r\n event.target.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n //after selecting the option if user clicks on dropdown user will be taken to the option selected in the list\r\n if (this.props.options.indexOf(this.state.selectedObj) >= 0) {\r\n var index = this.props.options.findIndex((val: any) =>\r\n val[this.props.searchKey]\r\n .toLowerCase()\r\n .includes(this.state.value.toLowerCase())\r\n );\r\n index > -1 && event.target.nextSibling.scrollTo(0, index * 60);\r\n //60px height of the list item\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { isShowSuggestions } = this.state;\r\n let ddCount = 0;\r\n\r\n const noData = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n let suggestions =\r\n this.state.isShowSuggestions &&\r\n this.state.value.length >= this.props.searchLength\r\n ? this.props.options.filter((item: any, i: any) => {\r\n if (\r\n item[this.props.searchKey]\r\n .toLowerCase()\r\n .includes(this.state.value.toLowerCase()) ||\r\n (this.props.options.indexOf(this.state.selectedObj) >= 0 &&\r\n !this.props.autoSelectOff)\r\n ) {\r\n ddCount++;\r\n return item;\r\n }\r\n })\r\n : null;\r\n suggestions &&\r\n suggestions.sort((a: any, b: any) =>\r\n a[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase()) <\r\n b[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase())\r\n ? -1\r\n : b[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase()) >\r\n a[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase())\r\n ? 1\r\n : 0\r\n );\r\n let showSuggestions =\r\n suggestions && suggestions.length > 0\r\n ? suggestions.map((item: any, i: any) => {\r\n let dropdownData = item[this.props.searchKey];\r\n return (\r\n this.onOptionSelect(item)}\r\n >\r\n
\r\n \r\n {!this.props.disableTick &&\r\n (this.state.selectedObj === item ||\r\n dropdownData === this.props.defaultValue) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n })\r\n : null;\r\n\r\n return (\r\n
\r\n this.onChange(e.target.value)}\r\n onFocus={this.onFocus}\r\n onBlur={this.handleBlur}\r\n value={this.state.value}\r\n readOnly={!this.props.hideSuggestion ? false : true}\r\n disabled={this.props.disabled}\r\n placeholder={this.props.placeholder}\r\n autoComplete={\r\n this.props.autoComplete ? this.props.autoComplete : \"off\"\r\n }\r\n style={\r\n this.props.isDownArrow ? { backgroundImage: `url(${down})` } : {}\r\n }\r\n />\r\n {!this.props.hideSuggestion &&\r\n isShowSuggestions &&\r\n (showSuggestions || this.props.noDataMsg) ? (\r\n
{ddCount ? showSuggestions : noData}
\r\n ) : null}\r\n {this.props.errorText && (\r\n

{this.props.errorText}

\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\n// export default React.memo(DropdownSearch);\r\nexport default DropdownSearch;\r\n","import React from \"react\";\r\nimport \"./FamilyMember.scss\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\n\r\nexport interface IFamilyMember {\r\n accountCode: string;\r\n AccountName: string;\r\n dependentOn: string;\r\n mobileList: string;\r\n panNo: string;\r\n relationshipName: string;\r\n subActiveDate: string;\r\n toEmailList: string;\r\n error: string;\r\n}\r\nexport interface FamilyMemberProps {\r\n index: number | string;\r\n type: \"email\" | \"mobile\" | \"both\";\r\n member: IFamilyMember;\r\n relationList: Array;\r\n originalRelationList?: Array;\r\n onChange: (value: string) => void;\r\n onBlur: (value: string) => void;\r\n error: string;\r\n}\r\n\r\nconst FamilyMember: React.FC = (props) => {\r\n const [isOther, setIsOther] = React.useState(false);\r\n\r\n function infoType() {\r\n switch (props.type) {\r\n case \"email\":\r\n return \"Email ID matches\";\r\n case \"mobile\":\r\n return \"Mobile number matches\";\r\n case \"both\":\r\n return \"Mobile number and Email ID matches\";\r\n }\r\n }\r\n\r\n function onRelationSelect(val: any) {\r\n // if (val.display === 'Others') {\r\n // setIsOther(true)\r\n // } else {\r\n // setIsOther(false)\r\n // }\r\n props.onChange(val.value);\r\n }\r\n let defaultValue: string = \"\";\r\n props?.originalRelationList?.forEach((relation) => {\r\n if (\r\n parseInt(relation.value.toString()) ===\r\n parseInt(props.member.relationshipName)\r\n ) {\r\n defaultValue = relation.display;\r\n return;\r\n }\r\n });\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n onRelationSelect(value)}\r\n defaultValue={defaultValue}\r\n searchLength={0}\r\n options={props.relationList}\r\n // onBlur={handleCityBlur}\r\n searchKey=\"display\"\r\n placeholder=\"Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n // errorText={errors.city}\r\n isDownArrow={true}\r\n />\r\n
\r\n {isOther && (\r\n
\r\n \r\n {}}\r\n onChange={() => {}}\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FamilyMember;\r\n","import React, { useState } from \"react\";\r\nimport { IListInfoObj } from \"../../types/genericTypes\";\r\nimport './Tag.scss'\r\n\r\nexport interface ITagProps {\r\n defaultValue?: number | string; // default selected value\r\n tagList: Array; // list of all tags\r\n className?: string; // extra css class if needed\r\n onSelect: (id: string | number) => void; // the function to be called onSelect\r\n bool?: { lhs: any; rhs: any; className: string };//rhs will be checked with tag value\r\n}\r\n\r\nconst Tag: React.FC = (props: ITagProps) => {\r\n /**\r\n * state and function for selectedValue\r\n * selectedValue type is number | string\r\n * setSelectedValue(number | string)\r\n */\r\n const [selectedValue, setSelectedValue] = useState(props.defaultValue);\r\n\r\n React.useEffect(() => {\r\n setSelectedValue(props.defaultValue);\r\n }, [props.defaultValue]);\r\n /**\r\n * called when user selects a tag\r\n * @param value id of the selected tag\r\n * @returns onSelect prop passed from parent\r\n */\r\n function tagSelected(value: string | number) {\r\n setSelectedValue(value);\r\n return props.onSelect(value);\r\n }\r\n\r\n return (\r\n
    \r\n {props.tagList.map((tag) => (\r\n
  • tagSelected(tag.value)}>\r\n {tag.display}\r\n
  • \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport interface IEsignTagProps extends ITagProps {\r\n isInfo?: boolean;\r\n}\r\n\r\nexport const EsignTag: React.FC = (props) => {\r\n\r\n const [selectedValue, setSelectedValue] = useState(props.defaultValue);\r\n\r\n React.useEffect(() => {\r\n setSelectedValue(props.defaultValue);\r\n }, [props.defaultValue]);\r\n\r\n function tagSelected(value: string | number) {\r\n setSelectedValue(value);\r\n return props.onSelect(value);\r\n }\r\n\r\n return (\r\n
    \r\n {props.tagList.map((tag) => {\r\n return (\r\n
  • tagSelected(tag.value)}\r\n >\r\n {props.isInfo &&\r\n {tag.info}\r\n }\r\n \r\n {tag.display}\r\n \r\n
  • \r\n )\r\n })}\r\n
\r\n );\r\n}\r\n\r\nexport default Tag;","import React from 'react';\r\nimport './Radio.scss';\r\n\r\nexport interface RadioProps {\r\n label?: string;\r\n name?: string;\r\n checked?: boolean;\r\n disabled?: boolean;\r\n className?: string;\r\n onChange?: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nconst Radio: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Radio;\r\n","import React from \"react\";\r\nimport \"./Toggle.scss\";\r\n\r\nexport interface IToggleProps {\r\n disabled?: boolean //true if toggle is disabled\r\n isOn: boolean; // true if toggle is on, else false\r\n children?: string | React.ReactElement; // text/element for label\r\n name?: string; // name for input checkbox\r\n onChange: (event: React.ChangeEvent) => void; // function to be called on change\r\n}\r\n\r\nconst Toggle: React.FC = (props: IToggleProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Toggle;\r\n","import React from \"react\";\r\nimport \"./Loader.scss\";\r\n\r\nexport interface ILoaderProps {\r\n\tcolor?: 'grey' | 'blue';\r\n\tsize: 18 | 20 | 100;\r\n}\r\n\r\nconst Loader: React.FC = (props: ILoaderProps) => {\r\n\tconst color = props.color || \"grey\";\r\n\treturn (\r\n\t\t
\r\n\t\t\t{Array.from(Array(12).keys(), (_, i) => (\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Loader;\r\n","import React from \"react\";\r\nimport \"./Button.scss\";\r\nimport Loader from \"../Loader/Loader\";\r\n\r\ninterface ButtonFields {\r\n btnName: string;\r\n disabled?: boolean;\r\n isLoading?: boolean | undefined;\r\n isSecondary?: boolean;\r\n isLightBlue?: boolean;\r\n type?: string;\r\n isTick?: boolean;\r\n isWhatsapp?: boolean;\r\n isUpload?: boolean;\r\n isAdd?: boolean;\r\n prefix?: any;\r\n clicked?: boolean;\r\n onClick?: (value: any) => void;\r\n}\r\n\r\nconst Button: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const DashedButton: React.FC = (props: any) => (\r\n \r\n {/* {props.btnName}\r\n {props.isLoading && } */}\r\n {props.isLoading ? (\r\n \r\n ) : props.isAdd ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const TransparentButton: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isWhatsapp ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isUpload ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const SubmitButton: React.FC = (props: any) => (\r\n \r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const Verify: React.FC = (props: any) => (\r\n \r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n \r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const LightBlueButton: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isWhatsapp ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isUpload ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport default Button;\r\n","import React from 'react';\r\nimport './InfoModal.scss'\r\n\r\nexport interface InfoModalProps {\r\n children: any;\r\n width: string;\r\n}\r\n\r\nconst InfoModal: React.FC = (props) => {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nexport default InfoModal;","import { Idevice } from \"../types/device\";\r\n\r\nconst DeviceContext = () => {\r\n\tlet device: Idevice = {};\r\n\tconst updateDevice = () => {\r\n\t\tdevice = {\r\n\t\t\tisMobile: document.body.offsetWidth <= 767 ? true : false,\r\n\t\t\tisTablet: document.body.offsetWidth > 767 && document.body.offsetWidth <= 1024 ? true : false,\r\n\t\t\tisDesktop: document.body.offsetWidth > 1024 ? true : false\r\n\t\t};\r\n\t};\r\n\tupdateDevice();\r\n\r\n\treturn device;\r\n};\r\n\r\nexport default DeviceContext;","interface IConfig {\r\n root: string; //root url of application\r\n diyNewApiUrl: string; //root url of DIY REVAMP\r\n piChainNewApiUrl: string; //root url of PiChain REVAMP\r\n tempToken: string; //DIY REVAMP API TOKEN (This will be corrected by backend TEAM)\r\n diyApiUrl: string; //api bas url for diy apis\r\n apiUrl: string; //api base url of application\r\n javaComUrl: string; //java api url\r\n whatsappBearerToken: string; //Whatsapp Bearer Token for consent and communication\r\n clientId: string; //clientId for DigiLocker config\r\n redirectUri: string; //redirection url from DigiLocker to application\r\n cleverTapId: string; //CleverTap config id\r\n clientQuesttionSourceId: string; //\r\n ClientProfilingDataSourseId: string;\r\n apiKey: string;\r\n}\r\nconst dev: IConfig = {\r\n root: \"http://localhost:3001/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken:\r\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl:\r\n \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken:\r\n \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri:\r\n \"https://onboardinguat.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n};\r\n\r\nconst uat: IConfig = {\r\n root: \"https://onboardinguat.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken:\r\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl:\r\n \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken:\r\n \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri:\r\n \"https://onboardinguat.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n};\r\n\r\nconst preProd: IConfig = {\r\n root: \"https://onboardingcug.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPIPre/api/\",\r\n piChainNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://capsapi.nuvamawealth.com/DIYAPIPre/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken:\r\n \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"15\",\r\n ClientProfilingDataSourseId: \"15\",\r\n //DigiLocker config\r\n clientId: \"FD8066A1\",\r\n redirectUri: \"https://onboardingcug.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n};\r\n\r\nconst prod: IConfig = {\r\n root: \"https://onboarding.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/api/\",\r\n piChainNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken:\r\n \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"15\",\r\n ClientProfilingDataSourseId: \"15\",\r\n\r\n //DigiLocker config\r\n clientId: \"FD8066A1\",\r\n redirectUri: \"https://onboarding.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"6K9-KW7-745Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n};\r\n\r\nconst config =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? prod\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? preProd\r\n : process.env.REACT_APP_ENV === \"uat\"\r\n ? uat\r\n : dev;\r\n\r\nexport default config;\r\n","export const errorMessage = {\r\n whatsAppNotify:\r\n \"Problem in connecting with our server, refresh & resubmit your request\",\r\n searchLead:\r\n \"Your contact details are already registered with us. Same details are permitted upto 4 accounts. For the 5th account request, please try with new details.\",\r\n leadCreated:\r\n \"We are facing a network issue, request you to retry after sometime\",\r\n employeeDataFailed: \"Failed to fetch Employee Details.\",\r\n citiesFailed: \"We are facing slowness, request you to retry after sometime\",\r\n otpSent: \"Click on retry button to generate new OTP.\",\r\n mobValidateOtp: \"It seems you have entered wrong OTP, re-enter correct OTP\",\r\n enableCamera: \"Enable Camera & Location to be access on your browser\",\r\n\r\n //PanInfo page\r\n panDetailsFailed:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n panExist:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n validatePAN: \"PAN details entered are invalid, retry with correct details\",\r\n clientDetailsByPan: \"Failed to fetch Pan details from our system\",\r\n clientDetailsByPanServerDown: \"Server Down, Please retry\",\r\n searchByPan: \" Failed to fetch Client details from our system\",\r\n searchByLeadId: \"Failed to fetch Client details from our system\",\r\n getCkycNumber: \"Failed to fetch CKYC Number\",\r\n getCkycDetails: \"Failed to fetch CKYC Details\",\r\n dobNotMatchWithPan:\r\n \"Date of Birth is not matching with the PAN, Please Select Corect DOB\",\r\n applicationInitialized:\r\n \"Failed to Application initialization, Please try Again\",\r\n checkPendingUpload: \"Failed to fetch pending document upload list\",\r\n getRedisData: \"Failed to fetch Digilocker document\",\r\n getClientStageDetails: \"Error in stage completion, Please try Again\",\r\n maskedAadhar: \"Error in masking Aadhar, Please try Again\",\r\n storeAadharData: \"Failed to fetch Aadhar details, Please try Again\",\r\n getUploadResponse: \"Error in uploading the file, Please try Again\",\r\n documentDetailsSaved: \"Error in Save the Documents, Please try Again\",\r\n getKraDetails: \"Failed to fetch details from KRA portal\",\r\n // imgNotMatchWithPan: 'Uploaded Image is not a Pan Card. Please check if you are uploading a Photo of Pan Card',\r\n imgNotMatchWithPan: \"Document uploaded is invalid. Upload a Valid Pan Image\",\r\n // profileForm page\r\n getEnumList: \" Failed to fetch the category lists, please reload\",\r\n getRelationshipData: \"Failed to fetch relationship data, please reload\",\r\n getAreaList: \"Failed to fetch the area list for the pincode,please reload\",\r\n getFullAddress: \"Failed to fetch pincode and area, please reload\",\r\n getCorrespondingAreaList:\r\n \"Failed to fetch the area list for the pincode, please reload\",\r\n getCorrAddress:\r\n \"Special Characters are not allowed in correspondence address\",\r\n saveRelationshipData: \"Please Select Family Relationship\",\r\n saveKycDetails:\r\n \"We faced a connectivity issue, retry resubmitting your details now\",\r\n\r\n saveBankDetails:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n saveBrokerageSegDetailsRes:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n ApplicationInProcess: \"Application is already in process with this pan\",\r\n\r\n // New error message\r\n newEsignError:\r\n \"We found delay in generating your application form due to which E-sign cannot be completed. You are requested to connect our support team for further processing the application.\",\r\n newPanUtiError:\r\n \"It seems Income Tax Website is facing intermittent connection issue\",\r\n newDigilockerError:\r\n \"There is delay in response from Digilocker Website. We suggest to opt for Non-Digilocker Option\",\r\n newCkycError:\r\n \"There is delay in response from CERSAI. We would skip the verification process to speed up your application\",\r\n newKraError:\r\n \"There is delay in response from KRA. We would skip the verification process to speed up your application\",\r\n};\r\n","const servicesList = {\r\n getCities: \"getCities\",\r\n getEnumList: \"GetEnumList\",\r\n getEmployeeDetailsByPan: \"GetEmployeeDetailsByPan\",\r\n getPanUtiDetails: \"getPanUtiDetails\",\r\n getDocumentDetails: \"getDocumentDetails\",\r\n getArea: \"getArea\",\r\n getFullAddress: \"getFullAddress\",\r\n getRelationshipData: \"getRelationshipData\",\r\n getKYCDetails: \"getKYCDetails\",\r\n saveKYCDetails: \"saveKYCDetails\",\r\n getStageCompletionStatus: \"getStageCOmpletionStatus\",\r\n checkClientProfilingData: \"checkClientProfilingData\",\r\n getClientProfilingQuestion: \"getClientProfilingQuestion\",\r\n saveClientProfilingQuestion: \"saveClientProfilingQuestion\",\r\n getClientProfilingDetails: \"getClientProfilingDetails\",\r\n getOCRDocumentResponseData: \"getOCRDocumentResponseData\",\r\n getDistinctBankList: \"getDistinctBankList\",\r\n getBankCities: \"getBankCities\",\r\n getBankBranch: \"getBankBranch\",\r\n getBankDetailsFromIfsc: \"getBankDetailsFromIfsc\",\r\n getBankDetails: \"getBankDetails\",\r\n saveBankDetails: \"saveBankDetails\",\r\n getExtractDocumentData: \"getExtractDocumentData\",\r\n uploadDocumentToS3: \"uploadDocumentToS3\",\r\n saveDocumentDetails: \"saveDocumentDetails\",\r\n saveRelationshipDetails: \"saveRelationshipDetails\",\r\n getOtp: \"getOtp\",\r\n validateOtp: \"validateOtp\",\r\n getBrokerage: \"getBrokerage\",\r\n getBrokerageDetails: \"getBrokerageDetails\",\r\n saveBrokerageDetails: \"saveBrokerageDetails\",\r\n getBrokerageSegmentDetails: \"getBrokerageSegmentDetails\",\r\n saveBrokerageSegmentDetails: \"saveBrokerageSegmentDetails\",\r\n getBeneficiaryName: \"getBeneficiaryName\",\r\n downloadDocumentFromS3: \"downloadDocumentFromS3\",\r\n getClientDetailsByPan: \"getClientDetailsByPan\",\r\n getClientDataByPanOrLead: \"getClientDataByPanOrLead\",\r\n checkPanInSystem: \"checkPanInSystem\",\r\n panLinkedWithAadhar: \"panLinkedWithAadhar\",\r\n saveIpverificationDetails: \"saveIpverificationDetails\",\r\n saveUploadedDocumentDetails: \"saveUploadedDocumentDetails\",\r\n margeMultipleImagestoPDF: \"margeMultipleImagestoPDF\",\r\n getPichainBeneficiaryName: \"getPichainBeneficiaryName\",\r\n getCKYCDetails: \"getCKYCDetails\",\r\n savePanDobDetails: \"savePanDobDetails\",\r\n getKraDetails: \"getKraDetails\",\r\n redisDigilockerDoc: \"redisDigilockerDoc\",\r\n getEmployeeDetails: \"getEmployeeDetails\",\r\n searchLeadByName: \"searchLeadByName\",\r\n createLead: \"createLead\",\r\n uploadIPVMerge: \"uploadIPVMerge\",\r\n imagetoVideoIpv: \"imagetoVideoIpv\",\r\n generateAccessTokenForDigilockerJavaMW:\r\n \"generateAccessTokenForDigilockerJavaMW\",\r\n getDocListFromDigilocker: \"getDocListFromDigilocker\",\r\n getSelectedDocument: \"getSelectedDocument\",\r\n selfieLink: \"selfieLink\",\r\n getEsignLink: \"getEsignLink\",\r\n updateUtmInfo: \"updateUtmInfo\",\r\n getAccountcodeData: \"getAccountcodeData\",\r\n createApplicationTicket: \"createApplicationTicket\",\r\n whatsUpAppInitiateCommunication: \"whatsUpAppInitiateCommunication\",\r\n whatsUpAppConsent: \"whatsUpAppConsent\",\r\n generateKYCPdf: \"generateKYCPdf\",\r\n getIPVOTP: \"getIPVOTP\",\r\n ErrorBank: \"ErrorBank\",\r\n getDocumentAutoQcDetails: \"getDocumentAutoQcDetails\",\r\n saveAddressDetails: \"saveAddressDetails\",\r\n getCityByPincode: \"getCityByPincode\",\r\n verifyDocumentData: \"verifyDocumentData\",\r\n getAddressDetails: \"getAddressDetails\",\r\n saveArea: \"saveArea\",\r\n checkPhotoLiveness: \"checkPhotoLiveness\",\r\n checkLocation: \"checkLocation\",\r\n updatePanAddharLinkStatus: \"updatePanAddharLinkStatus\",\r\n createUCCRegCode: \"createUCCRegCode\",\r\n};\r\n\r\nexport default servicesList;\r\n","import { errorMessage } from \"../../utils/errorMessage\";\r\nimport serviceList from \".././serviceList\";\r\n/**\r\n * @param value The value that is required\r\n * @returns return null if value is present; error message if value is blank\r\n */\r\n\r\nfunction errorMapper(error: any) {\r\n if (error) {\r\n let errMsg = \"\";\r\n for (let i = 0; i < error.length; i++) {\r\n if (i === 0) errMsg = error[i].ErrorMessage;\r\n else errMsg += `, ${error[i].ErrorMessage}`;\r\n }\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction errorCodeMapper(error: any) {\r\n if (error) {\r\n console.log(error, \"ERRMSG\");\r\n let errMsg = \"\";\r\n for (let i = 0; i < error.length; i++) {\r\n if (i === 0) errMsg = error[i].ErrorCode;\r\n else errMsg += `, ${error[i].ErrorCode}`;\r\n }\r\n console.log(\"errMsg\", errMsg);\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction msgOfErr(msgId: string) {\r\n if (msgId) {\r\n let msg = `- ( ${msgId} )`;\r\n return msg;\r\n }\r\n return;\r\n}\r\n\r\nexport default function requestMapper(response: any, serviceName: string): any {\r\n let result;\r\n switch (serviceName) {\r\n case serviceList.getCities:\r\n result = getCitiesMapping(response);\r\n return result;\r\n case serviceList.getEnumList:\r\n result = getEnumListMapping(response);\r\n return result;\r\n case serviceList.getEmployeeDetailsByPan:\r\n result = getEmployeeDetailsByPanMapping(response);\r\n return result;\r\n case serviceList.getPanUtiDetails:\r\n result = getPanUtiDetailsMapping(response);\r\n return result;\r\n case serviceList.getDocumentDetails:\r\n result = getDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.getArea:\r\n result = getAreaMapping(response);\r\n return result;\r\n case serviceList.getFullAddress:\r\n result = getFullAddressMapping(response);\r\n return result;\r\n case serviceList.getRelationshipData:\r\n result = getRelationshipDataMapping(response);\r\n return result;\r\n case serviceList.getKYCDetails:\r\n result = getKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.saveKYCDetails:\r\n result = saveKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.getStageCompletionStatus:\r\n result = getStageCompletionStatusMapping(response);\r\n return result;\r\n case serviceList.checkClientProfilingData:\r\n result = checkClientProfilingDataMapping(response);\r\n return result;\r\n case serviceList.getClientProfilingQuestion:\r\n result = getClientProfilingQuestionMapping(response);\r\n return result;\r\n case serviceList.saveClientProfilingQuestion:\r\n result = saveClientProfilingQuestionMapping(response);\r\n return result;\r\n case serviceList.getClientProfilingDetails:\r\n result = getClientProfilingDetailsMapping(response);\r\n return result;\r\n case serviceList.getOCRDocumentResponseData:\r\n result = getOCRDocumentResponseDataMapping(response);\r\n return result;\r\n case serviceList.getDistinctBankList:\r\n result = getDistinctBankListMapping(response);\r\n return result;\r\n case serviceList.getBankCities:\r\n result = getBankCitiesMapping(response);\r\n return result;\r\n case serviceList.getBankBranch:\r\n result = getBankBranchMapping(response);\r\n return result;\r\n case serviceList.getBankDetailsFromIfsc:\r\n result = getBankDetailsFromIfscMapping(response);\r\n return result;\r\n case serviceList.getBankDetails:\r\n result = getBankDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBankDetails:\r\n result = saveBankDetailsMapping(response);\r\n return result;\r\n case serviceList.getExtractDocumentData:\r\n result = getExtractDocumentDataMapping(response);\r\n return result;\r\n case serviceList.uploadDocumentToS3:\r\n result = uploadDocumentToS3Mapping(response);\r\n return result;\r\n case serviceList.saveDocumentDetails:\r\n result = saveDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.saveRelationshipDetails:\r\n result = saveRelationshipDetailsMapping(response);\r\n return result;\r\n case serviceList.getBrokerage:\r\n result = getBrokerageMapping(response);\r\n return result;\r\n case serviceList.getBrokerageDetails:\r\n result = getBrokerageDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBrokerageDetails:\r\n result = saveBrokerageDetailsMapping(response);\r\n return result;\r\n case serviceList.getBrokerageSegmentDetails:\r\n result = getBrokerageSegmentDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBrokerageSegmentDetails:\r\n result = saveBrokerageSegmentDetailsMapping(response);\r\n return result;\r\n case serviceList.getBeneficiaryName:\r\n result = getBeneficiaryNameMapping(response);\r\n return result;\r\n case serviceList.downloadDocumentFromS3:\r\n result = downloadDocumentFromS3Mapping(response);\r\n return result;\r\n case serviceList.getOtp:\r\n result = getOtpMapping(response);\r\n return result;\r\n case serviceList.validateOtp:\r\n result = validateOtpMapping(response);\r\n return result;\r\n case serviceList.getClientDetailsByPan:\r\n result = getClientDetailsByPanMapping(response);\r\n return result;\r\n case serviceList.getClientDataByPanOrLead:\r\n result = getClientDataByPanOrLeadMapping(response);\r\n return result;\r\n case serviceList.checkPanInSystem:\r\n result = checkPanInSystemMapping(response);\r\n return result;\r\n case serviceList.panLinkedWithAadhar:\r\n result = panLinkedWithAadharMapping(response);\r\n return result;\r\n case serviceList.saveIpverificationDetails:\r\n result = saveIpverificationDetailsMapping(response);\r\n return result;\r\n case serviceList.saveUploadedDocumentDetails:\r\n result = saveUploadedDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.margeMultipleImagestoPDF:\r\n result = margeMultipleImagestoPDFMapping(response);\r\n return result;\r\n case serviceList.getPichainBeneficiaryName:\r\n result = getPichainBeneficiaryNameMapping(response);\r\n return result;\r\n case serviceList.getCKYCDetails:\r\n result = getCKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.savePanDobDetails:\r\n result = savePanDobDetailsMapping(response);\r\n return result;\r\n case serviceList.getKraDetails:\r\n result = getKraDetailsMapping(response);\r\n return result;\r\n case serviceList.redisDigilockerDoc:\r\n result = redisDigilockerDocMapping(response);\r\n return result;\r\n case serviceList.getEmployeeDetails:\r\n result = getEmployeeDetailsMapping(response);\r\n return result;\r\n case serviceList.searchLeadByName:\r\n result = searchLeadByNameMapping(response);\r\n return result;\r\n case serviceList.createLead:\r\n result = createLeadMapping(response);\r\n return result;\r\n case serviceList.uploadIPVMerge:\r\n result = uploadIPVMergeMapping(response);\r\n return result;\r\n case serviceList.imagetoVideoIpv:\r\n result = imagetoVideoIpvMapping(response);\r\n return result;\r\n case serviceList.generateAccessTokenForDigilockerJavaMW:\r\n result = generateAccessTokenForDigilockerJavaMWMapping(response);\r\n return result;\r\n case serviceList.getDocListFromDigilocker:\r\n result = getDocListFromDigilockerMapping(response);\r\n return result;\r\n case serviceList.getSelectedDocument:\r\n result = getSelectedDocumentMapping(response);\r\n return result;\r\n case serviceList.selfieLink:\r\n result = selfieLinkMapping(response);\r\n return result;\r\n case serviceList.getEsignLink:\r\n result = getEsignLinkMapping(response);\r\n return result;\r\n case serviceList.updateUtmInfo:\r\n result = updateUtmInfoMapping(response);\r\n return result;\r\n case serviceList.getAccountcodeData:\r\n result = getAccountcodeDataMapping(response);\r\n return result;\r\n case serviceList.createApplicationTicket:\r\n result = createApplicationTicketMapping(response);\r\n return result;\r\n case serviceList.whatsUpAppInitiateCommunication:\r\n result = whatsUpAppInitiateCommunicationMapping(response);\r\n return result;\r\n case serviceList.whatsUpAppConsent:\r\n result = whatsUpAppConsentMapping(response);\r\n return result;\r\n case serviceList.generateKYCPdf:\r\n result = generateKYCPdfMapping(response);\r\n return result;\r\n case serviceList.getIPVOTP:\r\n result = getIPVOTPMapping(response);\r\n return result;\r\n case serviceList.ErrorBank:\r\n result = getErrorBank(response);\r\n case serviceList.getDocumentAutoQcDetails:\r\n result = getDocumentAutoQcDetailsMapping(response);\r\n return result;\r\n case serviceList.saveAddressDetails:\r\n result = saveAddressDetailsMapping(response);\r\n return result;\r\n case serviceList.getCityByPincode:\r\n result = getCityByPincodeMapping(response);\r\n return result;\r\n case serviceList.verifyDocumentData:\r\n result = verifyDocumentDataMapping(response);\r\n return result;\r\n case serviceList.getAddressDetails:\r\n result = getAddressDetailsMapping(response);\r\n return result;\r\n case serviceList.saveArea:\r\n result = saveAreaMapping(response);\r\n return result;\r\n\r\n case serviceList.checkPhotoLiveness:\r\n result = checkPhotoLivenessMapping(response);\r\n return result;\r\n case serviceList.checkLocation:\r\n result = checkLocationMapping(response);\r\n return result;\r\n case serviceList.updatePanAddharLinkStatus:\r\n result = updatePanAddharLinkStatusMapping(response);\r\n return result;\r\n case serviceList.createUCCRegCode:\r\n result = createUCCRegCodeMapping(response);\r\n return result;\r\n default:\r\n break;\r\n // code block\r\n }\r\n}\r\n\r\nfunction getCitiesMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n city: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEnumListMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n enumlist: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEmployeeDetailsByPanMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n console.log(\"res.ContentData====>\", res);\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getPanUtiDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n console.log(\"res.ContentData====>\", res);\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newPanUtiError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction getDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getAreaMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n areas: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getFullAddressMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData[0],\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getRelationshipDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n emailMatchedList: res.ContentData.EmailMatchedList,\r\n mobileMatchedList: res.ContentData.MobileMatchedList,\r\n IsRelationshipFromIbeats: res.ContentData.IsRelationshipFromIbeats,\r\n IsSavedRelationship: res.ContentData.IsSavedRelationship,\r\n AvailableRelationshipTagEmail:\r\n res.ContentData.AvailableRelationshipTagEmail,\r\n AvailableRelationshipTagMobile:\r\n res.ContentData.AvailableRelationshipTagMobile,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getStageCompletionStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction checkClientProfilingDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getClientProfilingQuestionMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveClientProfilingQuestionMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getClientProfilingDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: JSON.parse(res.ContentData).IsClientProfilingCompleted,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getOCRDocumentResponseDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData !== null ? res.ContentData : \"Record Not Found\",\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getDistinctBankListMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n banknames: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankCitiesMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n bankcities: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankBranchMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n bankbranches: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankDetailsFromIfscMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n ecoIBeatsBank: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData !== null ? res.ContentData : \"Record Not Found\",\r\n statusMessage: res.RequestResult.Status,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n statusMessage: res.RequestResult.Status,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveBankDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getExtractDocumentDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData ? res.ContentData : {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction uploadDocumentToS3Mapping(res: any) {\r\n let result = {};\r\n console.log(\"uploadDocumentToS3Mapping\", res);\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n errorCode: `${errorCodeMapper(res.RequestResult.Errors)}`,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveRelationshipDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData[0],\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n brokerageDetails: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveBrokerageDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageSegmentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n dbelist: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveBrokerageSegmentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBeneficiaryNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction downloadDocumentFromS3Mapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getOtpMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction validateOtpMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction getClientDetailsByPanMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData != null ? res.ContentData : \"Records Not Found\",\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getClientDataByPanOrLeadMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction checkPanInSystemMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction panLinkedWithAadharMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveIpverificationDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveUploadedDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction margeMultipleImagestoPDFMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getPichainBeneficiaryNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getCKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newCkycError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction savePanDobDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getKraDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newKraError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction redisDigilockerDocMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEmployeeDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getAccountcodeDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction searchLeadByNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createLeadMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction uploadIPVMergeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction imagetoVideoIpvMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction generateAccessTokenForDigilockerJavaMWMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newDigilockerError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getDocListFromDigilockerMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newDigilockerError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getSelectedDocumentMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newDigilockerError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction selfieLinkMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getEsignLinkMapping(res: any) {\r\n console.log(res, \"PPPP\");\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newEsignError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction updateUtmInfoMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createApplicationTicketMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction whatsUpAppInitiateCommunicationMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction whatsUpAppConsentMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction generateKYCPdfMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n errMsg: \"\",\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getIPVOTPMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getErrorBank(res: any) {\r\n let result = {};\r\n if (res.ProductId === \"1\") {\r\n result = {\r\n status: true,\r\n dataSource: res.DataSource,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n}\r\nfunction getDocumentAutoQcDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveAreaMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveAddressDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getCityByPincodeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction verifyDocumentDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getAddressDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction checkLocationMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction checkPhotoLivenessMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction updatePanAddharLinkStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createUCCRegCodeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n","import config from \"../../config/domain\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport requestMapper from \"./mapper/serviceMapper\";\r\nimport { statusUrl } from \"../utils/constants\";\r\n\r\ninterface callReq {\r\n apiBaseUrl?: string;\r\n url: string;\r\n method: string;\r\n body?: {};\r\n authType?: \"bearer\" | \"authtoken\";\r\n appidkey?: string;\r\n source?: string;\r\n sourcetoken?: string;\r\n headers?: object;\r\n tempToken?: string | boolean;\r\n serviceName?: any;\r\n}\r\n\r\nexport const apiService = async (req: callReq, callback: CallableFunction) => {\r\n const params: any = {\r\n method: req.method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"api-key\" : config.apiKey\r\n },\r\n };\r\n\r\n if (req.appidkey) {\r\n params.headers[\"appidkey\"] = req.appidkey;\r\n }\r\n\r\n if (req.headers) params.headers = { ...params.headers, ...req.headers };\r\n\r\n // if (GlobalStore.token !== \"\")\r\n // params.headers = { ...params.headers, mwAuth: GlobalStore.token };\r\n if (GlobalStore.token !== \"\" && req.tempToken !== false)\r\n params.headers = {\r\n ...params.headers,\r\n Authorization: \"Bearer \" + GlobalStore.token,\r\n };\r\n\r\n let clientPartialDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n !GlobalStore.token &&\r\n clientPartialDetails.token &&\r\n req.tempToken !== false\r\n ) {\r\n params.headers = {\r\n ...params.headers,\r\n Authorization: \"Bearer \" + clientPartialDetails.token,\r\n };\r\n }\r\n\r\n if (req.method === \"POST\" || req.method === \"PUT\" || req.method === \"DELETE\")\r\n params[\"body\"] = JSON.stringify(req.body);\r\n\r\n try {\r\n let URL = req.apiBaseUrl ? req.apiBaseUrl : config.apiUrl;\r\n const resp = await fetch(URL + req.url, params);\r\n const newResp = await resp.json();\r\n // handle 401 response \r\n if(newResp.RequestResult.Status.StatusCode == \"-6\"){\r\n alert(newResp.RequestResult.Errors[0].ErrorMessage);\r\n window.location.href= config.root + statusUrl.statusHome.replace(\"/\", \"\");\r\n }\r\n if (resp.headers.get(\"CEPRK\")) {\r\n const CEPRK = resp.headers.get(\"CEPRK\");\r\n callback(newResp, CEPRK);\r\n } else {\r\n // callback(newResp);\r\n // check if revamped API call else return to normal flow\r\n if (req.serviceName && req.serviceName !== \"\") {\r\n let res = await requestMapper(newResp, req.serviceName);\r\n callback(res);\r\n } else {\r\n callback(newResp);\r\n }\r\n // add a mapper here so that no code needs to be changed\r\n }\r\n\r\n // newResp\r\n // // .json()\r\n // .then((res:any) => {\r\n // // handleSessionTimeout(newResp, res);\r\n // callback(res, newResp);\r\n // })\r\n // .catch((res: any) => {\r\n // // handleSessionTimeout(newResp, res);\r\n // callback(undefined, newResp);\r\n // });\r\n } catch (err) {\r\n // all errors will be captured here for anything in the try block\r\n\r\n console.log(\"req.serviceName\", req, req.serviceName);\r\n callback &&\r\n callback({\r\n error: \"\",\r\n errMsg: err,\r\n });\r\n }\r\n};\r\n","import * as React from \"react\";\r\nimport './otpField.scss'\r\nimport { integerExp } from \"../../utils/regex\";\r\n\r\nexport interface IOtpProps {\r\n\tplaceholder?: string;\r\n\teleId: string;\r\n\tonChange: (value: string) => void;\r\n\tdisableOtp?: boolean;\r\n\tinvalidOtp?: boolean;\r\n}\r\n\r\nenum EKeyCodes {\r\n\tBACKSPACE = 8,\r\n\tLEFT_ARROW = 37,\r\n\tRIGHT_ARROW = 39\r\n}\r\n\r\nconst OtpField: React.FC = props => {\r\n\t// stores the value of each input in array\r\n\tconst [value, setValue] = React.useState([\"\", \"\", \"\", \"\"]);\r\n\r\n\t// when focussed, this helps to colour the border of input_field_cont\r\n\tconst [focusClass, setFocusClass] = React.useState(\"\");\r\n\r\n\tReact.useEffect(() => {\r\n\t\tlet element = document.getElementsByClassName(props.eleId)[0];\r\n\t\tsetTimeout(() => {\r\n\t\t\tdocument.getElementById(element.id)?.focus();\r\n\t\t}, 500);\r\n\t\telement.scrollIntoView();\r\n\t}, []);\r\n\r\n\tfunction handleChange(v: string, i: number) {\r\n\t\tif (integerExp.test(v)) {\r\n\t\t\tconst valueCopy = [...value];\r\n\t\t\tvalueCopy[i] = v;\r\n\r\n\t\t\tsetValue(valueCopy);\r\n\t\t\tprops.onChange(valueCopy.join(\"\"));\r\n\t\t}\r\n\t}\r\n\r\n\t// go to the previous input\r\n\tfunction goToPrevious(event: any) {\r\n\t\tconst idArr = event.target.id.split('-')\r\n\t\tconst pervId = idArr[0] + '-' + (parseInt(idArr[1]) - 1)\r\n\t\tconst prevInp = document.getElementById(pervId)\r\n\t\tprevInp && prevInp.focus();\r\n\t}\r\n\r\n\t// go to next input\r\n\tfunction goToNext(event: any) {\r\n\t\tconst idArr = event.target.id.split('-')\r\n\t\tconst nextId = idArr[0] + '-' + (parseInt(idArr[1]) + 1)\r\n\t\tconst nextInp = document.getElementById(nextId)\r\n\t\tnextInp && nextInp.focus();\r\n\t}\r\n\r\n\tfunction handleKeyUp(e: React.KeyboardEvent) {\r\n\t\tif (e.keyCode === EKeyCodes.BACKSPACE || e.keyCode === EKeyCodes.LEFT_ARROW) {\r\n\t\t\t// if backspace or left arrow is pressed\r\n\t\t\tgoToPrevious(e);\r\n\t\t} else if ((e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode === EKeyCodes.RIGHT_ARROW) {\r\n\t\t\t// if number key or right arrow is pressed\r\n\t\t\tgoToNext(e);\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{value.map((_, i) => (\r\n\t\t\t\t handleChange(e.target.value, i)}\r\n\t\t\t\t\tonFocus={() => setFocusClass(\" focus\")}\r\n\t\t\t\t\tonBlur={() => setFocusClass(\"\")}\r\n\t\t\t\t\tclassName={\"otp_inp mg-b10 \" + props.eleId + focusClass + (props.invalidOtp ? ' invalid' : '')}\r\n\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\tmin={0}\r\n\t\t\t\t\tmax={9}\r\n\t\t\t\t\tmaxLength={1}\r\n\t\t\t\t\tonKeyUp={e => handleKeyUp(e)}\r\n\t\t\t\t\tautoComplete='off'\r\n\t\t\t\t\tid={props.eleId + \"otp-\" + i}\r\n\t\t\t\t\tdisabled={props.disableOtp}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default OtpField;\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetEnumList = (callback: CallableFunction, enumname: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetEnumList\",\r\n method: \"POST\",\r\n body: {\r\n EnumName: enumname,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEnumList,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-enum-list',\r\n // body: {\r\n // \"enumname\": enumname\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ARedisDigilockerDoc = (\r\n callback: CallableFunction,\r\n reqObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/RedisDigilockerDoc\",\r\n method: \"POST\",\r\n body: reqObj,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.redisDigilockerDoc,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/redisDigilockerDoc\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetOcrResponseDetails = (\r\n callback: CallableFunction,\r\n reqObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOCRDocumentResponseData\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: reqObj.applicationid,\r\n DocumentCategory: reqObj.documentcategory,\r\n DocumentId: reqObj.documentid,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOCRDocumentResponseData,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ocr-response-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocumentidByApplicationid = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 5,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-documentid-by-applicationid\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetArea = (callback: CallableFunction, pinCode: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pinCode,\r\n Area: \"\",\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getArea,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-area',\r\n // body: {\r\n // \"pinCode\": pinCode\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetRelationshipData = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n email: string,\r\n mobile: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetRelationshipData\",\r\n body: {\r\n ApplicationId: applicationid,\r\n Email: email,\r\n Mobile: mobile,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getRelationshipData,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-relationship-data',\r\n // body: {\r\n // \"applicationid\": applicationid,\r\n // \"email\": email,\r\n // \"mobile\": mobile\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveRelationshipData = (\r\n callback: CallableFunction,\r\n saveRelationshipObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveRelationshipDetails\",\r\n body: {\r\n ApplicationId: saveRelationshipObj.applicationid,\r\n MobileMatchedList: saveRelationshipObj.mobileMatchedList,\r\n EmailMatchedList: saveRelationshipObj.emailMatchedList,\r\n IsSavedRelationship: true,\r\n IsRelationshipFromIbeats: true,\r\n ClientPrimaryDetailId: saveRelationshipObj.clientprimarydetailid,\r\n EmpCode: saveRelationshipObj.empcode,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveRelationshipDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-relationship-page\",\r\n // body: saveRelationshipObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetFullAddress = (\r\n callback: CallableFunction,\r\n area: string,\r\n pinCode: string\r\n) => {\r\n // console.log(area);\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pinCode,\r\n Area: area,\r\n InputDataType: 2,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getFullAddress,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-fulladdress',\r\n // body: {\r\n // \"area\": area,\r\n // \"pinCode\": pinCode,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetKycDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetKycDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getKYCDetails,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-kyc-details',\r\n // body: {\r\n // applicationid: applicationid\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveKycDetails = (callback: CallableFunction, kycObj: object) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SavePersonalProfileDetails\",\r\n body: kycObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveKYCDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-kyc-details\",\r\n // body: kycObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const ASavePinCity = (callback: CallableFunction, areaObj: any) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: areaObj.pincode,\r\n Area: \"\",\r\n City:areaObj.city,\r\n InputDataType: 4,\r\n State:areaObj.state\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveArea,\r\n },\r\n callback\r\n );\r\n }\r\n export const AGetCityByPincode = (callback: CallableFunction, pincode: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pincode,\r\n Area: \"\",\r\n City:\"\",\r\n InputDataType: 3,\r\n State:\"\"\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCityByPincode,\r\n },\r\n callback\r\n );\r\n }\r\n","import React from 'react'\r\nimport './ErrMsg.scss'\r\n\r\nconst ErrMsg = (props: any) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n)\r\n\r\nexport default ErrMsg","import React, { Component } from 'react';\r\nimport './OtpTimer.scss'\r\n\r\ninterface IOtpTimerProps {\r\n timer: number\r\n}\r\n\r\nlet timer: any;\r\nclass OtpTimer extends Component {\r\n\r\n state = {\r\n timer: this.props.timer\r\n }\r\n\r\n startTimer = () => {\r\n timer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n this.setState({ timer: this.props.timer })\r\n clearInterval(timer);\r\n } else {\r\n this.setState({ timer: temp })\r\n }\r\n }, 1000)\r\n }\r\n\r\n componentDidMount() {\r\n this.startTimer();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(timer);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.timer}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default OtpTimer","import React, { Component } from 'react';\r\nimport OtpField from '../../UI/otpField/otpField';\r\nimport OtpTimer from '../../UI/OtpTimer/OtpTimer';\r\nimport { errorCode,errorMsg } from '../../../ErrorCode/ErrorCode';\r\nimport './RegOtp.scss'\r\n\r\ninterface IRegOtpProps {\r\n label: string;\r\n otpTimer: number;\r\n eleId: string;\r\n onChange: (value: string) => string | void;\r\n resendClicked: () => string | void;\r\n disableOtp?: boolean;\r\n invalidOtp?: boolean;\r\n}\r\n\r\nlet resendTimer: any;\r\n\r\nclass RegOtp extends Component {\r\n state = {\r\n otp: '',\r\n isResend: false,\r\n timer: this.props.otpTimer\r\n }\r\n enableClock = () => {\r\n resendTimer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n clearInterval(resendTimer);\r\n this.setState({ timer: this.props.otpTimer, isResend: true })\r\n } else {\r\n this.setState({ timer: temp })\r\n }\r\n }, 1000)\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(resendTimer);\r\n }\r\n\r\n componentDidMount() {\r\n this.enableClock();\r\n }\r\n\r\n setOtp = (value: any) => {\r\n this.setState({ otp: value })\r\n this.props.onChange(value)\r\n }\r\n\r\n resendClicked = () => {\r\n this.setState({ isResend: false })\r\n this.props.resendClicked();\r\n setTimeout(() => this.enableClock(), 500)\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.props.label}

\r\n
\r\n this.setOtp(value)}\r\n eleId={this.props.eleId}\r\n disableOtp={this.props.disableOtp}\r\n invalidOtp={this.props.invalidOtp}\r\n />\r\n {/* {this.props.invalidOtp &&

Incorrect OTP

} */}\r\n {this.props.invalidOtp &&

{errorMsg(errorCode.FE05)}

}\r\n
\r\n {this.state.isResend ?\r\n
\r\n \r\n \r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default RegOtp","import GlobalStore from \"../components/store/globalStore\";\r\nexport const errorCode = {\r\n FE01: \"C11FE01\",\r\n // Name cannot have special characters or cannot be null\r\n FE02: \"C11FE02\",\r\n // Select Valid City\r\n FE03: \"C11FE03\",\r\n // Enter Valid Email Id\r\n FE04: \"C11FE04\",\r\n // Enter 10 Digit Mobile Number\r\n FE05: \"C11FE05\",\r\n // Enter a Valid OTP\r\n FE06: \"C11FE06\",\r\n // Please Enter correct RM code\r\n FE07: \"C11FE07\",\r\n // Please enter valid pan number\r\n FE08: \"C11FE08\",\r\n // Please enter valid phone number\r\n FE09: \"C11FE09\",\r\n // Enter Pan Number as per Pan Card\r\n FE10: \"C11FE10\",\r\n //DOB as per PAN Card\r\n FE11: \"C11FE11\",\r\n // Wrong DoB\"\r\n FE12: \"C11FE12\",\r\n // \"Document size exceeds maximum limit of 5MB. Please upload it again\",\r\n FE13: \"C11FE13\",\r\n // \"Please upload the files in jpeg, jpg formats.\",\r\n FE14: \"C11FE14\",\r\n // \"Please upload the files in jpeg, jpg and pdf formats.\",\r\n FE15: \"C11FE15\",\r\n // \"File with multiple extensions are not allowed\",\r\n FE16: \"C11FE16\",\r\n // \"Special Characters are not allowed in Address\",\r\n FE17: \"C11FE17\",\r\n // \"Please enter valid address. Address should contains minimum 5 characters and Address line should not contain only numbers\",\r\n FE18: \"C11FE18\",\r\n // \"Enter 6 Digit Pin Code\",\r\n FE19: \"C11FE19\",\r\n // \"Type first 3 characters of city\",\r\n FE20: \"C11FE20\",\r\n // \"Please select from dropdown\",\r\n FE21: \"C11FE21\",\r\n // \"Number required\",\r\n FE22: \"C11FE22\",\r\n // \"Enter Networth\",\r\n FE23: \"C11FE23\",\r\n // \"Please Enter Valid Type\",\r\n FE24: \"C11FE24\",\r\n // \"Relationship Details are required\",\r\n FE25: \"C11FE25\",\r\n // \"Enter Valid Identification Number as per document\",\r\n FE26: \"C11FE26\",\r\n // \"Enter number between 1 to 100\",\r\n FE27: \"C11FE27\",\r\n // \"Please select a valid date\",\r\n FE28: \"C11FE28\",\r\n // \"Please Enter Amount More Than Rs 1000\",\r\n FE29: \"C11FE29\",\r\n // \"Please Enter Place of Birth\",\r\n FE30: \"C11FE30\",\r\n // \"Account number should have minimum 6 digits\",\r\n FE31: \"C11FE31\",\r\n // \"Bank inputs do not match\",\r\n FE32: \"C11FE32\",\r\n // \"SBI account number has more than 10 digits\",\r\n FE33: \"C11FE33\",\r\n // \"Father Name cannot have special characters or cannot be null\",\r\n FE34: \"C11FE34\",\r\n // \"Mother Name cannot have special characters or cannot be null\",\r\n FE35: \"C11FE35\",\r\n // \"Nominee Name cannot have special characters or cannot be null\",\r\n FE36: \"C11FE36\",\r\n // \"Gaurdian Name cannot have special characters or cannot be null\",\r\n FE37: \"C11FE37\",\r\n // \"Please Enter Other Relation\",\r\n FE38: \"C11FE38\",\r\n // \"Please enter valid pincode\",\r\n FE39: \"C11FE39\",\r\n // \"Please select a city from dropdown\",\r\n FE40: \"C11FE40\",\r\n // \"Please enter minimum 8 or maximum 18\",\r\n FE41: \"C11FE41\",\r\n // \"Please Enter last four digit of Adhar number\",\r\n FE42: \"C11FE42\",\r\n // \"Please Enter Relation\",\r\n FE43: \"C11FE43\",\r\n // \"Special Characters are not allowed and Address should contains minimum 5 characters\",\r\n FE44: \"C11FE44\",\r\n //Type first 3 characters of Area\r\n FE46: \"C11FE46\",\r\n //Enter Aadhaar Number as per Aadhaar Card\r\n BE384: \"C11BE384\",\r\n //Limit of family tagging has been exceed\r\n};\r\nexport const errorMsg = (code: string) => {\r\n let errorText = \"Something went wrong\";\r\n let errorResponse = GlobalStore.fieldErrorBank.filter(\r\n (data) => data.ErrorCode === code\r\n );\r\n if (errorResponse && errorResponse.length > 0) {\r\n errorText = errorResponse[0]?.ErrorMessage;\r\n }\r\n return errorText;\r\n};\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetCities = (callback: CallableFunction) => {\r\n // ToDo: Remove commented code once testing is done for\r\n // apiService(\r\n // {\r\n // url: 'eco/get-city',\r\n // method: 'GET',\r\n // },\r\n // callback\r\n // );\r\n\r\n apiService(\r\n {\r\n url: \"MastersData/GetCity\",\r\n method: \"GET\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getCities,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEmailOtp = (callback: CallableFunction, emlObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SendOTPonMail\",\r\n body: {\r\n MailTo: emlObj.mailTo,\r\n MailFrom: emlObj.mailFrom,\r\n MailSubject: emlObj.mailSubject,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/send-otp-on-email\",\r\n // body: emlObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetMobileOtp = (callback: CallableFunction, mobNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOTP\",\r\n body: {\r\n MobNo: mobNo,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getotp\",\r\n // body: {\r\n // mobNo: mobNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateEmailOtp = (\r\n callback: CallableFunction,\r\n email: string,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/ValidateEmailOTP\",\r\n body: {\r\n EmailId: email,\r\n Otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.validateOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/validateemailotp\",\r\n // body: {\r\n // email: email,\r\n // otp: otp,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateMobileOtp = (\r\n callback: CallableFunction,\r\n mobNo: string,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/ValidateOTP\",\r\n body: {\r\n MobNo: mobNo,\r\n Otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.validateOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/validateotp\",\r\n // body: {\r\n // mobNo: mobNo,\r\n // otp: otp,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetEmployeeDetails = (\r\n callback: CallableFunction,\r\n bodyParams: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetEmployeeDetails\",\r\n body: {\r\n UserName: bodyParams.username,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEmployeeDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-employee-details\",\r\n // body: bodyParams,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASearchLeadByName = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SearchLead\",\r\n body: {\r\n AssignedTo: leadObj.assignedTo,\r\n FirstName: leadObj.firstName,\r\n LastName: leadObj.lastName,\r\n Mobile: leadObj.mobile,\r\n EmailId: leadObj.emailId,\r\n ProductCode: leadObj.productCode,\r\n SearchBy: \"CRITERIA_MOBILE_EMAIL\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.searchLeadByName,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/search-lead-by-name\",\r\n // body: leadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ACreateLead = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/create-lead\",\r\n body: leadObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACreateLeadSource = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateLead\",\r\n body: {\r\n Email: leadObj.email,\r\n FirstName: leadObj.firstName,\r\n LastName: leadObj.lastName,\r\n Phone: leadObj.phone,\r\n City: leadObj.city,\r\n AssignedTo: leadObj.assignedTo,\r\n UtmAdGroup: leadObj.utm_adgroup,\r\n UtmCampaign: leadObj.utm_campaign,\r\n UtmContent: leadObj.utm_content,\r\n UtmCreative: leadObj.utm_creative,\r\n UtmDevice: leadObj.utm_device,\r\n UtmMedium: leadObj.utm_medium,\r\n UtmPlacement: leadObj.utm_placement,\r\n UtmSource: leadObj.utm_source,\r\n UtmTerm: leadObj.utm_term,\r\n ProductCode: leadObj.productCode,\r\n SourceId: leadObj.sourceId,\r\n SubSourceId: leadObj.subSourceId,\r\n ByPassDedupe: leadObj.byPassDedupe,\r\n RmCode: leadObj.rmCode,\r\n SourceName: leadObj.sourceName,\r\n SubSourceName: leadObj.subSourceName,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.createLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/create-lead-source\",\r\n // body: leadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AWhatsappNotify = (callback: CallableFunction, req: any) => {\r\n apiService(\r\n {\r\n url: \"WhatsUpAppService/WhatsUpAppConsent\",\r\n body: {\r\n Type: req.type,\r\n recipients: req.recipients,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.whatsUpAppConsent,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // apiBaseUrl: config.javaComUrl,\r\n // url: \"consent\",\r\n // body: req,\r\n // method: \"POST\",\r\n // headers: {\r\n // mwAuth: config.whatsappBearerToken,\r\n // },\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const CreateUCCRegCode = (callback: CallableFunction, req: any) => {\r\n console.log(\"REQ||\", req);\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateUCCRegCode\",\r\n body: req,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.createUCCRegCode,\r\n },\r\n callback\r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./Checkbox.scss\";\r\n\r\ninterface ICheckboxProps {\r\n checked: boolean; // true if checkbox is checked, else false\r\n name: string; // name for input checkbox\r\n disabled?: boolean; // if disabled then pass true\r\n onChange: (event: React.ChangeEvent) => void; // function to be called on change\r\n}\r\n\r\ninterface IMultiSelectCheckBoxProps {\r\n list: Array<{\r\n OptionDescription: string;\r\n QuestionID: number;\r\n OptionId: number;\r\n checked: boolean;\r\n disabled?: boolean;\r\n }>;\r\n disabled?: boolean; // if disabled then pass true\r\n onChange: (\r\n list: Array<{\r\n OptionDescription: string;\r\n QuestionID: number;\r\n OptionId: number;\r\n checked: boolean;\r\n disabled?: boolean;\r\n }>\r\n ) => void; // function to be called on change\r\n}\r\n\r\nconst Checkbox: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const MultiSelectCheckBox: React.FC = (\r\n props\r\n) => {\r\n function onChange(event: React.ChangeEvent) {\r\n let updatedList: typeof props.list = props.list.map((checkbox) => {\r\n if (checkbox.OptionDescription === event.target.name) {\r\n return {\r\n OptionDescription: checkbox.OptionDescription,\r\n QuestionID: checkbox.QuestionID,\r\n OptionId: checkbox.OptionId,\r\n checked: event.target.checked,\r\n };\r\n }\r\n return checkbox;\r\n });\r\n props.onChange(updatedList);\r\n }\r\n\r\n return (\r\n <>\r\n {props.list.map((checkbox) => (\r\n \r\n \r\n \r\n {checkbox.OptionDescription && (\r\n {checkbox.OptionDescription}\r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Checkbox;\r\n","import React from \"react\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n betweenNChars,\r\n blockSpecChar,\r\n detectIntWithSpace,\r\n} from \"../../utils/regex\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport {\r\n AGetArea,\r\n AGetCityByPincode,\r\n AGetFullAddress,\r\n} from \"../../Services/dashboard/profileApiService\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\n\r\nexport interface AddressFieldProps {\r\n addressType: \"permanent\" | \"correspondance\" | \"nominee\" | \"guardian\";\r\n sectionLabel: string;\r\n addressObj: IAddressFormat;\r\n isDisable?: boolean;\r\n showSameAsAbove?: boolean;\r\n sameAsAbove?: boolean;\r\n handleSameAsAbove: (value: React.ChangeEvent) => void;\r\n setErrCode: (value: number | string) => void;\r\n onAddressChange: (addressObj: IAddressFormat) => void;\r\n onAddressBlur: (addressObj: {\r\n [key in keyof IAddressFormat]?: string;\r\n }) => void;\r\n}\r\n\r\nexport interface IAddressFormat {\r\n addressLine1: string;\r\n City: string;\r\n Country: string;\r\n District: string;\r\n PinCode: string;\r\n State: string;\r\n Area?: string;\r\n CountryCode?: number;\r\n StateCode?: number;\r\n}\r\n\r\nexport interface CkycAddressFormat {\r\n addressLine1: string;\r\n corrAddress?: string;\r\n sameAsPermanent: boolean;\r\n city: string;\r\n country: string;\r\n district: string;\r\n pincode: string;\r\n corrPincode?: string;\r\n state: string;\r\n area?: string;\r\n countrycode?: number;\r\n statecode?: number;\r\n}\r\n\r\nexport const addressErrorObj = {\r\n addressLine1: undefined,\r\n pincode: undefined,\r\n area: undefined,\r\n};\r\n\r\nexport const addressErrorMsg = {\r\n // addressLine1:\r\n // 'Please enter valid address. Address should contains minimum 5 characters and Address line should not contain ~ ` # $ % ^ & * ( ) = + { } [ ] \\\\ | : ; ” ’ < > , ? /',\r\n addressLine1:\r\n \"Special Characters are not allowed and Address should contains minimum 5 characters\",\r\n // pincode: 'Please enter 6 digit pincode',\r\n pincode: \"Enter 6 Digit Pin Code\",\r\n // area: 'Please select a area from dropdown',\r\n area: \"Type first 3 characters of city\",\r\n};\r\n\r\nconst AddressField: React.FC = (props) => {\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n const [areaList, setAreaList] = React.useState>([]);\r\n const [validPincode, setValidPincode] = React.useState(\"\");\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({ ...addressErrorObj });\r\n\r\n React.useEffect(() => {\r\n if (\r\n JSON.stringify(addressObj) !== JSON.stringify(props?.addressObj) ||\r\n addressObj?.PinCode === props?.addressObj?.PinCode\r\n ) {\r\n setAddressObj(props.addressObj);\r\n if (\r\n props?.addressObj?.PinCode &&\r\n props?.addressObj?.PinCode?.length === 6\r\n ) {\r\n setAreaList([]);\r\n setValidPincode(\"\");\r\n // console.log('Calling getArea fn from useEffect');\r\n // AGetArea((res: any) => {\r\n // getAreaList(res, props.addressObj.PinCode);\r\n // }, props.addressObj.PinCode);\r\n AGetCityByPincode((res:any)=>getFullAddress(res),props.addressObj.PinCode)\r\n }\r\n }\r\n }, [\r\n props?.addressObj?.addressLine1 != addressObj?.addressLine1,\r\n props?.addressObj?.PinCode !== addressObj?.PinCode,\r\n ]);\r\n console.log(\r\n props?.addressObj?.addressLine1,\r\n \" props?.addressObj?.addressLine1 check\"\r\n );\r\n console.log(addressObj?.addressLine1, \" addressObj.addressLine1 check\");\r\n\r\n function handleChangeAddress(key: keyof IAddressFormat, value: string) {\r\n if (key === \"PinCode\" && value.length === 6) {\r\n setAreaList([]);\r\n // AGetArea((res: any) => {\r\n // getAreaList(res, value);\r\n // }, value);\r\n AGetCityByPincode((res:any)=>getFullAddress(res),value)\r\n setErrors({ ...errors, [key]: undefined });\r\n setValidPincode(\"\");\r\n }\r\n if (key === \"Area\") {\r\n AGetFullAddress(getFullAddress, value, addressObj?.PinCode);\r\n setErrors({ ...errors, [key]: undefined });\r\n }\r\n setAddressObj({ ...addressObj, [key]: value });\r\n props.onAddressChange({ ...addressObj, [key]: value });\r\n if (key === \"PinCode\" || key === \"Area\") {\r\n props.onAddressBlur({ ...errors, [key]: undefined });\r\n }\r\n\r\n if (key === \"addressLine1\") {\r\n console.log(\"key === addressLine1\");\r\n if (detectIntWithSpace.test(value)) {\r\n // Address line should not contains only numbers\r\n setErrors({\r\n ...errors,\r\n addressLine1: errorMsg(errorCode.FE17),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n addressLine1: errorMsg(errorCode.FE17),\r\n });\r\n } \r\n // else if (!blockSpecChar(5).test(value)) {\r\n // console.log(\"Inside else if (!blockSpecChar(5).test(value))\");\r\n // // Check addressline have any special characters or not\r\n // setErrors({ ...errors, addressLine1: errorMsg(errorCode.FE43) });\r\n // props.onAddressBlur({\r\n // ...errors,\r\n // addressLine1: errorMsg(errorCode.FE43),\r\n // });\r\n // } \r\n else {\r\n // Need to clear\r\n console.log(\"else call\");\r\n setErrors({ ...errors, addressLine1: undefined });\r\n props.onAddressBlur({ ...errors, addressLine1: undefined });\r\n }\r\n }\r\n }\r\n\r\n function getAreaList(res: any, pincode: string) {\r\n if (!res || res.error) {\r\n // props.setErrCode('130 - Failed to fetch the area list for the pincode');\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.areas) {\r\n // if (res.data.areas[0] !== \"Area not exist.\") { // Rohit -- commented on 13-08-2022\r\n if (res.data.areas.length > 0) {\r\n let arr: Array = [];\r\n res.data.areas.forEach((item: string) => {\r\n let obj: IListObj = {\r\n value: item,\r\n display: item,\r\n };\r\n arr.push(obj);\r\n });\r\n setAreaList(arr);\r\n AGetFullAddress(getFullAddress, arr[0].value as string, pincode);\r\n setValidPincode(\"\");\r\n } else {\r\n setValidPincode(errorMsg(errorCode.FE38));\r\n }\r\n } else {\r\n props.setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function getFullAddress(res: any) {\r\n console.log(\"GetFullAddress\", res);\r\n \r\n if (!res || res.error) {\r\n // props.setErrCode(\r\n // \"131 - Failed to fetch details corresponding to pincode and area\"\r\n // );\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length>0) {\r\n const obj: any = {};\r\n obj.PinCode = res.data[0].PinCode;\r\n obj.Area = res.data[0].City;\r\n obj.District = res.data[0].District;\r\n obj.Country = res.data[0].Country;\r\n obj.City = res.data[0].City;\r\n obj.State = res.data[0].State;\r\n obj.StateCode =res.data[0].StateCode;\r\n obj.CountryCode = res.data[0].CountryCode;\r\n setAddressObj({ ...props.addressObj, ...obj });\r\n props.onAddressChange({ ...props.addressObj, ...obj });\r\n } else {\r\n const obj: any = {};\r\n obj.Area = \"\";\r\n obj.District =\"\";\r\n obj.Country = \"\";\r\n obj.City = \"\";\r\n obj.State = \"\";\r\n obj.StateCode = \"\";\r\n obj.CountryCode = \"\";\r\n setAddressObj({ ...props.addressObj, ...obj });\r\n props.onAddressChange({ ...props.addressObj, ...obj });\r\n props.setErrCode(\r\n \"131 - Failed to fetch details corresponding to pincode and area\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n function handleBlurAddress(key: keyof IAddressFormat, value: any) {\r\n switch (key) {\r\n case \"addressLine1\":\r\n setErrors({\r\n ...errors,\r\n addressLine1: value.pattern ? undefined : errorMsg(errorCode.FE43),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n addressLine1: value.pattern ? undefined : errorMsg(errorCode.FE43),\r\n });\r\n break;\r\n case \"PinCode\":\r\n setErrors({\r\n ...errors,\r\n PinCode: value.pattern ? undefined : errorMsg(errorCode.FE18),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n PinCode: value.pattern ? undefined : errorMsg(errorCode.FE18),\r\n });\r\n break;\r\n case \"Area\":\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, Area: undefined });\r\n props.onAddressBlur({ ...errors, Area: undefined });\r\n } else {\r\n setErrors({ ...errors, Area: errorMsg(errorCode.FE44) });\r\n props.onAddressBlur({ ...errors, Area: errorMsg(errorCode.FE44) });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {props.showSameAsAbove && (\r\n \r\n )}\r\n
\r\n {(!(props.addressType === \"correspondance\") || !props.sameAsAbove) && (\r\n <>\r\n
\r\n \r\n {\r\n // console.log(\"event\", event);\r\n // // handleBlurAddress('addressLine1', error)\r\n // }}\r\n // addressAlphaNum\r\n defaultValue={addressObj?.addressLine1}\r\n placeholder=\"Eg. Address\"\r\n onChange={(value) => handleChangeAddress(\"addressLine1\", value)}\r\n disabled={props.isDisable}\r\n errorText={errors.addressLine1}\r\n name={`address${props.addressType}`}\r\n />\r\n
\r\n\r\n
\r\n \r\n handleBlurAddress(\"PinCode\", error)}\r\n defaultValue={addressObj?.PinCode}\r\n placeholder=\"Eg. 123456\"\r\n onChange={(value) => handleChangeAddress(\"PinCode\", value)}\r\n disabled={props.isDisable}\r\n integer\r\n maxLength={6}\r\n errorText={errors.PinCode || validPincode}\r\n name={`pinCode${props.addressType}`}\r\n />\r\n
\r\n\r\n {/*
\r\n \r\n \r\n handleChangeAddress(\"Area\", value[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={areaList}\r\n onBlur={(val) => handleBlurAddress(\"Area\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Thane\"\r\n noDataMsg=\"Area with similar name not found\"\r\n errorText={errors.Area}\r\n isDownArrow={true}\r\n />\r\n
*/}\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AddressField;\r\n","import * as React from 'react';\r\nimport './NriDetail.scss'\r\nimport DropdownSearch from '../../../UI/DropdownSearch/DropdownSearch';\r\nimport Tag from '../../../UI/Tag/Tag';\r\nimport { nriIdType } from '../../../utils/constants';\r\nimport InputField from '../../../UI/InputField/InputField';\r\nimport { INriDetailField } from '../NriDetailForm';\r\nimport { IListObj } from '../../../types/genericTypes';\r\nimport { errorCode, errorMsg } from '../../../../ErrorCode/ErrorCode';\r\n\r\nexport interface NriDetailProps {\r\n countryList: Array;\r\n index?: number;\r\n nriDetailsObj: INriDetailField;\r\n onChangeNriDetails: (obj: INriDetailField) => void;\r\n errors: { [key: string]: string | undefined };\r\n setErrors: (obj: { [key: string]: string | undefined }) => void\r\n\r\n}\r\n\r\nconst NriDetail: React.FC = (props) => {\r\n\r\n function onChange(key: keyof INriDetailField, value: string) {\r\n let obj: INriDetailField = { ...props.nriDetailsObj }\r\n obj[key] = value;\r\n props.onChangeNriDetails(obj);\r\n }\r\n\r\n function handleBlur(key: keyof INriDetailField, value: any) {\r\n typeof value !== 'object' ?\r\n props.setErrors({ ...props.errors, [key]: errorMsg(errorCode.FE20) }) :\r\n props.setErrors({ ...props.errors, [key]: undefined })\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n \r\n onChange('country', val['display'] as string)}\r\n searchLength={0}\r\n options={props.countryList}\r\n onBlur={(val) => handleBlur('country', val)}\r\n searchKey='display'\r\n placeholder='Select the country'\r\n noDataMsg=\"Country with similar name not found\"\r\n errorText={props.errors.country}\r\n isDownArrow={true} />\r\n
\r\n\r\n
\r\n \r\n onChange('idType', val as string)}\r\n className='liMgt12'\r\n />\r\n
\r\n {\r\n props.nriDetailsObj.idType === 'Others' &&\r\n
\r\n \r\n onChange('idTypeOther', val)}\r\n onBlur={error => props.setErrors({ ...props.errors, idTypeOther: error.required ? errorMsg(errorCode.FE23) : '' })}\r\n placeholder='Eg. SPI Number'\r\n errorText={props.errors.idTypeOther}\r\n type='text'\r\n required\r\n />\r\n
\r\n }\r\n\r\n
\r\n \r\n onChange('idTypeValue', val)}\r\n onBlur={error => props.setErrors({ ...props.errors, idTypeValue: error.required ? errorMsg(errorCode.FE21) : '' })}\r\n placeholder='Eg. XXX XX XXXX'\r\n errorText={props.errors.idTypeValue}\r\n type='text'\r\n required\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default NriDetail;","import * as React from 'react';\r\nimport './NriDetailForm.scss'\r\nimport NriDetail from './NriDetail/NriDetail';\r\nimport { nriIdType } from '../../utils/constants';\r\nimport { IListObj } from '../../types/genericTypes';\r\n\r\nexport interface NriDetailFormProps {\r\n countryList: Array\r\n nriDetailsObj: INriDetailField;\r\n onChangeNriDetails: (obj: INriDetailField) => void;\r\n errors: { [key: string]: string | undefined };\r\n setErrors: (obj: { [key: string]: string | undefined }) => void\r\n}\r\n\r\nexport interface INriDetailField {\r\n country: string | undefined;\r\n idType?: string | undefined;\r\n idTypeOther?: string | undefined;\r\n idTypeValue: string | undefined;\r\n}\r\n\r\nexport const initialNriDetail = {\r\n country: '',\r\n idTypeOther: '',\r\n idType: nriIdType[0].value as string,\r\n idTypeValue: ''\r\n}\r\n\r\nconst NriDetailForm: React.FC = (props) => (\r\n
\r\n \r\n \r\n
\r\n);\r\n\r\nexport default NriDetailForm;","import React from 'react';\r\nimport './ProfileImage.scss';\r\n\r\nexport interface ProfileImageProps {\r\n color?: string;\r\n className?: string;\r\n}\r\n\r\nconst ProfileImage: React.FC = (props) => {\r\n return (\r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default ProfileImage;","import React from \"react\";\r\nimport \"./ShareAdd.scss\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport domain from \"../../../config/domain\";\r\nimport {\r\n AGenerateAccessToken,\r\n AGetDocListFromDigilocker,\r\n AGetSelectedDocument,\r\n} from \"../../Services/registration/digiLockerApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { dashboardUrl, containerUrl } from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n updateUtmInfo,\r\n} from \"../../Services/globalService\";\r\nimport shareAdd from \"../../../assets/icons/shareAdd.jpg\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface ShareAddProps {}\r\n\r\nexport function getProfileDetailsFromAadhar(response: any) {\r\n GlobalStore.personaldetails.aadharName = response.AadharName;\r\n GlobalStore.personaldetails.addressLine1 = response.CoresAddress;//.replace(/[^a-zA-Z0-9 ]/g,\" \");\r\n GlobalStore.personaldetails.city = response.PermanentCity;\r\n GlobalStore.personaldetails.pincode = response.CoresPincode;\r\n GlobalStore.personaldetails.gender = response.Gender;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.personaldetails.addressLine1;\r\n clientPartialDetails_ao.pincode =\r\n GlobalStore.personaldetails?.pincode?.toString();\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n}\r\n\r\nconst ShareAdd: React.FC = (props) => {\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [aadharDocDetails, setAadharDocDetails] = React.useState();\r\n const [accessToken, setAccessToken] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const location = useLocation();\r\n const history = useHistory();\r\n const errRef = React.useRef(null);\r\n\r\n React.useEffect(() => {\r\n //To populate the data\r\n clientPartialDetailsToStore();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n const queryObject = Object.fromEntries(\r\n new URLSearchParams(location.search)\r\n );\r\n if (\r\n typeof queryObject.code !== \"undefined\" &&\r\n queryObject.state !== \"undefined\"\r\n ) {\r\n let accessTokenObj: any = {};\r\n accessTokenObj.code = queryObject.code;\r\n accessTokenObj.reDirectUrl = domain.redirectUri + \"?\";\r\n accessTokenObj.client_Id = domain.clientId;\r\n AGenerateAccessToken(\r\n (res: any) => getAccessToken(res, accessTokenObj),\r\n accessTokenObj\r\n );\r\n setIsLoading(true);\r\n } else {\r\n setErrCode(\"123\");\r\n }\r\n updateUtmInfo(updateUtmDetails); // here updating utmcreative and content.\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (errCode) {\r\n errRef.current?.scrollIntoView();\r\n }\r\n }, [errCode]);\r\n\r\n function updateUtmDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(123);\r\n }\r\n }\r\n\r\n function getAccessToken(res: any, accessTokenObj: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"1241 - Error with Access Token generation\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (responseObj.access_token) {\r\n const digiDocInfo = { ...accessTokenObj };\r\n digiDocInfo.access_token = responseObj.access_token;\r\n setAccessToken(responseObj.access_token);\r\n AGetDocListFromDigilocker(getDocListFromDigilocker, digiDocInfo);\r\n } else {\r\n if (res.data.eaadhaar === \"N\")\r\n setErrCode(errorMessage.newDigilockerError);\r\n // setErrCode(\r\n // \"Please link your aadhaar details with digilocker and refresh the page and click on continue to complete the process.\"\r\n // );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setErrCode(errorMessage.newDigilockerError);\r\n // setErrCode(\"1242 - Error with Access Token generation\");\r\n }\r\n }\r\n }\r\n\r\n function getDocListFromDigilocker(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"1251 - Error in getting documents list\");\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const adhar = res.data.items.filter(\r\n (x: any) => x.name === \"Aadhaar Card\"\r\n );\r\n if (adhar.length > 0) {\r\n setAadharDocDetails(adhar[0]);\r\n }\r\n } else setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n function fetchPDF() {\r\n if (aadharDocDetails !== null && aadharDocDetails !== undefined) {\r\n setIsLoading(true);\r\n //Example uri = \"in.gov.uidai-ADHAR-000000000000\"\r\n const adharArr: Array = aadharDocDetails.uri.split(\"-\");\r\n let adharNo = \"\";\r\n if (adharArr.length === 3) {\r\n const reg = new RegExp(\"^[0-9]+$\");\r\n if (reg.test(adharArr[2])) {\r\n adharNo = adharArr[2];\r\n } else {\r\n adharNo = \"000000000000\";\r\n }\r\n } else {\r\n adharNo = \"000000000000\";\r\n }\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n\r\n let data = {\r\n aadharNo: adharNo,\r\n fileUri: aadharDocDetails.uri,\r\n filename: \"\",\r\n token: accessToken,\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n leadId: GlobalStore.leadId,\r\n panno: GlobalStore.personaldetails.pan,\r\n utmObj: utmObj,\r\n };\r\n AGetSelectedDocument(getSelectedDocument, data);\r\n }\r\n }\r\n\r\n function getSelectedDocument(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\r\n // \"Error while processing aadhar card code: 126, Please contact support team\"\r\n // );\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n return;\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n if (res.data === \"Error in DigiLocker\") {\r\n setErrCode(res.error);\r\n return false;\r\n }\r\n if (res.data === \"PersonalEditable\") {\r\n setErrCode(\"\");\r\n history.push(dashboardUrl.profile);\r\n return false;\r\n }\r\n getProfileDetailsFromAadhar(res.data);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n }\r\n }\r\n\r\n function handleTryAgain() {\r\n history.push(containerUrl.dgLocker);\r\n }\r\n\r\n function handleContinue() {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.aadharLinkedChoice = false;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \"Share\r\n \r\n
\r\n

Allow Access to Address Proof

\r\n
\r\n
\r\n

\r\n Click on confirm below to share a digital copy of your Aadhaar card\r\n with us.\r\n

\r\n

\r\n Please Note: Digilocker does\r\n not reveal your 12 digit Aadhar number to us.\r\n

\r\n
\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {errCode ? (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n Continue Without DigiLocker\r\n
\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ShareAdd;\r\n","import * as React from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport moment from \"moment\";\r\nimport \"./Calender.scss\";\r\nimport \"./cssFile.css\";\r\nimport { ageCalculator } from \"../../Services/globalService\";\r\n\r\nexport interface ICalenderProps {\r\n onDateSelect: (date: Date) => void;\r\n placeholderText: string;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n onBlur?: (event: React.FocusEvent) => void;\r\n isError?: boolean;\r\n defaultDate?: Date;\r\n}\r\n\r\ninterface ICustomHeaderProps {\r\n date: Date;\r\n changeYear: (year: number) => void;\r\n changeMonth: (month: number) => void;\r\n decreaseMonth: () => void;\r\n increaseMonth: () => void;\r\n prevMonthButtonDisabled: boolean;\r\n nextMonthButtonDisabled: boolean;\r\n decreaseYear: () => void;\r\n increaseYear: () => void;\r\n prevYearButtonDisabled: boolean;\r\n nextYearButtonDisabled: boolean;\r\n}\r\n\r\ninterface ICalenderContainerProps {\r\n className: string;\r\n children: React.ReactNode[];\r\n}\r\n\r\nenum EPickerType {\r\n Date,\r\n Month,\r\n Year,\r\n}\r\n\r\nconst Calender: React.FC = (props) => {\r\n // sets the default value of date to null\r\n // date: value of the date (type = Date || null)\r\n // setDate: function to set date\r\n const [date, setDate] = React.useState(\r\n props.defaultDate || null\r\n );\r\n\r\n // pickerType is used to determine which state of calender is open\r\n // pickerType: date | month | year\r\n // setPickerType: function to set pickerType\r\n const [pickerType, setPickerType] = React.useState(\r\n EPickerType.Date\r\n );\r\n\r\n /**\r\n * - Changes the picker type on date/month/year selection.\r\n * - Calls the onDateSelect callback function\r\n * @param date selected date\r\n */\r\n function onDateSelect(date: Date | null) {\r\n // if picker type is month then go to date\r\n // if picker type is year then go to month\r\n if (pickerType !== EPickerType.Date) {\r\n setPickerType(pickerType - 1);\r\n }\r\n if (!props.maxDate || (date && ageCalculator(date) >= 0)) {\r\n setDate(date);\r\n date && props.onDateSelect(date);\r\n }\r\n }\r\n\r\n /**\r\n * - Creates custom header for date/month state\r\n * - Acts as the complete calender in year state\r\n * @param headerProps props passed by the component\r\n */\r\n const customHeader = (headerProps: ICustomHeaderProps) => {\r\n // These variables are used only in year state\r\n const selectedYear = (headerProps.date || new Date()).getFullYear();\r\n const currentYear = new Date().getFullYear();\r\n const yearMapHelper = [\r\n [11, 10, 9],\r\n [8, 7, 6],\r\n [5, 4, 3],\r\n [2, 1, 0],\r\n ];\r\n\r\n // calculate last year to show in year state\r\n // if current year is 2020\r\n // then on selecting 2019, last year should still show 2019 in year state\r\n // if this calculation is not used, then last year would become 2019\r\n const endYear =\r\n currentYear - 12 * Math.floor((currentYear - selectedYear) / 12);\r\n\r\n /**\r\n * Changes the year state for datepicker component.\r\n * @param yr selected year\r\n */\r\n function onYearClick(yr: number) {\r\n console.log(\"onYearClick\");\r\n onDateSelect(new Date(yr, 0, 0));\r\n headerProps.changeYear(yr);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {headerProps.prevMonthButtonDisabled ||\r\n pickerType === EPickerType.Month ? (\r\n // Don't show left arrow\r\n
\r\n ) : (\r\n // Show customised left arrow\r\n {\r\n if (pickerType === EPickerType.Date) {\r\n return headerProps.decreaseMonth();\r\n } else {\r\n // decrease year by 12 because we are showing 12 years in year state\r\n for (let i = 0; i < 12; i++) headerProps.decreaseYear();\r\n }\r\n }}\r\n >\r\n {`<`}\r\n \r\n )}\r\n\r\n
\r\n {/* Show clickable month only in date state */}\r\n {pickerType === EPickerType.Date && (\r\n setPickerType(EPickerType.Month)}\r\n >\r\n {moment(headerProps.date).format(\"MMM\")}\r\n \r\n )}\r\n {/* Show clickable year in both date and month state */}\r\n {pickerType !== EPickerType.Year && (\r\n setPickerType(EPickerType.Year)}\r\n >\r\n {pickerType === EPickerType.Date\r\n ? moment(headerProps.date).format(\"YYYY\")\r\n : headerProps.date.getFullYear()}\r\n \r\n )}\r\n {/* Show year range (not-clickable) in year state */}\r\n {pickerType === EPickerType.Year && (\r\n
\r\n {endYear - 11}-{endYear}\r\n
\r\n )}\r\n
\r\n\r\n {headerProps.nextMonthButtonDisabled ||\r\n pickerType === EPickerType.Month ? (\r\n // Don't show right arrow\r\n
\r\n ) : (\r\n // Show customised right arrow\r\n {\r\n if (pickerType === EPickerType.Date) {\r\n return headerProps.increaseMonth();\r\n } else {\r\n for (let i = 0; i < 12; i++) headerProps.increaseYear();\r\n }\r\n }}\r\n >\r\n {\">\"}\r\n \r\n )}\r\n
\r\n\r\n {/* Make the year calender if pickerType is year */}\r\n {pickerType === EPickerType.Year && (\r\n
\r\n {yearMapHelper.map((yrMapArr) => (\r\n
\r\n {yrMapArr.map((yrMap) => (\r\n onYearClick(endYear - yrMap)}\r\n >\r\n {endYear - yrMap}\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n )}\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Since everything is created in custom header in year state\r\n * this function extracts the header part of the date picker and keeps the rest empty in year state\r\n * @param containerProps props passed by the component\r\n */\r\n const calendarContainer = (containerProps: ICalenderContainerProps) => {\r\n return pickerType === EPickerType.Year ? (\r\n
\r\n {/* Custom Header */}\r\n
\r\n {containerProps.children[2] &&\r\n (containerProps.children[2] as any)[0].props &&\r\n (containerProps.children[2] as any)[0].props.children[0] &&\r\n (containerProps.children[2] as any)[0].props.children[0].props\r\n .children[0]}\r\n
\r\n {/* Body is empty */}\r\n
\r\n ) : (\r\n
{containerProps.children}
\r\n );\r\n };\r\n\r\n // This is the main calender component that is rendering calender\r\n return (\r\n
\r\n onDateSelect(date)}\r\n placeholderText={props.placeholderText}\r\n showPopperArrow={false}\r\n customInput={}\r\n showMonthYearPicker={pickerType === EPickerType.Month} // show month picker only if picker type is month\r\n shouldCloseOnSelect={pickerType === EPickerType.Date} // should only close if date picker is open\r\n renderCustomHeader={(headerProps) => customHeader(headerProps)}\r\n calendarContainer={(containerProps: ICalenderContainerProps) =>\r\n calendarContainer(containerProps)\r\n }\r\n onCalendarClose={() => setPickerType(EPickerType.Date)} // if year/month state was open before closing the reset to date state\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default Calender;\r\n\r\n/**\r\n * This component is for showing custom input box for Calender\r\n */\r\nexport interface ICustomInputProps {\r\n value?: any;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n isError?: boolean;\r\n onClick?: (event: React.MouseEvent) => void;\r\n onChange?: (event: React.MouseEvent) => void;\r\n onBlur?: (event: React.FocusEvent) => void;\r\n onFocus?: (event: React.FocusEvent) => void;\r\n}\r\n\r\nclass CustomInput extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {/* If a date is selected, then show date otherwise show the placeholder text */}\r\n {this.props.value ? (\r\n \r\n {moment(this.props.value).format(\"DD MMM YYYY\")}\r\n \r\n ) : (\r\n \r\n {this.props.placeholder}\r\n \r\n )}\r\n\r\n {/* Calender icon */}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGenerateAccessToken = (\r\n callback: CallableFunction,\r\n accessTokenObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GenerateAccessTokenForDigilockerJavaMW\",\r\n method: \"POST\",\r\n body: {\r\n State: \"\",\r\n Code: accessTokenObj.code,\r\n ReDirectUrl: accessTokenObj.reDirectUrl,\r\n ClientId: accessTokenObj.client_Id,\r\n AccessToken: \"\",\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.generateAccessTokenForDigilockerJavaMW,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/generateAccessToken',\r\n // body: accessTokenObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocListFromDigilocker = (\r\n callback: CallableFunction,\r\n digilockerObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocListFromDigilocker\",\r\n method: \"POST\",\r\n body: {\r\n access_token: digilockerObj.access_token,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocListFromDigilocker,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getDocListFromDigilocker\",\r\n // body: digilockerObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetSelectedDocument = (\r\n callback: CallableFunction,\r\n dataObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetSelectedDocument\",\r\n method: \"POST\",\r\n body: {\r\n Token: dataObj.token,\r\n FileUri: dataObj.fileUri,\r\n ApplicationId: dataObj.applicationId,\r\n FileName: dataObj.filename,\r\n ClientPrimaryDetailId: dataObj.clientPrimaryDetailId,\r\n LeadId: dataObj.leadId,\r\n PanNo: dataObj.panno,\r\n AadharNo: dataObj.aadharNo,\r\n utmInfoDetails: dataObj.utmObj,\r\n // UtmInfoDetails: {\r\n // modeofapplication: \"\",\r\n // utm_source: \"\",\r\n // utm_term: \"\",\r\n // utm_campaign: \"\",\r\n // utm_content: \"\",\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // documentsdur: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"\",\r\n // },\r\n // UTMInfoDetails: {\r\n // modeofapplication: \"E\",\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"Desktop\",\r\n // clientip: \"\",\r\n // diysource: \"W\",\r\n // },\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getSelectedDocument,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getSelectedDocument\",\r\n // body: dataObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\n// export const AGetSelectedDocument = (callback: CallableFunction, obj: object) => {\r\n// apiService(\r\n// {\r\n// url: 'eco/getDocListFromDigilocker',\r\n// body: obj,\r\n// method: \"POST\",\r\n// },\r\n// callback\r\n// );\r\n// }\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const ACheckPanIbeats = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CheckPanInSystem\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n RequestFrom: 1,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkPanInSystem,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-pan-in-ibeats\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const APanLinkedWithAadhar = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n aadharNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetLinkStatus\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n AadharNo: aadharNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.panLinkedWithAadhar,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEmployeeByPan = (\r\n callback: CallableFunction,\r\n panNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetEmployeeDetailsByPAN\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getEmployeeDetailsByPan,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/get-employee-by-pan',\r\n // body: {\r\n // \"panno\": panNo\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AIsPANExists = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CheckPanInSystem\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n RequestFrom: 2,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.checkPanInSystem,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-pan-in-caps\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetPanUtiData = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetPanDetails\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getPanUtiDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-panuti-data\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientDetailsByPan = (\r\n callback: CallableFunction,\r\n panNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientDataByPanOrLead\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: panNo,\r\n LeadId: \"\",\r\n RequestFrom: 1,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getClientDetailsByPan,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-details-by-pan\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientDetailsByLeadId = (\r\n callback: CallableFunction,\r\n leadId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientDataByPanOrLead\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: \"\",\r\n LeadId: leadId,\r\n RequestFrom: 2,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getClientDataByPanOrLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-details-by-leadid\",\r\n // body: {\r\n // leadid: leadId,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUpdateUtmDetails = (callback: CallableFunction, utmObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UpdateUTMParamters\",\r\n body: {\r\n ApplicationId: utmObj.applicationid,\r\n UtmContent: utmObj.utmcontent || \"\",\r\n UtmCreative: utmObj.utmcreative || \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.updateUtmInfo,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/update-utm-details\",\r\n // body: utmObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AWhatsappCom = (callback: CallableFunction, req: object) => {\r\n apiService(\r\n {\r\n url: \"WhatsUpAppService/WhatsUpAppInitiateCommunication\",\r\n body: req,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.whatsUpAppInitiateCommunication,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // apiBaseUrl: config.javaComUrl,\r\n // url: \"initiate/communication\",\r\n // body: req,\r\n // method: \"POST\",\r\n // headers: {\r\n // mwAuth: config.whatsappBearerToken,\r\n // },\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASavePanDobDetails = (\r\n callback: CallableFunction,\r\n panDobObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SavePanDobDetails\",\r\n method: \"POST\",\r\n body: {\r\n ...panDobObj,\r\n IsEmployeePan: panDobObj.isemployeepan,\r\n // TransactionId: panDobObj.transactionid,\r\n KycVerified: panDobObj.kycverified,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.savePanDobDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-pan-dob-details\",\r\n // body: panDobObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetCkycNumber = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetCkycNumber\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientDataByPanOrLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ckyc-number\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetCkycDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetCKYCDetails\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: reqObj.panno,\r\n Dob: reqObj.dob,\r\n ApplicationId: reqObj.applicationid,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCKYCDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ckyc-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetKraDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetKraDetails\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: reqObj.panno,\r\n Dob: reqObj.dbo,\r\n ApplicationId: reqObj.applicationid,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getKraDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-kra-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import GlobalStore from \"../store/globalStore\";\r\n\r\ndeclare var dataLayer: any;\r\n\r\nexport interface IGtmObjInterface {\r\n\tevent?: string;\r\n\tcategory?: string;\r\n\taction: string;\r\n\tlabel: string;\r\n\tLead_ID?: string;\r\n\tREF_ID?: string;\r\n}\r\n\r\n/**\r\n * Single function that handles GA events\r\n * @param gtmObj IGtmObjInterface keys should be passed. \r\n */\r\nexport default function gtmService(gtmObj: IGtmObjInterface) {\r\n\tconst data: IGtmObjInterface = {\r\n\t\tevent: gtmObj.category || 'event_New_Account_Opening',\r\n\t\tcategory: gtmObj.category || 'New_Account_Opening',\r\n\t\taction: gtmObj.action,\r\n\t\tlabel: gtmObj.label,\r\n\t};\r\n\tif (GlobalStore.leadId) {\r\n\t\tdata.Lead_ID = GlobalStore.leadId\r\n\t}\r\n\tif (GlobalStore.applicationID) {\r\n\t\tdata.REF_ID = GlobalStore.applicationID\r\n\t}\r\n\tconsole.log(data);\r\n\tdataLayer.push(data);\r\n}\r\n","import { useLocation } from \"react-router\";\r\n\r\nconst useQuery = () => new URLSearchParams(useLocation().search);\r\n\r\nexport default useQuery;","const cleverTapEvents = {\r\n registration: {\r\n personalDetailsPage: {\r\n PAGE_LOADED: 'New_Account_Opening | Lead_Page | Step_Start',\r\n CLICK_ON_PROCEED: 'New_Account_Opening | Lead_Page | Step_Complete'\r\n },\r\n panPage: {\r\n PAGE_LOAD: 'New_Account_Opening | PAN_DOB | Step_Start',\r\n CLICK_ON_PROCEED: 'New_Account_Opening | PAN_DOB | Step_Complete'\r\n },\r\n digiLockerPage: {\r\n PAGE_LOAD: 'New_Account_Opening | DIGI_LOCKER | Step_Start',\r\n CLICK_ON_CONNECT_TO_DIGILOCKER: 'New_Account_Opening | DIGI_LOCKER | Step_Complete'\r\n },\r\n profilePage: {\r\n PAGE_LOAD: 'New_Account_Opening | Profile_Details | Step_Start',\r\n CLICK_ON_SUBMIT_PROFILE: 'New_Account_Opening | Profile_Details | Step_Complete'\r\n },\r\n bankPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Bank_Details | Step_Start',\r\n CLICK_ON_SUBMIT_BANK_DETAILS: 'New_Account_Opening | Bank_Details | Step_Complete'\r\n },\r\n planPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Plan_Segment | Step_Start',\r\n CLICK_ON_SUBMIT_SELECTED_PLAN: 'New_Account_Opening | Plan_Segment | Step_Complete'\r\n },\r\n investmentPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Investment_Setup | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Investment_Setup | Step_Complete'\r\n },\r\n documentVerificationPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Document_Verification | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Document_Verification | Step_Complete'\r\n },\r\n ipvPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Video_IPV | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Video_IPV | Step_Complete'\r\n },\r\n eSignPage: {\r\n PAGE_LOAD: 'New_Account_Opening | E-Sign | Step_Start',\r\n CLICK_ON_ESIGN: 'New_Account_Opening | E-Sign | Step_Complete'\r\n },\r\n agentVisit: {\r\n PAGE_LOAD: 'New_Account_Opening | Agent_Visit | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Agent_Visit | Step_Complete'\r\n },\r\n finalPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Final_Status | Step_Start'\r\n }\r\n }\r\n}\r\nexport default cleverTapEvents;","import { RequireOnlyOne } from \"../types/genericTypes\";\r\n\r\ndeclare let clevertap: ClevertapType;\r\n\r\nexport interface ClevertapType {\r\n\tevent: Array;\r\n\tprofile: Array;\r\n\taccount: Array;\r\n\tonUserLogin: Array;\r\n\tnotifications: Array;\r\n\tprivacy: Array>;\r\n\tgetCleverTapID: () => string;\r\n}\r\n\r\nexport interface ClevertapEvent {\r\n\t[x: string]: any;\r\n\tEventName: string;\r\n}\r\n\r\nexport interface ClevertapAccount {\r\n\tid: string;\r\n}\r\n\r\nexport interface ClevertapUserProfile {\r\n\tSite: {\r\n\t\tName?: string;\r\n\t\tIdentity?: string | number;\r\n\t\tEmail?: string;\r\n\t\tPhone?: string;\r\n\t\tGender?: \"M\" | \"F\";\r\n\t\tDOB?: Date;\r\n\t\tAccountType?: string;\r\n\t\tprofileID?: string;\r\n\t\t\"MSG-email\"?: boolean;\r\n\t\t\"MSG-push\"?: boolean;\r\n\t\t\"MSG-sms\"?: boolean;\r\n\t\t\"MSG-whatsapp\"?: boolean;\r\n\t};\r\n}\r\n\r\nexport interface CleverTapNotification {\r\n\ttitleText: string;\r\n\tbodyText: string;\r\n\tokButtonText: string;\r\n\trejectButtonText: string;\r\n\tokButtonColor: string;\r\n\taskAgainTimeInSeconds: number;\r\n\tserviceWorkerPath: string;\r\n}\r\n\r\nexport interface ClevertapProfile {\r\n\toptout: boolean;\r\n\tuseIP: boolean;\r\n}\r\n\r\nexport const ClevertapService = {\r\n\tpushEvent: function (data: ClevertapEvent) {\r\n\t\tclevertap.event.push(\r\n\t\t\tdata.EventName,\r\n\t\t\t{\r\n\t\t\t\t...data,\r\n\t\t\t\tCurrentPage: window.location.href,\r\n\t\t\t\tPlatform: window.innerWidth > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n\t\t\t}\r\n\t\t);\r\n\t},\r\n\r\n\tshowClevertapNotification: function () {\r\n\t\tsetTimeout(() => {\r\n\t\t\tclevertap.notifications.push({\r\n\t\t\t\ttitleText: \"Would you like to receive Push Notifications?\",\r\n\t\t\t\tbodyText: \"We promise to only send you relevant content and give you updates on your transactions\",\r\n\t\t\t\tokButtonText: \"Sign me up!\",\r\n\t\t\t\trejectButtonText: \"No thanks\",\r\n\t\t\t\tokButtonColor: \"#f28046\",\r\n\t\t\t\taskAgainTimeInSeconds: 604800,\r\n\t\t\t\tserviceWorkerPath: process.env.PUBLIC_URL + \"/serviceworker.js\"\r\n\t\t\t});\r\n\t\t}, 10000);\r\n\t},\r\n\tgetCleverTapID: function () {\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\treturn resolve(clevertap.getCleverTapID());\r\n\t\t\t}, 1000);\r\n\t\t});\r\n\t}\r\n}\r\n","import { ClevertapService } from './clevertapService';\r\n\r\nexport const AppsFlyerService = {\r\n pushEvent: async function (eventName: string) {\r\n if (window && typeof (window as any).AF === 'function') {\r\n const utmObj = JSON.parse(window.sessionStorage.getItem('objUTM_Info') || '{}');\r\n let cuid;\r\n if (utmObj && utmObj.utm_placement) {\r\n cuid = utmObj.utm_placement;\r\n } else {\r\n cuid = await ClevertapService.getCleverTapID();\r\n }\r\n\r\n (window as any).AF('pba', 'event', {\r\n eventType: 'EVENT',\r\n eventName,\r\n cuid,\r\n eventValue: {\r\n eventName,\r\n cuid,\r\n },\r\n });\r\n }\r\n },\r\n setCUID: function (cuid: any) {\r\n if (window && typeof (window as any).AF === 'function') {\r\n (window as any).AF('pba', 'setCustomerUserId', cuid);\r\n }\r\n },\r\n};\r\n","const appsFlyerEvents = {\r\n registration: {\r\n personalDetailsPage: {\r\n CLICK_ON_PROCEED: 'New_Account_Opening | Lead_Page | Step_Complete'\r\n },\r\n panPage: {\r\n CLICK_ON_PROCEED: 'New_Account_Opening | PAN_DOB | Step_Complete'\r\n },\r\n digiLockerPage: {\r\n CLICK_ON_CONNECT_TO_DIGILOCKER: 'New_Account_Opening | DIGI_LOCKER | Step_Complete'\r\n },\r\n profilePage: {\r\n CLICK_ON_SUBMIT_PROFILE: 'New_Account_Opening | Profile_Details | Step_Complete'\r\n },\r\n bankPage: {\r\n CLICK_ON_SUBMIT_BANK_DETAILS: 'New_Account_Opening | Bank_Details | Step_Complete'\r\n },\r\n planPage: {\r\n CLICK_ON_SUBMIT_SELECTED_PLAN: 'New_Account_Opening | Plan_Segment | Step_Complete'\r\n },\r\n investmentPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Investment_Setup | Step_Complete'\r\n },\r\n documentVerificationPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Document_Verification | Step_Complete'\r\n },\r\n ipvPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Video_IPV | Step_Complete'\r\n },\r\n eSignPage: {\r\n CLICK_ON_ESIGN: 'New_Account_Opening | E-Sign | Step_Complete'\r\n },\r\n agentVisit: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Agent_Visit | Step_Complete'\r\n },\r\n finalPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Final_Status | Step_Start'\r\n }\r\n }\r\n}\r\nexport default appsFlyerEvents;","import config from \"../../config/domain\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport requestMapper from \"./mapper/serviceMapper\";\r\nimport servicesList from \"./serviceList\";\r\n\r\ninterface callReq {\r\n url: string;\r\n body: {};\r\n method?: string;\r\n apiBaseUrl?: string;\r\n tempToken?: string;\r\n serviceName?: string;\r\n isNewUrl?: boolean;\r\n}\r\n\r\nexport const xhrApiService = async (\r\n req: callReq,\r\n callback: CallableFunction,\r\n onProgress?: Function,\r\n method?: string,\r\n apiBaseUrl?: string,\r\n serviceName?: string,\r\n tempToken?: string,\r\n isNewUrl?: boolean\r\n) => {\r\n let xhr = new XMLHttpRequest();\r\n\r\n // track upload progress\r\n xhr.upload.onprogress = function (event) {\r\n onProgress && onProgress(event);\r\n };\r\n\r\n // track completion: both successful or not\r\n xhr.onloadend = async function (res) {\r\n resolveResult(res);\r\n // if (serviceName && serviceName !== \"\") {\r\n // let result = await requestMapper(this.responseText, serviceName);\r\n // callback(result);\r\n // } else {\r\n // callback(res);\r\n // }\r\n // if (xhr.status === 200) {\r\n // // callback(JSON.parse(this.responseText));\r\n // } else {\r\n // callback(undefined);\r\n // }\r\n };\r\n\r\n const resolveResult = async (res: any) => {\r\n console.log(\"resolveResult\", serviceName, res.currentTarget.responseText);\r\n if (res.currentTarget) {\r\n if (res.currentTarget.responseText) {\r\n let result = await requestMapper(\r\n JSON.parse(res.currentTarget.responseText),\r\n servicesList.uploadDocumentToS3\r\n );\r\n if (result) {\r\n callback(result);\r\n }\r\n } else {\r\n callback(res.currentTarget);\r\n }\r\n }\r\n };\r\n\r\n xhr.open(method ? method : \"POST\", `${config.diyNewApiUrl}${req.url}`);\r\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n xhr.setRequestHeader(\"api-key\", config.apiKey);\r\n let clientPartialDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (GlobalStore.token !== \"\") {\r\n xhr.setRequestHeader(\"Authorization\", `Bearer ${GlobalStore.token}`);\r\n }\r\n\r\n if (!GlobalStore.token && clientPartialDetails.token) {\r\n xhr.setRequestHeader(\r\n \"Authorization\",\r\n `Bearer ${clientPartialDetails.token}`\r\n );\r\n }\r\n xhr.send(JSON.stringify(req.body));\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { xhrApiService } from \"../xhrApiServices\";\r\n\r\nexport const AUploadDocument = (\r\n callback: CallableFunction,\r\n uploadObj: any,\r\n onProgress?: any\r\n) => {\r\n\r\n const docReqPayLoad: any = {\r\n ApplicationId: uploadObj.applicationid,\r\n FileName: uploadObj.filename,\r\n Base64Document: uploadObj.base64document,\r\n };\r\n\r\n if (\r\n uploadObj.filename.includes(\"_Photo\") ||\r\n uploadObj.filename===\"personalPhoto.jpeg\" ||\r\n uploadObj.filename.includes(\"Signature\")\r\n ) {\r\n docReqPayLoad.QltyByPassFlag = 1;\r\n }\r\n\r\n xhrApiService(\r\n {\r\n url: \"DIYAPI/UploadDocumentToS3\",\r\n body: docReqPayLoad,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n isNewUrl: true,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.uploadDocumentToS3,\r\n },\r\n callback,\r\n onProgress\r\n );\r\n \r\n\r\n\r\n // xhrApiService(\r\n // {\r\n // url: 'eco/upload-document',\r\n // body: uploadObj,\r\n // },\r\n // callback,\r\n // onProgress\r\n // );\r\n};\r\n\r\nexport const AGetBrokerage = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"3\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerage,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokerage\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBrokerageDetails = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"1\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerageDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokerage-details\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveBrokerageDetails = (\r\n callback: CallableFunction,\r\n saveObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBrokerageDetails\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBrokerageDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-brokerage-details\",\r\n // body: saveObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveBrokerageSegmentDetiails = (\r\n callback: CallableFunction,\r\n saveSegObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBrokerageSegmentDetails\",\r\n body: saveSegObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBrokerageSegmentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-brokeragesegment-details\",\r\n // body: saveSegObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBrokerageSegmentDetails = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"2\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerageSegmentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokeragesegment-details\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetDocumentList = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 2,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-document-list\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetUploadedDocument = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 4,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-uploaded-document-list\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetPendingDocument = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/get-pending-document-list',\r\n // body: {\r\n // \"applicationid\": appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocStatus = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 3,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-doc-status\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ADownloadDocument = (\r\n callback: CallableFunction,\r\n fileName: string,\r\n filePath: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/DownloadDocumentFromS3\",\r\n body: {\r\n FileName: fileName,\r\n FilePath: filePath,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.downloadDocumentFromS3,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/download-document\",\r\n // body: {\r\n // filename: fileName,\r\n // filepath: filePath,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveDocumentDetails = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveUploadedDocumentDetails\",\r\n body: {\r\n ClientPrimaryDetailId: saveObj.clientPrimaryDetailId,\r\n ApplicationId: saveObj.applicationId,\r\n LeadId: saveObj.leadId,\r\n DocumentInfo: saveObj.documentInfo\r\n ? sortDocumentInfo(saveObj.documentInfo)\r\n : [],\r\n UtmInfoDetails: saveObj.objUTM_Info,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveUploadedDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-document-details\",\r\n // body: saveObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractPan = (callback: CallableFunction, panObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: panObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_pan\",\r\n Source: panObj.source,\r\n ApplicationId: panObj.applicationid,\r\n DocumentCategory: panObj.documentcategory,\r\n DocumentId: panObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractpan\",\r\n // body: panObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractAadhaar = (\r\n callback: CallableFunction,\r\n aadhaarObj: any,\r\n OCR?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: aadhaarObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: OCR ? \"ind_aadhaar_plus\" : \"ind_aadhaar\",\r\n Source: aadhaarObj.source,\r\n ApplicationId: aadhaarObj.applicationid,\r\n DocumentCategory: OCR ? \"Aadhaar\" : aadhaarObj.documentcategory,\r\n DocumentId: aadhaarObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractCheque = (callback: CallableFunction, chequeObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: chequeObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_cheque\",\r\n Source: chequeObj.source,\r\n ApplicationId: chequeObj.applicationid,\r\n DocumentCategory: chequeObj.documentcategory,\r\n DocumentId: chequeObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractcheque\",\r\n // body: chequeObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractBankStatement = (\r\n callback: CallableFunction,\r\n chequeObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n BankName: chequeObj.bankName,\r\n AccountType: chequeObj.accountType,\r\n Base64Document1: chequeObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"verify_with_source\",\r\n DocumentType: \"ind_bank_statement\",\r\n Source: chequeObj.source,\r\n ApplicationId: chequeObj.applicationid,\r\n DocumentCategory: chequeObj.documentcategory,\r\n DocumentId: chequeObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractcheque\",\r\n // body: chequeObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractPassport = (\r\n callback: CallableFunction,\r\n passportObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: passportObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_passport\",\r\n Source: passportObj.source,\r\n ApplicationId: passportObj.applicationid,\r\n DocumentCategory: passportObj.documentcategory,\r\n DocumentId: passportObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractpassport\",\r\n // body: passportObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractVoterid = (\r\n callback: CallableFunction,\r\n voterIdObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: voterIdObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_voter_id\",\r\n Source: voterIdObj.source,\r\n ApplicationId: voterIdObj.applicationid,\r\n DocumentCategory: voterIdObj.documentcategory,\r\n DocumentId: voterIdObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractvoterid\",\r\n // body: voterIdObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractDl = (callback: CallableFunction, dlObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: dlObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_driving_license\",\r\n Source: dlObj.source,\r\n ApplicationId: dlObj.applicationid,\r\n DocumentCategory: dlObj.documentcategory,\r\n DocumentId: dlObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractdl\",\r\n // body: dlObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const Afacecompare = (callback: CallableFunction, faceObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: faceObj.base64document1,\r\n Base64Document2: faceObj.base64document2,\r\n ActionName: \"compare\",\r\n Source: faceObj.source,\r\n DocumentType: \"face\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/facecompare\",\r\n // body: faceObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AgetPdf = (callback: CallableFunction, pdfObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/MargeMultipleImagestoPDF\",\r\n body: {\r\n ApplicationId: pdfObj.applicationId,\r\n UploadFlag: 1,\r\n Images: [\r\n {\r\n Base64DocumentImage: pdfObj.image1,\r\n Imagename: pdfObj.imagename1,\r\n },\r\n {\r\n Base64DocumentImage: pdfObj.image2,\r\n Imagename: pdfObj.imagename2,\r\n },\r\n ],\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.margeMultipleImagestoPDF,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/MargeMultipleImagestoPDF\",\r\n // body: pdfObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASendApplicationForQC = (\r\n callback: CallableFunction,\r\n postDataQcObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/post-qc-data\",\r\n body: postDataQcObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AcreateApplicationTicket = (\r\n callback: CallableFunction,\r\n appTicketObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateApplicationTicket\",\r\n body: {\r\n ApplicationId: appTicketObj.applicationid,\r\n ClientPrimaryDetailId: appTicketObj.clientprimarydetailid,\r\n StageInfoId: appTicketObj.stageinfoid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.createApplicationTicket,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/create-application-ticket\",\r\n // body: appTicketObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AmaskAadhaar = (callback: CallableFunction, aadhaarObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: aadhaarObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"mask\",\r\n DocumentType: \"ind_aadhaar\",\r\n Source: aadhaarObj.source,\r\n ApplicationId: aadhaarObj.applicationid,\r\n DocumentCategory: aadhaarObj.documentcategory,\r\n DocumentId: aadhaarObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/maskaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nfunction sortDocumentInfo(documents: any) {\r\n let sortedDocuments: Array = [];\r\n for (let doc of documents) {\r\n let docObj: any = {};\r\n docObj.FileName = doc.fileName;\r\n docObj.DocumentId = doc.documentId;\r\n docObj.MimeType = doc.mimeType;\r\n docObj.PanNo = doc.panno;\r\n docObj.PersonalDetailsId = doc.personaldetailsid;\r\n docObj.DocumentCategoryId = doc.documentCategoryId;\r\n docObj.DocumentExpiryDate = doc.documentexpirydate;\r\n docObj.IsFileCropped = doc.isfilecropped;\r\n docObj.IsWatsappFlag = doc.isWatsappFlag;\r\n docObj.DocumentNumber = doc.documentNumber;\r\n docObj.AutoQc = doc.autoqc;\r\n docObj.IsKycDocument = doc.iskycdocument;\r\n if (doc.AutoQcWithDocumentId) {\r\n docObj.AutoQcWithDocumentId = doc.AutoQcWithDocumentId;\r\n }\r\n sortedDocuments.push(docObj);\r\n }\r\n return sortedDocuments;\r\n}\r\nexport const AgetDocumentAutoQcDetails = (\r\n callback: CallableFunction,\r\n listOfAutoQcDocument: any,\r\n applicationId: string,\r\n documentType: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentAutoQcDetails\",\r\n body: {\r\n ListAutoQcDocumentDetails: listOfAutoQcDocument,\r\n ApplicationId: applicationId,\r\n AutoQcDocumentType: \"Selfie\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentAutoQcDetails,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACheckPhotoLiveness = (callback: CallableFunction, base64document: any, leadId?: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/CheckPhotoLiveness\",\r\n body: {\r\n Base64Document:base64document, \r\n LeadId: (leadId) ? leadId : ''\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkPhotoLiveness,\r\n },\r\n callback\r\n );\r\n}\r\n export const ACheckLocation = (callback: CallableFunction, locationObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/CheckLocation\",\r\n body: {\r\n latitude: locationObj.lat,\r\n longitude: locationObj.lng,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkLocation,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/maskaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport \"./ProfileForm.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport FamilyMember, { IFamilyMember } from \"../FamilyMember/FamilyMember\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport {\r\n fatherSpouseRelationList,\r\n dateOptionsList,\r\n monthOptionsList,\r\n yearOptionsList,\r\n addressType,\r\n clientGroup4,\r\n retailAccCategory,\r\n employeeAccCategory,\r\n emailVerificationBody,\r\n dashboardUrl,\r\n poaTrueMsg,\r\n poaFalseMsg,\r\n} from \"../../utils/constants\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport {\r\n AGetEnumList,\r\n AGetRelationshipData,\r\n ASaveRelationshipData,\r\n ASaveKycDetails,\r\n AGetKycDetails,\r\n ARedisDigilockerDoc,\r\n AGetOcrResponseDetails,\r\n AGetDocumentidByApplicationid,\r\n AGetArea,\r\n AGetFullAddress,\r\n ASavePinCity,\r\n AGetCityByPincode,\r\n} from \"../../Services/dashboard/profileApiService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n convertEnumIntoIObj,\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n splitFullName,\r\n capitalizeWords,\r\n ageCalculator,\r\n} from \"../../Services/globalService\";\r\nimport RegOtp from \"../../Registration/RegOtp/RegOtp\";\r\nimport { phoneNo, emailRegex } from \"../../utils/regex\";\r\nimport {\r\n AGetCities,\r\n AGetEmailOtp,\r\n AGetMobileOtp,\r\n AValidateEmailOtp,\r\n AValidateMobileOtp,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport AddressField, {\r\n IAddressFormat,\r\n addressErrorObj,\r\n CkycAddressFormat,\r\n} from \"../AddressField/AddressField\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NriDetailForm, {\r\n INriDetailField,\r\n initialNriDetail,\r\n} from \"../NriDetailForm/NriDetailForm\";\r\nimport { getProfileDetailsFromAadhar } from \"../../Registration/ShareAdd/ShareAdd\";\r\nimport { AGetEmployeeByPan } from \"../../Services/registration/panDobApiService\";\r\nimport moment from \"moment\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { repairAddressWithConditions } from \"../../../components/utils/validation\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport config from \"../../../config/domain\";\r\nimport nomineeDocsIds from \"../../../config/nomineeDocsId\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { pan } from \"../../utils/regex\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { AGetDocStatus } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { nomineeMatch } from \"../ClientNomineeGuardianMatch/ClientNomineeGuardianMatch\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\n// import useReactPath from \"../../../pathhook\";\r\nexport interface ProfileFormProps {}\r\n\r\nexport const initialAddressObj: IAddressFormat = {\r\n addressLine1: \"\",\r\n City: \"\",\r\n Country: \"\",\r\n District: \"\",\r\n PinCode: \"\",\r\n State: \"\",\r\n Area: \"\",\r\n CountryCode: 0,\r\n StateCode: 0,\r\n};\r\n\r\nexport const ckycAddressObj: CkycAddressFormat = {\r\n addressLine1: \"\",\r\n corrAddress: \"\",\r\n sameAsPermanent: true,\r\n city: \"\",\r\n country: \"\",\r\n district: \"\",\r\n pincode: \"\",\r\n corrPincode: \"\",\r\n state: \"\",\r\n area: \"\",\r\n countrycode: 0,\r\n statecode: 0,\r\n};\r\n\r\nconst nomineeIdentificationList = [\r\n // TODO: This is not done from frontend and backend. Here we need to give user to upload both photo and singnature. This is not done from backend so as per nitin we are not allow user for this option now.\r\n\r\n {\r\n display: \"PAN Card no\",\r\n value: 5,\r\n },\r\n {\r\n display: \"Aadhar Card no\",\r\n value: 2,\r\n },\r\n {\r\n display: \"Saving Bank account no.\",\r\n value: 3,\r\n },\r\n {\r\n display: \"Demat Account ID\",\r\n value: 4,\r\n },\r\n {\r\n display: \"Photo and Signature of the Nominee/guardian\",\r\n value: 1,\r\n },\r\n];\r\nconst bankAccountType = [\r\n {\r\n display: \"Ordinary Resident Demat and Trading Account\",\r\n value: 1,\r\n },\r\n // {\r\n // display: \"BSDA Resident Demat and Trading Account\",\r\n // value: 2,\r\n // },\r\n];\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\n\r\nexport interface RelationshipData {\r\n [key: string]: Array;\r\n}\r\n\r\nconst ProfileForm: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const history = useHistory();\r\n\r\n const [errors, setErrors] = React.useState<{\r\n [key: string]: string | undefined;\r\n }>({});\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [ocrDetails, setOcrDetails] = React.useState({ address: \"\" });\r\n\r\n const [isSeniorCitizen, setIsSeniorCitizen] = React.useState(false);\r\n const [occupationList, setOccupationList] = React.useState>(\r\n []\r\n );\r\n const [incomeList, setIncomeList] = React.useState>([]);\r\n const [educationList, setEducationList] = React.useState>([]);\r\n const [maritalStatusList, setMaritalStatusList] = React.useState<\r\n Array\r\n >([]);\r\n const [genderList, setGenderList] = React.useState>([]);\r\n const [relationshipList, setRelationshipList] = React.useState<\r\n Array\r\n >([]);\r\n const [familyRelationList, setFamilyRelationList] = React.useState<\r\n Array\r\n >([]);\r\n const [familyRelationListMail, setFamilyRelationListMail] = React.useState<\r\n Array\r\n >([]);\r\n const [originalRelationList, setOriginalRelationList] = React.useState<\r\n Array\r\n >([]);\r\n const [titlePrefixList, setTitlePrefixList] = React.useState>(\r\n []\r\n );\r\n const [countryList, setCountryList] = React.useState>([]);\r\n\r\n const [relationshipData, setRelationshipData] =\r\n React.useState({});\r\n const [relationshipDataCount, setRelationshipDataCount] = React.useState(\r\n {}\r\n );\r\n\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n const [showNominee, setShowNominee] = React.useState(false);\r\n const [numOfNominee, setNumOfNominee] = React.useState(0);\r\n\r\n const [email, setEmail] = React.useState(GlobalStore.user.email);\r\n const [phone, setPhone] = React.useState(GlobalStore.user.mobile);\r\n const [showEmailBtn, setShowEmailBtn] = React.useState(true);\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(false);\r\n const [showEmailOtp, setShowEmailOtp] = React.useState(false);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(true);\r\n const [isMobileVerified, setIsMobileVerified] = React.useState(true);\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n\r\n const [permanentAddress, setPermanentAddress] =\r\n React.useState({ ...initialAddressObj });\r\n const [kycAddress, setKycAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [correspondanceAddress, setCorrespondanceAddress] =\r\n React.useState({ ...initialAddressObj });\r\n const [nomineeAddress, setNomineeAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [guardianAddress, setGuardianAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [nomineeDocuments, setNomineeDocuments] = React.useState({\r\n nomineeOne: {},\r\n nomineeTwo: {},\r\n nomineeThree: {},\r\n });\r\n const [nomineeDocumentsArray, setNomineeDocumentsArray] = React.useState(\r\n []\r\n );\r\n // check if new docs flag\r\n let [newUploads, setNewUploads] = React.useState([\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n ]);\r\n\r\n const [permErrorObj, setPermErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [corrErrorObj, setCorrErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [nomErrorObj, setNomErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [guardErrorObj, setGuardErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n\r\n const [sameAsPermanent, setSameAsPermanent] = React.useState(true);\r\n const [sameAsNominee, setSameAsNominee] = React.useState(false);\r\n\r\n const [isNomineeMinor, setIsNomineeMinor] = React.useState(false);\r\n\r\n const [gender, setGender] = React.useState(\r\n GlobalStore.personaldetails.gender || \"\"\r\n );\r\n const [maritalStatus, setMaritalStatus] = React.useState(\"S\");\r\n const [fatherOrSpouse, setFatherOrSpouse] = React.useState(\"01\");\r\n const [fatherOrSpouseName, setFatherOrSpouseName] = React.useState(\r\n GlobalStore.personaldetails.fsfullName || \"\"\r\n );\r\n const [kycFatherName, setKycFatherName] = React.useState(\"\");\r\n const [motherName, setMotherName] = React.useState(\r\n GlobalStore.personaldetails.motherfullName || \"\"\r\n );\r\n\r\n const [eduQualification, setEduQulification] = React.useState(\"\");\r\n const [occupation, setOccupation] = React.useState(\"\");\r\n const [politicalVal, setPoliticalVal] = React.useState<\"0\" | \"1\" | \"2\">(\"0\");\r\n const [indianResident, setIndianResident] = React.useState(true);\r\n const [annualIncome, setAnnualIncome] = React.useState(\"\");\r\n const [netWorth, setNetWorth] = React.useState(\"\");\r\n const [placeOfBirth, setPlaceOfBirth] = React.useState(\"\");\r\n const [periodicSettlement, setPeriodicSettlement] = React.useState<\"1\" | \"2\">(\r\n \"2\"\r\n );\r\n\r\n const [nomDob, setNomDob] = React.useState();\r\n\r\n const [nomTitle, setNomTitle] = React.useState(\"\");\r\n const [nomFullName, setNomFullName] = React.useState(\"\");\r\n const [nomRelation, setNomRelation] = React.useState(\"\");\r\n const [nomRelationOther, setNomRelationOther] = React.useState(\"\");\r\n const [validPan, setValidPan] = React.useState([]);\r\n\r\n // New nominee state for multiple nominee functionality\r\n const [nomiDetails, setNomiDetails] = React.useState([]);\r\n\r\n const [guardTitle, setGuardTitle] = React.useState(\"\");\r\n const [guardFullName, setGuardFullName] = React.useState(\"\");\r\n const [guardRelation, setGuardRelation] = React.useState(\"\");\r\n const [guardRelationOther, setGuardRelationOther] =\r\n React.useState(\"\");\r\n\r\n const [guardEduQualification, setGuardEduQulification] =\r\n React.useState(\"\");\r\n const [guardOccupation, setGuardOccupation] = React.useState(\"\");\r\n const [guardPoliticalVal, setGuardPoliticalVal] = React.useState<\r\n \"0\" | \"1\" | \"2\"\r\n >(\"0\");\r\n const [guardAnnualIncome, setGuardAnnualIncome] = React.useState(\"\");\r\n const [guardNetWorth, setGuardNetWorth] = React.useState(\"\");\r\n const [guardPlaceOfBirth, setGuardPlaceOfBirth] = React.useState(\"\");\r\n\r\n const [nriDetailsObj, setNriDetailsObj] = React.useState({\r\n ...initialNriDetail,\r\n });\r\n // const [hideAddressKra, setHideAddressKra] = React.useState(false);\r\n // const [hideAddressKyc, setHideAddressKyc] = React.useState(false);\r\n const [hideAddress, setHideAddress] = React.useState(false);\r\n\r\n const [staffCode, setStaffCode] = React.useState(\"\");\r\n const [aadharName, setAadharName] = React.useState(\"\");\r\n const [isAadharMasked, setIsAadharMasked] = React.useState(true);\r\n const [nomIdentification, setNomIdentification] = React.useState(0);\r\n const [nomPhotoId, setNomPhotoId] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [photoBase64, setPhotoBase64] = React.useState(\"\");\r\n const [nomAdharNum, setNomAdharNum] = React.useState(\"\");\r\n const [nomBankAccountNum, setNomBankAccountNum] = React.useState(\"\");\r\n const [nomDematAccountNum, setNomDematAccountNum] =\r\n React.useState(\"\");\r\n const [globalError, setGlobalError] = React.useState(\"\");\r\n const [addlIdentDetailsValue, setAddlIdentDetailsValue] = useState(true);\r\n const [regectedAddressDoc, setRegectedAddressDoc] = React.useState(false);\r\n\r\n const [POAType, setPOAType] = React.useState(true);\r\n const [POATypeMsg, setPOATypeMsg] = React.useState(poaTrueMsg);\r\n const [defaultAccountType, setDefaultAccountType] = React.useState(\r\n \"Ordinary Resident Demat and Trading Account\"\r\n );\r\n const [defaultSetting, setDefaultSetting] = React.useState(false);\r\n\r\n const [isEditMode, setIsEditMode] = React.useState(false);\r\n const [errorMatchDetails, setErrorMatchDetails] = React.useState(\"\");\r\n const [accountTypeToggle, setAccountTypeToggle] =\r\n React.useState(false);\r\n\r\n let addressEdited = false;\r\n\r\n let [imgOfAddlIdentDetails, setImgOfAddlIdentDetails] = React.useState([\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n ]);\r\n\r\n const nomineeList = [\r\n {\r\n display: \"One\",\r\n value: 1,\r\n },\r\n {\r\n display: \"Two\",\r\n value: 2,\r\n },\r\n {\r\n display: \"Three\",\r\n value: 3,\r\n },\r\n ];\r\n\r\n const [cities, setCities] = React.useState([]);\r\n const [genderError, setGenderError] = React.useState(\"\");\r\n\r\n React.useEffect(() => {\r\n if (gender) {\r\n setGenderError(\"\");\r\n } else {\r\n setGenderError(\"please Select Gender\");\r\n }\r\n }, [gender]);\r\n\r\n const [familyRelationshipCount, setFamilyRelationshipCount] =\r\n React.useState({\r\n mobile: {\r\n self: 0,\r\n spouse: 0,\r\n dependentChild: 0,\r\n dependentParents: 0,\r\n },\r\n email: {\r\n self: 0,\r\n spouse: 0,\r\n dependentChild: 0,\r\n dependentParents: 0,\r\n },\r\n });\r\n\r\n React.useEffect(() => {\r\n if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n const errorMsg = nomineeMatch(showNominee, nomiDetails);\r\n setErrorMatchDetails(errorMsg);\r\n }\r\n }, [nomiDetails]);\r\n React.useEffect(() => {\r\n setTimeout(() => {\r\n setIsLoading(true);\r\n setIsLoading(false);\r\n }, 3000);\r\n }, [nomineeDocumentsArray]);\r\n\r\n // let path = useReactPath();\r\n React.useEffect(() => {\r\n // GlobalStore.pathname = path;\r\n AGetKycDetails(getKycDetails, GlobalStore.applicationID);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (clientPartialDetails_ao.isSeniorCitizen) {\r\n setIsSeniorCitizen(true);\r\n setShowNominee(true);\r\n }\r\n console.log(\r\n clientPartialDetails_ao,\r\n \" = clientPartialDetails_ao || phone = \",\r\n phone\r\n );\r\n if (!phone) {\r\n setPhone(clientPartialDetails_ao.mobile);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n window.scroll(0, 0);\r\n setIsLoading(true);\r\n AGetEnumList(getEnumList, \"\");\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n GlobalStore.isKYC = clientPartialDetails_ao.isKYC;\r\n GlobalStore.isKRA = clientPartialDetails_ao.isKRA;\r\n GlobalStore.isDigiLocker = clientPartialDetails_ao.isDigiLocker;\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.addressLine1 !==\r\n clientPartialDetails_ao.corrAddress &&\r\n setSameAsPermanent(false);\r\n if (\r\n clientPartialDetails_ao.addressLine1 &&\r\n clientPartialDetails_ao.PinCode\r\n ) {\r\n let permAddLocal = { ...permanentAddress };\r\n permAddLocal.addressLine1 = clientPartialDetails_ao.addressLine1;\r\n permAddLocal.PinCode = clientPartialDetails_ao.PinCode;\r\n setPermanentAddress(permAddLocal);\r\n }\r\n if (!clientPartialDetails_ao.sameAsPermanent) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = clientPartialDetails_ao.corrAddress;\r\n corrsAddLocal.PinCode = clientPartialDetails_ao.corrPincode;\r\n setCorrespondanceAddress(corrsAddLocal);\r\n }\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = \"\";\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n if (isValidPan) {\r\n AGetEmployeeByPan(checkIsPanEmployee, panNum);\r\n }\r\n }, [sameAsPermanent]);\r\n\r\n React.useEffect(() => {\r\n if (nomDob !== undefined) {\r\n nomDob && ageCalculator(nomDob) >= 18\r\n ? setIsNomineeMinor(false)\r\n : setIsNomineeMinor(true);\r\n }\r\n }, [nomDob]);\r\n\r\n // Clervertap event: Profile screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.profilePage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n AGetCities(getCities);\r\n }, []);\r\n\r\n // Checking if the address proof is rejected inorder to enable editing of address field for KYC/KRA clients\r\n const getDocumentStatus = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const regectedDoc = JSON.parse(res.data).filter(\r\n (item: any) => item.Status === \"Rejected\"\r\n );\r\n regectedDoc.map((doc: { ContentType: any }) => {\r\n if (doc.ContentType === \"PROOF OF ADDRESS PERMANENT\") {\r\n setRegectedAddressDoc(true);\r\n setHideAddress(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getCities(res: any) {\r\n if (!res || res.error)\r\n // setErrCode('113 - Failed to fetch the list of cities, please reload.');\r\n setErrCode(res.error);\r\n else {\r\n if (res.data && res.data.city) {\r\n setCities(res.data.city);\r\n setErrCode(errCode);\r\n }\r\n }\r\n }\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string,\r\n index: number,\r\n isGuardian: boolean\r\n ) {\r\n console.log(\"call from fun321\");\r\n setIsLoading(true);\r\n\r\n nomPhotoId.imgUrl = \"\";\r\n setNomPhotoId(nomPhotoId);\r\n setPhotoBase64(val!.split(\",\")[1]);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, val, fileName, index, isGuardian, type),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n // React.useEffect(() => {\r\n // console.log(\"imgOfAddlIdentDetails value \", imgOfAddlIdentDetails);\r\n // },[imgOfAddlIdentDetails]);\r\n\r\n function getUploadRes(\r\n res: any,\r\n id: string,\r\n val: any,\r\n fileName: string,\r\n index: number,\r\n isGuardian: boolean,\r\n type: string\r\n ) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(137);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n var nomineeDocObj = nomineeDocuments;\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n let newUpload = newUploads;\r\n if (id === \"nomPhotoId\" || id === \"guardianPhotoId\") {\r\n if (id === \"nomPhotoId\") {\r\n newUpload[index].isPhoto = true;\r\n }\r\n\r\n if (id === \"guardianPhotoId\") {\r\n newUpload[index].guardian.isPhoto = true;\r\n }\r\n\r\n setIsLoading(false);\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (isGuardian) {\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"][\"isPhoto\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeOne.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeThree.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] =\r\n res.data?.Guid;\r\n } else {\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"][\"isPhoto\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeOne.photo.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.photo.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeThree.photo.mimeType = type ? type : \".\";\r\n }\r\n array[index][\"identificationDetail\"][\"value\"] = res.data?.Guid;\r\n array[index][\"error\"][\"identificationDetailValue\"] = undefined;\r\n setAddlIdentDetailsValue(true);\r\n }\r\n setNomiDetails(array);\r\n // AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n // if (photoBase64 !== undefined) {\r\n // setErrCode('');\r\n // }\r\n }\r\n\r\n if (id === \"nomSignature\" || id === \"guardianSignature\") {\r\n setIsLoading(false);\r\n if (id === \"nomSignature\") {\r\n newUpload[index].isSignature = true;\r\n }\r\n\r\n if (id === \"guardianSignature\") {\r\n newUpload[index].guardian.isSignature = true;\r\n }\r\n // var nomineeDocObj = nomineeDocuments;\r\n\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (isGuardian) {\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"][\"isSignature\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeOne.guardianDetails.signature.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.guardianDetails.signature.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeThree.guardianDetails.signature.mimeType =\r\n type ? type : \".\";\r\n }\r\n\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] =\r\n res.data?.Guid;\r\n } else {\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"][\"isSignature\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeOne.signature.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.signature.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeThree.signature.mimeType = type ? type : \".\";\r\n }\r\n array[index][\"identificationDetail\"][\"value\"] = res.data?.Guid;\r\n array[index][\"error\"][\"identificationDetailValue\"] = undefined;\r\n setAddlIdentDetailsValue(true);\r\n }\r\n setNomiDetails(array);\r\n\r\n console.log(\"Nomineedetails\", array);\r\n console.log(\"setNomPhotoId\", nomPhotoId);\r\n\r\n // AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n // if (photoBase64 !== undefined) {\r\n // setErrCode('');\r\n // }\r\n }\r\n setNomineeDocuments(nomineeDocObj);\r\n setNewUploads(newUpload);\r\n console.log(\"NomineeDocs\", nomineeDocuments);\r\n }\r\n }\r\n }\r\n\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...nomPhotoId };\r\n if (percentage < 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setNomPhotoId(panCopy);\r\n }\r\n }\r\n };\r\n\r\n function getDocumentidPOA(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.DocumentCategory &&\r\n responseObj.DocumentId\r\n ) {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n documentcategory: responseObj.DocumentCategory,\r\n documentid: responseObj.DocumentId,\r\n };\r\n AGetOcrResponseDetails(getOcrDetails, reqObj);\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getOcrDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n // const responseObj = JSON.parse(JSON.parse(res.data));\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.ocrdata &&\r\n responseObj.ocrdata.result &&\r\n responseObj.ocrdata.result.extraction_output &&\r\n responseObj.ocrdata.result.extraction_output.address\r\n ) {\r\n let obj = responseObj.ocrdata.result.extraction_output;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n const permAdd = { ...permanentAddress };\r\n permAdd.addressLine1 = obj.address;\r\n const resPin = obj.pincode || getPincode(obj.address);\r\n if (resPin && resPin !== \"\" && resPin.length === 6)\r\n permAdd.PinCode = resPin.toString();\r\n setOcrDetails(obj);\r\n if (!clientPartialDetails_ao.isManual) {\r\n setPermanentAddress(permAdd);\r\n console.log(permanentAddress, \"permanentAddress works 1\");\r\n }\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getPincode(str: string) {\r\n const pincode = str.slice(-6);\r\n return isNaN(parseInt(pincode)) ? \"\" : pincode;\r\n }\r\n\r\n function getEnumList(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('164 - Failed to fetch the category lists, please reload.');\r\n // setErrCode(errorMessage.getEnumList);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.enumlist && res.data.enumlist.length > 0) {\r\n let [\r\n occupationList,\r\n incomeList,\r\n educationList,\r\n maritalStatusList,\r\n genderList,\r\n relationshipList,\r\n titlePrefixList,\r\n familyRelationList,\r\n countryList,\r\n ] = convertEnumIntoIObj(res.data.enumlist, [\r\n \"OccupationCode\",\r\n \"Networth\",\r\n \"Education\",\r\n \"MaritalStatusCode\",\r\n \"GenderCode\",\r\n \"NomineeRelationship\",\r\n \"Prefix\",\r\n \"ContactRelationTypeCode\",\r\n \"Country\",\r\n ]);\r\n incomeList = fixIncomeList(incomeList);\r\n setOccupationList(occupationList);\r\n setIncomeList(incomeList);\r\n setEducationList(educationList);\r\n setMaritalStatusList(maritalStatusList);\r\n setGenderList(genderList);\r\n setRelationshipList(relationshipList);\r\n setTitlePrefixList(titlePrefixList);\r\n setFamilyRelationList(familyRelationList);\r\n setFamilyRelationListMail(familyRelationList);\r\n setOriginalRelationList(familyRelationList);\r\n setCountryList(countryList);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function fixIncomeList(list: IListObj[]) {\r\n return list.map((e) => ({ ...e, display: e.display.replace(\"Btw \", \"\") }));\r\n }\r\n\r\n function getRedisData(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode();\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.coresAddress) {\r\n let responseObj = res.data;\r\n GlobalStore.isDigiLocker = true;\r\n getProfileDetailsFromAadhar(responseObj);\r\n const permAdd = { ...permanentAddress };\r\n permAdd.addressLine1 = responseObj.coresAddress;\r\n setAadharName(responseObj.aadharName);\r\n responseObj.aadharNo !== \"000000000000\" && setIsAadharMasked(false);\r\n permAdd.PinCode = responseObj.coresPincode.toString();\r\n setGender(responseObj.gender === \"M\" ? \"M\" : \"F\");\r\n setGenderError(\"\");\r\n setPermanentAddress(permAdd);\r\n console.log(permanentAddress, \"permanentAddress works 2\");\r\n } else {\r\n AGetDocumentidByApplicationid(\r\n getDocumentidPOA,\r\n GlobalStore.applicationID\r\n );\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getRelationshipData(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n // setErrCode(errorMessage.getRelationshipData);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"count log\", res.data);\r\n let responseObj = res.data;\r\n setRelationshipDataCount({\r\n AvailableRelationshipTagEmail:\r\n responseObj.AvailableRelationshipTagEmail,\r\n AvailableRelationshipTagMobile:\r\n responseObj.AvailableRelationshipTagMobile,\r\n });\r\n setRelationshipData(responseObj);\r\n } else {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function checkIsPanEmployee(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n // const responseDataObj = JSON.parse(JSON.parse(res.data));\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\")\r\n setStaffCode(responseDataObj.result.EmployeeCode);\r\n }\r\n }\r\n }\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n\r\n async function getKycDetails(res: any) {\r\n try {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let srNo = 0;\r\n let responseObj = JSON.parse(res.data);\r\n // let responseObj = JSON.parse(JSON.stringify(res.data));\r\n if (responseObj.ObjEcoClientPersoanlDetails) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.ObjEcoClientPersoanlDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.corrsaddraspermanent;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.isKRA && setHideAddress(true);\r\n GlobalStore.isKYC && setHideAddress(true);\r\n let resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objPermanentAddressDetails;\r\n if (resultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = resultObj.permanentarea;\r\n permAddObj.City = resultObj.permanentcity;\r\n permAddObj.PinCode = resultObj.permanentpincode;\r\n permAddObj.District = resultObj.permanentdistrict;\r\n permAddObj.State = resultObj.permanentstate;\r\n permAddObj.StateCode = resultObj.permanentstatecode;\r\n permAddObj.Country = resultObj.permanentcountry;\r\n permAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setPermanentAddress(permAddObj);\r\n console.log(permanentAddress, \"permanentAddress works 3\");\r\n\r\n // for AO-1395 KYC/KRA address proof reject\r\n }\r\n resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objCorrespondenceAddressDetails;\r\n if (resultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n resultObj.correspondenceaddressline1 +\r\n resultObj.correspondenceaddressline2 +\r\n (resultObj.correspondenceaddressline3 || \"\") +\r\n (resultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = resultObj.correspondancearea;\r\n corrAddObj.City = resultObj.correspondancecity;\r\n corrAddObj.PinCode = resultObj.correspondancepincode;\r\n corrAddObj.District = resultObj.correspondancedistrict;\r\n corrAddObj.State = resultObj.correspondancestate;\r\n corrAddObj.StateCode = resultObj.correspondancestatecode;\r\n corrAddObj.Country = resultObj.correspondancecountry;\r\n corrAddObj.CountryCode = resultObj.correspondancecountrycode;\r\n setCorrespondanceAddress(corrAddObj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 1\"\r\n );\r\n }\r\n\r\n setSameAsPermanent(\r\n responseObj?.ObjEcoClientPersoanlDetails?.corrsaddraspermanent\r\n );\r\n }\r\n if (\r\n responseObj.ObjEcoProfileDetails &&\r\n responseObj.ObjEcoClientPersoanlDetails\r\n ) {\r\n if (\r\n responseObj.ListMultipleNomineeDetails &&\r\n responseObj.ListMultipleNomineeDetails.length > 0\r\n ) {\r\n setShowNominee(true);\r\n setIsEditMode(false);\r\n setNumOfNominee(responseObj.ListMultipleNomineeDetails.length);\r\n const array: any = [];\r\n for (\r\n let i = 0;\r\n i < responseObj.ListMultipleNomineeDetails.length;\r\n i++\r\n ) {\r\n const element = responseObj.ListMultipleNomineeDetails[i];\r\n if (\r\n element?.additional_details ==\r\n \"Photo and Signature of the Nominee/guardian\"\r\n ) {\r\n setIsEditMode(true);\r\n const photo: any = {\r\n id: \"nomPhotoId\",\r\n disable: false,\r\n uploadPer: 100,\r\n fileName: element?.additional_details_value,\r\n imgUrl:\r\n \"data:image/jpg;base64,\" +\r\n JSON.parse(\r\n JSON.stringify(element?.additional_details_value)\r\n ).base64document,\r\n showFile: false,\r\n hideProgress: false,\r\n };\r\n setNomPhotoId(photo);\r\n }\r\n\r\n let addressLine1 =\r\n element.objpermanentaddressdetails.permanentaddressline1;\r\n let addressLine2 =\r\n element.objpermanentaddressdetails.permanentaddressline2;\r\n let addressLine3 =\r\n element?.objpermanentaddressdetails.permanentaddressline3;\r\n let addressLine4 =\r\n element?.objpermanentaddressdetails.permanentaddressline4;\r\n addressLine1 =\r\n addressLine1 != \"null\" || addressLine1 != null\r\n ? addressLine1\r\n : \"\";\r\n addressLine2 =\r\n addressLine2 != \"null\" || addressLine2 != null\r\n ? addressLine2\r\n : \"\";\r\n addressLine3 =\r\n addressLine3 != \"null\" || addressLine3 != null\r\n ? addressLine3\r\n : \"\";\r\n addressLine4 =\r\n addressLine4 != \"null\" || addressLine4 != null\r\n ? addressLine4\r\n : \"\";\r\n\r\n let completeAddress = `${addressLine1}${addressLine2}${addressLine3}${addressLine4}`;\r\n let nFirstName =\r\n element.firstname != null || element.firstname != \"null\"\r\n ? element.firstname\r\n : \"\";\r\n let nMiddleName =\r\n element.middlename != null || element.middlename != \"null\"\r\n ? element.middlename\r\n : \"\";\r\n let nLastname =\r\n element.lastname != null || element.lastname != \"null\"\r\n ? element.lastname\r\n : \"\";\r\n let nomFullName = `${nFirstName} ${nMiddleName} ${nLastname}`;\r\n\r\n const singleNominee: any = {\r\n error: {},\r\n nomTitle: element.title,\r\n nomFullName: nomFullName,\r\n nomRelation: element.relationship,\r\n nomineeAddress: {\r\n addressLine1: completeAddress,\r\n City: element.objpermanentaddressdetails.permanentcity,\r\n Country:\r\n element.objpermanentaddressdetails.permanentcountry,\r\n District:\r\n element.objpermanentaddressdetails.permanentdistrict,\r\n PinCode:\r\n element.objpermanentaddressdetails.permanentpincode,\r\n State: element.objpermanentaddressdetails.permanentstate,\r\n Area: element.objpermanentaddressdetails.permanentarea,\r\n CountryCode:\r\n element.objpermanentaddressdetails.permanentcountrycode,\r\n StateCode:\r\n element.objpermanentaddressdetails.permanentstatecode,\r\n },\r\n nomPerSharing: element.percentage,\r\n nomDob: element.dob ? new Date(element.dob) : null,\r\n isNomineeMinor: element.isminor,\r\n identificationDetail: {\r\n name: element.additional_details,\r\n value: element.additional_details_value,\r\n },\r\n };\r\n\r\n // need to check if isMonir is there than need to check in guardian details from ListMultipleGuardianDetails and set into guardianDetails with singleNominee Obj\r\n if (element.isminor) {\r\n const guardianDetails =\r\n responseObj.ListMultipleGuardianDetails.find(\r\n (singleGuardianDetail: any) =>\r\n singleGuardianDetail.srno === srNo\r\n );\r\n\r\n if (guardianDetails && Object.keys(guardianDetails).length) {\r\n console.log(\"guardianDetails\", guardianDetails);\r\n let addressLine1 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline1;\r\n let addressLine2 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline2;\r\n let addressLine3 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline3;\r\n let addressLine4 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline4;\r\n addressLine1 =\r\n addressLine1 !== \"NULL\" ||\r\n addressLine1 !== \"null\" ||\r\n addressLine1 !== null\r\n ? addressLine1\r\n : \"\";\r\n addressLine2 =\r\n addressLine2 !== \"NULL\" ||\r\n addressLine2 !== \"null\" ||\r\n addressLine2 !== null\r\n ? addressLine2\r\n : \"\";\r\n addressLine3 =\r\n addressLine3 !== \"NULL\" ||\r\n addressLine3 !== \"null\" ||\r\n addressLine3 !== null\r\n ? addressLine3\r\n : \"\";\r\n addressLine4 =\r\n addressLine4 !== \"NULL\" ||\r\n addressLine4 !== \"null\" ||\r\n addressLine4 !== null\r\n ? addressLine4\r\n : \"\";\r\n let completeAddress = `${addressLine1}${addressLine2}${addressLine3}${addressLine4}`;\r\n\r\n let nFirstName =\r\n guardianDetails?.firstname != null ||\r\n guardianDetails?.firstname != \"null\"\r\n ? guardianDetails?.firstname\r\n : \"\";\r\n let nMiddleName =\r\n guardianDetails?.middlename != null ||\r\n guardianDetails?.middlename != \"null\"\r\n ? guardianDetails?.middlename\r\n : \"\";\r\n let nLastname =\r\n guardianDetails?.lastname != null ||\r\n guardianDetails?.lastname != \"null\"\r\n ? guardianDetails?.lastname\r\n : \"\";\r\n let nomFullName = `${nFirstName} ${nMiddleName} ${nLastname}`;\r\n\r\n singleNominee[\"guardianDetails\"] = {\r\n guardPoliticalVal: \"0\",\r\n guardianAddress: {\r\n addressLine1: completeAddress,\r\n City: guardianDetails?.objpermanentaddressdetails\r\n .permanentcity,\r\n Country:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentcountry,\r\n District:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentdistrict,\r\n PinCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentpincode,\r\n State:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentstate,\r\n Area: guardianDetails?.objpermanentaddressdetails\r\n .permanentarea,\r\n CountryCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentcountrycode,\r\n StateCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentstatecode,\r\n },\r\n sameAsNominee: false,\r\n guardTitle: guardianDetails?.title,\r\n guardFullName: nomFullName,\r\n guardRelation: guardianDetails?.relationship,\r\n identificationDetail: {\r\n name: guardianDetails?.additional_details,\r\n value: guardianDetails?.additional_details_value,\r\n },\r\n guardEduQualification: guardianDetails?.education,\r\n guardOccupation: guardianDetails?.occupation,\r\n guardAnnualIncome: guardianDetails?.annualincomerange,\r\n guardNetWorth: guardianDetails?.networthamountac_open,\r\n guardPlaceOfBirth: guardianDetails?.placeofbirth,\r\n };\r\n }\r\n }\r\n srNo += 1;\r\n array.push(singleNominee);\r\n }\r\n console.log(\"array ----->\", array);\r\n setNomiDetails(array);\r\n }\r\n // console.log('responseObj.ListMultipleNomineeDetails', responseObj.ListMultipleNomineeDetails);\r\n\r\n // setNomiDetails(responseObj.ListMultipleNomineeDetails);\r\n // Changes made to populate local storage when client is coming from Know the status flow\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.KRA_email = responseObj.ObjEcoClientPersoanlDetails\r\n .KraEmailId\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraEmailId\r\n : \"\";\r\n GlobalStore.KRA_mobile = responseObj.ObjEcoClientPersoanlDetails\r\n .KraMobileNo\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraMobileNo\r\n : \"\";\r\n GlobalStore.KRA_mode = responseObj.ObjEcoClientPersoanlDetails\r\n .KraMode\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraMode\r\n : 0;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n responseObj.ClientPrimaryDetailID;\r\n clientPartialDetails_ao.emailID = responseObj\r\n .ObjEcoClientPersoanlDetails.Email\r\n ? responseObj.ObjEcoClientPersoanlDetails.Email\r\n : clientPartialDetails_ao.emailID;\r\n clientPartialDetails_ao.birthDate =\r\n responseObj.ObjEcoClientPersoanlDetails.Birthdate;\r\n clientPartialDetails_ao.ckycNo =\r\n responseObj.ObjEcoClientPersoanlDetails.ckycnumber;\r\n clientPartialDetails_ao.fsfullName = `${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseFirstname\r\n ? responseObj.ObjEcoClientPersoanlDetails\r\n .FatherOrSpouseFirstname\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseMiddleName\r\n ? responseObj.ObjEcoClientPersoanlDetails\r\n .FatherOrSpouseMiddleName\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseLastName\r\n ? responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseLastName\r\n : \"\"\r\n }`;\r\n clientPartialDetails_ao.motherfullName = `${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherFirstname\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherFirstname\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherMiddleName\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherMiddleName\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherLastName\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherLastName\r\n : \"\"\r\n }`;\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.ObjEcoClientPersoanlDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.corrsaddraspermanent;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n clientPartialDetails_ao.isKYC =\r\n responseObj.ObjEcoClientPersoanlDetails.iskyc;\r\n clientPartialDetails_ao.isKRA =\r\n responseObj.ObjEcoClientPersoanlDetails.isKRA;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.isKRA && setHideAddress(true);\r\n GlobalStore.isKYC && setHideAddress(true);\r\n let resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objPermanentAddressDetails;\r\n if (resultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = resultObj.permanentarea;\r\n permAddObj.City = resultObj.permanentcity;\r\n permAddObj.PinCode = resultObj.permanentpincode;\r\n permAddObj.District = resultObj.permanentdistrict;\r\n permAddObj.State = resultObj.permanentstate;\r\n permAddObj.StateCode = resultObj.permanentstatecode;\r\n permAddObj.Country = resultObj.permanentcountry;\r\n permAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setPermanentAddress(permAddObj);\r\n console.log(permanentAddress, \"permanentAddress works 4\");\r\n\r\n // for AO-1395 KYC/KRA address proof reject\r\n if (GlobalStore.isKYC || GlobalStore.isKRA) {\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID);\r\n setKycAddress(permAddObj);\r\n setKycFatherName(clientPartialDetails_ao.fsfullName);\r\n }\r\n }\r\n resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objCorrespondenceAddressDetails;\r\n if (resultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n resultObj.correspondenceaddressline1 +\r\n resultObj.correspondenceaddressline2 +\r\n (resultObj.correspondenceaddressline3 || \"\") +\r\n (resultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = resultObj.correspondancearea;\r\n corrAddObj.City = resultObj.correspondancecity;\r\n corrAddObj.PinCode = resultObj.correspondancepincode;\r\n corrAddObj.District = resultObj.correspondancedistrict;\r\n corrAddObj.State = resultObj.correspondancestate;\r\n corrAddObj.StateCode = resultObj.correspondancestatecode;\r\n corrAddObj.Country = resultObj.correspondancecountry;\r\n corrAddObj.CountryCode = resultObj.correspondancecountrycode;\r\n setCorrespondanceAddress(corrAddObj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 2\"\r\n );\r\n }\r\n resultObj = responseObj.ObjEcoClientPersoanlDetails;\r\n if (resultObj) {\r\n setFatherOrSpouse(resultObj.FlagFS || \"01\");\r\n setFatherOrSpouseName(\r\n (resultObj.FatherOrSpouseFirstname || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseMiddleName || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseLastName || \"\")\r\n );\r\n setMotherName(\r\n (resultObj.MotherFirstname || \"\") +\r\n \" \" +\r\n (resultObj.MotherMiddleName || \"\") +\r\n \" \" +\r\n (resultObj.MotherLastName || \"\")\r\n );\r\n console.log(\r\n \"||clientPartialDetails_ao||=\",\r\n clientPartialDetails_ao\r\n );\r\n setMaritalStatus(resultObj.MaritalStatus);\r\n setGender(resultObj.Gender);\r\n setGenderError(\"\");\r\n setSameAsPermanent(resultObj.corrsaddraspermanent);\r\n setEmail(clientPartialDetails_ao.emailID);\r\n GlobalStore.user.email = clientPartialDetails_ao.emailID;\r\n setIsEmailVerified(true);\r\n setShowEmailBtn(false);\r\n setPhone(clientPartialDetails_ao.mobile);\r\n GlobalStore.user.mobile = clientPartialDetails_ao.mobile;\r\n }\r\n resultObj = responseObj.ObjEcoProfileDetails;\r\n if (resultObj) {\r\n setEduQulification(resultObj.education || \"\");\r\n setOccupation(resultObj.occupation || \"\");\r\n setPoliticalVal(resultObj.pep || \"0\");\r\n setAnnualIncome(resultObj.annualincomerange || \"\");\r\n setPlaceOfBirth(resultObj.placeofbirth || \"\");\r\n setNetWorth(resultObj.networthwhenacopen);\r\n setPeriodicSettlement(resultObj.periodicsettlement.toString());\r\n setIndianResident(!resultObj.taxresidentofothercountry);\r\n //setting PO flag after getting\r\n if (resultObj.ddpi_type == 1) setPOAType(true);\r\n else setPOAType(false);\r\n if (resultObj.applicationtype == 2)\r\n setDefaultAccountType(\r\n \"BSDA Resident Demat and Trading Account\"\r\n );\r\n else\r\n setDefaultAccountType(\r\n \"Ordinary Resident Demat and Trading Account\"\r\n );\r\n if (\r\n resultObj.taxresidentofothercountry &&\r\n resultObj.taxresidenceofindialist.length > 0\r\n ) {\r\n const nriObj: typeof nriDetailsObj = {\r\n country: resultObj.taxresidenceofindialist[0].country,\r\n idType:\r\n resultObj.taxresidenceofindialist[0].identification_type,\r\n idTypeValue:\r\n resultObj.taxresidenceofindialist[0].identification_number,\r\n idTypeOther:\r\n resultObj.taxresidenceofindialist[0]\r\n .identification_type_other,\r\n };\r\n setNriDetailsObj(nriObj);\r\n }\r\n }\r\n\r\n resultObj =\r\n responseObj.ObjEcoNomineeDetails?.objPermanentAddressDetails;\r\n if (resultObj) {\r\n const nomAddObj = { ...nomineeAddress };\r\n nomAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n nomAddObj.Area = resultObj.permanentarea;\r\n nomAddObj.City = resultObj.permanentcity;\r\n nomAddObj.PinCode = resultObj.permanentpincode;\r\n nomAddObj.District = resultObj.permanentdistrict;\r\n nomAddObj.StateCode = resultObj.permanentstatecode;\r\n nomAddObj.Country = resultObj.permanentcountry;\r\n nomAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setNomineeAddress(nomAddObj);\r\n setShowNominee(true);\r\n }\r\n resultObj = responseObj.ObjEcoNomineeDetails;\r\n if (resultObj) {\r\n setNomTitle(resultObj.Title);\r\n setNomFullName(\r\n resultObj.FirstName +\r\n \" \" +\r\n (resultObj.MiddleName || \"\") +\r\n \" \" +\r\n (resultObj.LastName || \"\")\r\n );\r\n setNomRelation(resultObj.relationship || \"\");\r\n setIsNomineeMinor(resultObj.isminor);\r\n setNomDob(resultObj.DOB);\r\n }\r\n resultObj =\r\n responseObj.ObjEcoGuardianDetails?.objPermanentAddressDetails;\r\n if (resultObj) {\r\n const gaurdAddObj = { ...guardianAddress };\r\n gaurdAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n gaurdAddObj.Area = resultObj.permanentarea;\r\n gaurdAddObj.City = resultObj.permanentcity;\r\n gaurdAddObj.PinCode = resultObj.permanentpincode;\r\n gaurdAddObj.District = resultObj.permanentdistrict;\r\n gaurdAddObj.State = resultObj.permanentstate;\r\n gaurdAddObj.StateCode = resultObj.permanentstatecode;\r\n gaurdAddObj.Country = resultObj.permanentcountry;\r\n gaurdAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setGuardianAddress(gaurdAddObj);\r\n setIsNomineeMinor(true);\r\n }\r\n resultObj = responseObj.ObjEcoGuardianDetails;\r\n if (resultObj) {\r\n setGuardTitle(resultObj.Title);\r\n setGuardFullName(\r\n resultObj.FirstName +\r\n \" \" +\r\n (resultObj.MiddleName || \"\") +\r\n \" \" +\r\n (resultObj.LastName || \"\")\r\n );\r\n setGuardRelation(resultObj.relationship || \"\");\r\n setGuardEduQulification(resultObj.education || \"\");\r\n setGuardOccupation(resultObj.occupation || \"\");\r\n setGuardPoliticalVal(resultObj.pep || \"0\");\r\n setGuardAnnualIncome(resultObj.annualincomerange || \"\");\r\n setGuardNetWorth(resultObj.networthamountac_open || \"\");\r\n setGuardPlaceOfBirth(resultObj.placeofbirth || \"\");\r\n }\r\n setIsLoading(false);\r\n } else {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (clientPartialDetails_ao.pincode) {\r\n AGetCityByPincode(\r\n getFullAddress,\r\n clientPartialDetails_ao.pincode\r\n );\r\n } else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore.kraInfoObject.addressLine1 &&\r\n GlobalStore.kraInfoObject.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.kraInfoObject.pincode\r\n );\r\n else if (\r\n GlobalStore.isKYC &&\r\n GlobalStore.ckycNo !== \"\" &&\r\n GlobalStore.ckycInfoObject.addressLine1 &&\r\n GlobalStore.ckycInfoObject.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.ckycInfoObject.pincode\r\n );\r\n else if (\r\n GlobalStore.isDigiLocker &&\r\n GlobalStore.personaldetails.addressLine1 &&\r\n GlobalStore.personaldetails.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.personaldetails.pincode\r\n );\r\n else {\r\n const redisReqObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailsId: GlobalStore.clientPrimaryDetailId,\r\n };\r\n ARedisDigilockerDoc(getRedisData, redisReqObj);\r\n }\r\n }\r\n\r\n let mobNumber = GlobalStore.user.mobile;\r\n let emailID = GlobalStore.user.email;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!mobNumber) {\r\n mobNumber = clientPartialDetails_ao.mobile;\r\n }\r\n if (!emailID) {\r\n emailID = clientPartialDetails_ao.emailID;\r\n }\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n GlobalStore.applicationID,\r\n emailID,\r\n mobNumber.toString()\r\n );\r\n\r\n // check if nominee is present is yes get Uploaded documents and prefill\r\n\r\n // AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"error in catch\", error);\r\n }\r\n }\r\n\r\n // function getAreaList(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // // setErrCode(errorMessage.getAreaList);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data && res.data.areas) {\r\n // let arr: Array = [];\r\n // res.data.areas.forEach((item: string) => {\r\n // let obj: IListObj = {\r\n // value: item,\r\n // display: item,\r\n // };\r\n // arr.push(obj);\r\n // });\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // if (clientPartialDetails_ao.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // clientPartialDetails_ao.pincode\r\n // );\r\n // } else if (GlobalStore.ckycInfoObject.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.ckycInfoObject.pincode\r\n // );\r\n // } else if (GlobalStore.kraInfoObject.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.kraInfoObject.pincode\r\n // );\r\n // } else if (GlobalStore.personaldetails.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.personaldetails.pincode\r\n // );\r\n // }\r\n // } else {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // setErrCode(res.error);\r\n // }\r\n // }\r\n // }\r\n\r\n function getFullAddress(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n // setErrCode(errorMessage.getFullAddress);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let obj: any = {};\r\n obj.PinCode = res.data[0].PinCode;\r\n obj.District = res.data[0].District;\r\n obj.Country = res.data[0].Country;\r\n obj.City = res.data[0].City;\r\n obj.State = res.data[0].State;\r\n obj.StateCode = res.data[0].StateCode;\r\n obj.CountryCode = res.data[0].CountryCode;\r\n obj.addressLine1 = clientPartialDetails_ao.addressLine1\r\n ? clientPartialDetails_ao.addressLine1\r\n : GlobalStore.ckycInfoObject.addressLine1\r\n ? GlobalStore.ckycInfoObject.addressLine1\r\n : GlobalStore.kraInfoObject.addressLine1\r\n ? GlobalStore.kraInfoObject.addressLine1\r\n : GlobalStore.personaldetails.addressLine1;\r\n // setHideAddressKra(true);\r\n setPermanentAddress(obj);\r\n const areaObj = {\r\n pincode: res.data[0].PinCode,\r\n city: res.data[0].City,\r\n state: res.data[0].State,\r\n };\r\n ASavePinCity((res: any) => savePinCityRes(res), areaObj);\r\n if (sameAsPermanent) {\r\n setCorrespondanceAddress(obj);\r\n console.log(correspondanceAddress, \"correspondanceAddress works 3\");\r\n\r\n setIsLoading(false);\r\n } else {\r\n if (clientPartialDetails_ao.corrPincode) {\r\n AGetCityByPincode(\r\n (res: any) =>\r\n getCorrAddress(res, clientPartialDetails_ao.corrAddress),\r\n GlobalStore.ckycInfoObject.pincode\r\n );\r\n\r\n // AGetArea(\r\n // (res: any) =>\r\n // getCorrespondingAreaList(\r\n // res,\r\n // clientPartialDetails_ao.corrPincode,\r\n // clientPartialDetails_ao.corrAddress\r\n // ),\r\n // clientPartialDetails_ao.corrPincode\r\n // );\r\n } else setIsLoading(false);\r\n }\r\n } else {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n function updateNomineeDetails() {\r\n // setNomineeDocuments([]);\r\n // setAddlIdentDetailsValue(true);\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n console.log(\"ARRAY\", array);\r\n\r\n if (array.length > 0) {\r\n array.forEach((element: any, index: number) => {\r\n // element.identificationDetail.name = '';\r\n // handleAddNomineeValue('identificationDetail', index, { display: '', value: 0});\r\n });\r\n }\r\n }\r\n\r\n function savePinCityRes(res: any) {\r\n console.log(res, \"response works\");\r\n if (!res || res.error) {\r\n // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // setErrCode(errorMessage.getCorrespondingAreaList);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n }\r\n }\r\n }\r\n // function getCorrespondingAreaList(\r\n // res: any,\r\n // pincode: string,\r\n // address: string\r\n // ) {\r\n // if (!res || res.error) {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // // setErrCode(errorMessage.getCorrespondingAreaList);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data && res.data.areas) {\r\n // let arr: Array = [];\r\n // res.data.areas.forEach((item: string) => {\r\n // let obj: IListObj = {\r\n // value: item,\r\n // display: item,\r\n // };\r\n // arr.push(obj);\r\n // });\r\n // AGetFullAddress(\r\n // (res: any) => getCorrAddress(res, address),\r\n // res.data.areas[0],\r\n // pincode\r\n // );\r\n // }\r\n // }\r\n // }\r\n\r\n function getCorrAddress(res: any, address: string) {\r\n if (!res || res.error) {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n setErrCode(res.error);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n let obj: any = {};\r\n obj.pincode = res.data[0].PinCode;\r\n obj.area = res.data[0].City;\r\n obj.district = res.data[0].District;\r\n obj.country = res.data[0].Country;\r\n obj.city = res.data[0].City;\r\n obj.state = res.data[0].State;\r\n obj.statecode = res.data[0].StateCode;\r\n obj.countrycode = res.data[0].CountryCode;\r\n obj.addressLine1 = address;\r\n setCorrespondanceAddress(obj);\r\n console.log(correspondanceAddress, \"correspondanceAddress works 4\");\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function sendOtp(otpType: \"email\" | \"mobile\") {\r\n setIsLoading(true);\r\n setShowEmailOtp(false);\r\n setInvalidOtp(false);\r\n if (otpType === \"email\") {\r\n let emlObj = {\r\n mailBody: emailVerificationBody.mailBody,\r\n mailFrom: emailVerificationBody.mailFrom,\r\n mailSource: emailVerificationBody.mailSource,\r\n mailSubject: emailVerificationBody.mailSubject,\r\n mailTo: email,\r\n };\r\n AGetEmailOtp((res: any) => otpSent(res, \"email\"), emlObj);\r\n // AGetMobileOtp(emailOtpSent, '9770308828');\r\n } else {\r\n AGetMobileOtp((res: any) => otpSent(res, \"mobile\"), phone);\r\n }\r\n }\r\n\r\n function otpSent(res: any, otpType: \"email\" | \"mobile\") {\r\n if (res.data && res.status) {\r\n if (res.data && otpType === \"email\") {\r\n setShowEmailBtn(false);\r\n setShowEmailOtp(true);\r\n }\r\n if (res.data.Success && otpType === \"mobile\") {\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n }\r\n setErrCode(errCode);\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function validateOtp(otpType: \"email\" | \"mobile\", val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n setDisableOtp(true);\r\n if (otpType === \"email\")\r\n AValidateEmailOtp(\r\n (res: any) => checkValidateOtp(res, \"email\"),\r\n email,\r\n val\r\n );\r\n else\r\n AValidateMobileOtp(\r\n (res: any) => checkValidateOtp(res, \"mobile\"),\r\n phone.toString(),\r\n val\r\n );\r\n }\r\n }\r\n\r\n function checkValidateOtp(res: any, otpType: \"email\" | \"mobile\") {\r\n setDisableOtp(false);\r\n if (!res || res.error) {\r\n // setErrCode('115 - Failed to validate OTP, please retry.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data == true || res.data == \"true\" || res.data == \"Same OTP\") {\r\n if (otpType === \"email\") {\r\n GlobalStore.user.email = email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n }\r\n if (otpType === \"mobile\") {\r\n GlobalStore.user.mobile = phone;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n }\r\n\r\n let mobNumber = GlobalStore.user.mobile;\r\n let emailID = GlobalStore.user.email;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n setFatherOrSpouseName(GlobalStore.personaldetails.fsfullName);\r\n if (!mobNumber) {\r\n mobNumber = clientPartialDetails_ao.mobile;\r\n }\r\n if (!emailID) {\r\n emailID = clientPartialDetails_ao.emailID;\r\n }\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n GlobalStore.applicationID,\r\n emailID,\r\n mobNumber.toString()\r\n );\r\n } else {\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(errCode);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function handleSameAsAbove(event: React.ChangeEvent) {\r\n if (event.target.name === \"sameAscorrespondance\") {\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC\r\n ) {\r\n sameAsPermanent && setCorrespondanceAddress({ ...initialAddressObj });\r\n !sameAsPermanent && setCorrespondanceAddress({ ...permanentAddress });\r\n if (!sameAsPermanent) {\r\n setCorrErrorObj({});\r\n }\r\n setSameAsPermanent(!sameAsPermanent);\r\n }\r\n } else {\r\n !sameAsNominee && setGuardianAddress({ ...nomineeAddress });\r\n setSameAsNominee(!sameAsNominee);\r\n }\r\n }\r\n\r\n function handleSameAsAboveForGaurdian(\r\n event: React.ChangeEvent,\r\n index: number\r\n ) {\r\n const nomineeAdd = JSON.parse(JSON.stringify(nomiDetails));\r\n nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"] =\r\n !nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"];\r\n setNomiDetails(nomineeAdd);\r\n if (event.target.name === \"sameAsguardian\") {\r\n if (\r\n nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"] &&\r\n nomineeAdd[index]?.nomineeAddress\r\n ) {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] =\r\n nomineeAdd[index]?.nomineeAddress;\r\n setNomiDetails(nomineeAdd);\r\n } else {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n setNomiDetails(nomineeAdd);\r\n }\r\n } else {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n setNomiDetails(nomineeAdd);\r\n }\r\n }\r\n\r\n function onRelationChange(type: string, index: number, val: string) {\r\n let value: string = parseInt(val).toString();\r\n\r\n switch (type) {\r\n case \"email\":\r\n let emailArr = relationshipData.emailMatchedList;\r\n emailArr[index].relationshipName = value;\r\n setRelationshipData({\r\n ...relationshipData,\r\n emailMatchedList: emailArr,\r\n });\r\n break;\r\n case \"mobile\":\r\n let mobileArr = relationshipData.mobileMatchedList;\r\n mobileArr[index].relationshipName = value;\r\n setRelationshipData({\r\n ...relationshipData,\r\n mobileMatchedList: mobileArr,\r\n });\r\n break;\r\n case \"both\":\r\n let bothArr = relationshipData.bothMatchedList;\r\n bothArr[index].relationshipName = value;\r\n setRelationshipData({ ...relationshipData, bothMatchedList: bothArr });\r\n break;\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n console.log(\"familyRelationshipCount RE log = \", familyRelationshipCount);\r\n console.log(\"familyRelationshipList RL log = \", familyRelationListMail);\r\n console.log(\"familyRelationshipData Data log = \", relationshipDataCount);\r\n\r\n // Rohit code changes starts\r\n\r\n let mobileDropDownList = familyRelationListMail;\r\n let emailDropDownList = familyRelationListMail;\r\n let removeFromMobileList: string[] = [];\r\n let removeFromEmailList: string[] = [];\r\n\r\n // check if data count is greater then 0 for each type and update the list -- mobile // familyRelationshipCount\r\n if (relationshipDataCount?.AvailableRelationshipTagMobile?.Self == 0) {\r\n removeFromMobileList.push(\"1\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagMobile?.DependentParent ==\r\n 0\r\n ) {\r\n removeFromMobileList.push(\"4\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagMobile?.DependentChild == 0\r\n ) {\r\n removeFromMobileList.push(\"3\");\r\n }\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagMobile?.Spouse == 0) {\r\n removeFromMobileList.push(\"2\");\r\n }\r\n\r\n // check if data count is greater then 0 for each type and update the list -- email // familyRelationListMail\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagEmail?.Self == 0) {\r\n removeFromEmailList.push(\"1\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagEmail?.DependentParent == 0\r\n ) {\r\n removeFromEmailList.push(\"4\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagEmail?.DependentChild == 0\r\n ) {\r\n removeFromEmailList.push(\"3\");\r\n }\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagEmail?.Spouse == 0) {\r\n removeFromEmailList.push(\"2\");\r\n }\r\n\r\n // FIlter out values what all is not required\r\n const mobileList = mobileDropDownList.filter(\r\n (i: any) => !removeFromMobileList.includes(i.value)\r\n );\r\n\r\n const emailList = emailDropDownList.filter(\r\n (i: any) => !removeFromEmailList.includes(i.value)\r\n );\r\n\r\n console.log(\"EMAIL\", removeFromEmailList, emailList);\r\n console.log(\"Mobile\", removeFromMobileList, mobileList);\r\n\r\n // Rohit Code changes ends\r\n\r\n // let familyRelationListCopy = familyRelationList;\r\n // let familyRelationListMailCopy = familyRelationListMail;\r\n // if (\r\n // familyRelationshipCount.mobile.self ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.Self\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"1\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.spouse ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.Spouse\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"2\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.dependentChild ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.DependentChild\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"3\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.dependentParents ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.DependentParent\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"4\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.self ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.Self\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"1\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.spouse ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.Spouse\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"2\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.dependentChild ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.DependentChild\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"3\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.dependentParents ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.DependentParent\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"4\"\r\n // );\r\n // }\r\n setFamilyRelationList(mobileList);\r\n setFamilyRelationListMail(emailList);\r\n }, [familyRelationshipCount, relationshipDataCount]);\r\n\r\n function relationshipListFilter(type: string, index: number, val: any) {\r\n let value = val?.value;\r\n // let familyRelationshipCountData = familyRelationshipCount;\r\n // use of accountcode to bind the relatioship data\r\n console.log(\"Relationship\", val);\r\n if (type === \"mobile\") {\r\n if (value == \"1\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n self: familyRelationshipCount.mobile.self + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"2\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n spouse: familyRelationshipCount.mobile.spouse + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"3\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n dependentChild: familyRelationshipCount.mobile.dependentChild + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"4\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n dependentParents: familyRelationshipCount.mobile.dependentParents + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n }\r\n }\r\n if (type === \"email\") {\r\n if (value == \"1\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n self: familyRelationshipCount.email.self + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"2\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n spouse: familyRelationshipCount.email.spouse + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"3\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n dependentChild: familyRelationshipCount.email.dependentChild + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"4\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n dependentParents: familyRelationshipCount.email.dependentParents + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n }\r\n }\r\n }\r\n\r\n function onRelationBlur(type: string, index: number, val: any) {\r\n console.log(\"----- log\", val);\r\n switch (type) {\r\n case \"email\":\r\n let emailArr = relationshipData.emailMatchedList;\r\n emailArr[index].error = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({\r\n ...relationshipData,\r\n emailMatchedList: emailArr,\r\n });\r\n relationshipListFilter(type, index, val);\r\n break;\r\n case \"mobile\":\r\n let mobileArr = relationshipData.mobileMatchedList;\r\n mobileArr[index].error = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({\r\n ...relationshipData,\r\n mobileMatchedList: mobileArr,\r\n });\r\n relationshipListFilter(type, index, val);\r\n break;\r\n case \"both\":\r\n let bothArr = relationshipData.bothMatchedList;\r\n bothArr[index].relationshipName = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({ ...relationshipData, bothMatchedList: bothArr });\r\n break;\r\n }\r\n }\r\n function onEmailPhoneChange(key: \"email\" | \"phone\", value: string) {\r\n if (key === \"email\") {\r\n if (GlobalStore.user.email === value && isEmailVerified) {\r\n setShowEmailBtn(false);\r\n setIsEmailVerified(true);\r\n } else {\r\n setShowEmailBtn(true);\r\n setShowEmailOtp(false);\r\n }\r\n setEmail(value);\r\n }\r\n if (key === \"phone\") {\r\n if (GlobalStore.user.mobile === value) {\r\n setShowMobileBtn(false);\r\n setIsMobileVerified(true);\r\n } else {\r\n setShowMobileBtn(true);\r\n setShowMobileOtp(false);\r\n }\r\n setPhone(value);\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n }\r\n\r\n function dropDownBlur(key: string, value: any) {\r\n typeof value !== \"object\"\r\n ? setErrors({ ...errors, [key]: errorMsg(errorCode.FE20) })\r\n : setErrors({ ...errors, [key]: undefined });\r\n }\r\n\r\n function onBlurNomDob(event: React.FocusEvent) {\r\n !nomDob && setErrors({ ...errors, nomDob: errorMsg(errorCode.FE27) });\r\n }\r\n\r\n function saveRelationshipData() {\r\n if (\r\n relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.length > 0\r\n ) {\r\n relationshipData.emailMatchedList.map((member: object) => {\r\n if (!member.hasOwnProperty(\"relationshipName\")) {\r\n // setErrCode('Please Select Relationship in Family Declaration');\r\n setErrCode(errorMessage.saveRelationshipData);\r\n return null;\r\n }\r\n });\r\n }\r\n if (\r\n relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.length > 0\r\n ) {\r\n relationshipData.mobileMatchedList.map((member: object) => {\r\n if (!member.hasOwnProperty(\"relationshipName\")) {\r\n // setErrCode('Please Select Relationship in Family Declaration');\r\n setErrCode(errorMessage.saveRelationshipData);\r\n return null;\r\n }\r\n });\r\n }\r\n let saveRelationshipObj = {\r\n applicationid: GlobalStore.applicationID,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n emailMatchedList: relationshipData.emailMatchedList,\r\n empcode: 0,\r\n mobileMatchedList: relationshipData.mobileMatchedList,\r\n };\r\n setIsLoading(true);\r\n ASaveRelationshipData(saveFamilyRelation, saveRelationshipObj);\r\n }\r\n\r\n function saveFamilyRelation(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"in saveFamilyRelation\", res);\r\n }\r\n }\r\n }\r\n\r\n function validateNominees(): boolean {\r\n try {\r\n let isValidate = false;\r\n if (showNominee && numOfNominee === 0) {\r\n isValidate = true;\r\n } else if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n for (let i = 0; i < nomiDetails?.length; i++) {\r\n const element = nomiDetails[i];\r\n // const imgAddDtls = imgOfAddlIdentDetails[i];\r\n if (\r\n element &&\r\n Object.keys(element) &&\r\n (!element?.nomTitle ||\r\n !element?.nomFullName ||\r\n element?.nomFullName === \"\" ||\r\n !element?.nomRelation ||\r\n element?.nomRelation === \"\" ||\r\n (element?.nomRelation === \"13\" &&\r\n element?.nomRelationOther === \"\") ||\r\n !element?.nomDob ||\r\n element.nomPerSharing == 0 ||\r\n Object.values(element?.error).some((error) => error) ||\r\n Object.values(element?.nomineeAddress).some((value) => !value))\r\n // !imgAddDtls.nomineeAddDtls.isPhoto ||\r\n // !imgAddDtls.nomineeAddDtls.isSignature\r\n ) {\r\n isValidate = true;\r\n break;\r\n }\r\n if (\r\n element.isNomineeMinor &&\r\n (!element[\"guardianDetails\"]?.guardTitle ||\r\n element[\"guardianDetails\"]?.guardTitle === \"\" ||\r\n !element[\"guardianDetails\"]?.guardFullName ||\r\n element[\"guardianDetails\"]?.guardFullName === \"\" ||\r\n !element[\"guardianDetails\"]?.guardRelation ||\r\n element[\"guardianDetails\"]?.guardRelation === \"\" ||\r\n (element[\"guardianDetails\"]?.guardRelation === \"13\" &&\r\n element[\"guardianDetails\"]?.guardRelationOther === \"\") ||\r\n !element[\"guardianDetails\"]?.guardEduQualification ||\r\n element[\"guardianDetails\"]?.guardEduQualification === \"\" ||\r\n !element[\"guardianDetails\"]?.guardOccupation ||\r\n element[\"guardianDetails\"]?.guardOccupation === \"\" ||\r\n !element[\"guardianDetails\"]?.guardAnnualIncome ||\r\n element[\"guardianDetails\"]?.guardAnnualIncome === \"\" ||\r\n !element[\"guardianDetails\"]?.guardPlaceOfBirth ||\r\n element[\"guardianDetails\"]?.guardPlaceOfBirth === \"\" ||\r\n !element[\"guardianDetails\"]?.guardNetWorth ||\r\n element[\"guardianDetails\"]?.guardNetWorth === \"\" ||\r\n parseInt(element[\"guardianDetails\"]?.guardNetWorth) < 1000 ||\r\n Object.values(element.error).some((error) => error) ||\r\n Object.values(!element[\"guardianDetails\"]?.guardianAddress).some(\r\n (value) => !value\r\n ))\r\n // ||\r\n // !imgAddDtls.guardianAddDtls.isPhoto ||\r\n // !imgAddDtls.guardianAddDtls.isSignature\r\n ) {\r\n isValidate = true;\r\n break;\r\n } else {\r\n isValidate = false;\r\n }\r\n }\r\n } else {\r\n // console.log('inside the last else');\r\n isValidate = false;\r\n }\r\n // console.log('isValidate inside the validateNominee', isValidate);\r\n return isValidate;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n function validateSubmit(): boolean {\r\n if (\r\n Object.values(permErrorObj).some((error) => error) ||\r\n Object.values(nomErrorObj).some((error) => error) ||\r\n Object.values(corrErrorObj).some((error) => error) ||\r\n Object.values(guardErrorObj).some((error) => error) ||\r\n Object.values(permanentAddress).some((value) => !value) ||\r\n Object.values(correspondanceAddress).some((value) => !value) ||\r\n (relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n (relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n (relationshipData?.bothMatchedList &&\r\n relationshipData?.bothMatchedList?.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n validateNominees() ||\r\n !isEmailVerified ||\r\n !isMobileVerified ||\r\n email === \"\" ||\r\n phone === \"\" ||\r\n fatherOrSpouseName.trim() === \"\" ||\r\n motherName.trim() === \"\" ||\r\n eduQualification === \"\" ||\r\n occupation === \"\" ||\r\n (!indianResident &&\r\n (nriDetailsObj.country === \"\" ||\r\n (nriDetailsObj.idType === \"Others\" &&\r\n nriDetailsObj.idTypeOther === \"\") ||\r\n nriDetailsObj.idTypeValue === \"\")) ||\r\n netWorth === \"\" ||\r\n parseInt(netWorth) < 1000 ||\r\n annualIncome === \"\" ||\r\n placeOfBirth === \"\" ||\r\n Object.values(errors).some((error) => error)\r\n // !addlIdentDetailsValue\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function onBlurPan(error: any, index: number, name: string) {\r\n const array = JSON.parse(JSON.stringify(validPan));\r\n handleAddNomineeError(\r\n index,\r\n name,\r\n error.required || !error.pattern ? errorMsg(errorCode.FE07) : \"\"\r\n );\r\n if (error.pattern) {\r\n array[index] = true;\r\n setValidPan(array);\r\n } else {\r\n array[index] = false;\r\n setValidPan(array);\r\n }\r\n }\r\n\r\n const additionalDetailsOfGuardian = async (\r\n data: any,\r\n index: number,\r\n key: string\r\n ) => {\r\n let result = data[index]?.guardianDetails?.identificationDetail[key];\r\n if (!result) {\r\n let ckycBackup = JSON.parse(\r\n window.localStorage.getItem(\"ckycBackup\") || \"{}\"\r\n );\r\n result = ckycBackup[index]?.guardianDetails?.identificationDetail[key];\r\n }\r\n return result;\r\n };\r\n\r\n const additionalDetailsOfNominee = async (\r\n data: any,\r\n index: number,\r\n key: string\r\n ) => {\r\n let result = data?.identificationDetail[key];\r\n if (!result) {\r\n let ckycBackup = JSON.parse(\r\n window.localStorage.getItem(\"ckycBackup\") || \"{}\"\r\n );\r\n result = ckycBackup[index]?.identificationDetail[key];\r\n }\r\n return result;\r\n };\r\n\r\n const removeSpclCracters = (value: string) => {\r\n if (value) {\r\n return value;//.replace(/[^a-zA-Z0-9 ]/g, \" \");\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n async function handleSubmit() {\r\n setIsLoading(true);\r\n // for AO-1395 KYC/KRA address proof reject\r\n if (regectedAddressDoc) {\r\n if (\r\n JSON.stringify(permanentAddress) !== JSON.stringify(kycAddress) ||\r\n kycFatherName !== fatherOrSpouseName\r\n ) {\r\n GlobalStore.isKRA = false;\r\n GlobalStore.isKYC = false;\r\n addressEdited = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n }\r\n }\r\n\r\n let sumOfPer = 0;\r\n for (let i = 0; i < nomiDetails.length; i++) {\r\n sumOfPer += Number(nomiDetails[i]?.nomPerSharing);\r\n }\r\n if (!showNominee || (showNominee && sumOfPer === 100)) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.newLeadStorage = GlobalStore.leadId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setIsLoading(true);\r\n if (\r\n relationshipData?.emailMatchedList?.length > 0 ||\r\n relationshipData?.mobileMatchedList?.length > 0\r\n ) {\r\n saveRelationshipData();\r\n }\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"profiledur\");\r\n const fatherOrSpouseNames = splitFullName(fatherOrSpouseName);\r\n const motherNames = splitFullName(motherName);\r\n const holderNameArr = splitFullName(GlobalStore.personaldetails.PANName);\r\n\r\n const correspondanceAddressLine = repairAddressWithConditions(\r\n correspondanceAddress.addressLine1,\r\n correspondanceAddress.City\r\n );\r\n const permanentAddressLine = repairAddressWithConditions(\r\n permanentAddress.addressLine1,\r\n permanentAddress.City\r\n );\r\n\r\n const kycObj: any = {\r\n applicationID: GlobalStore.applicationID,\r\n clientPrimaryDetailID: GlobalStore.clientPrimaryDetailId,\r\n isGuardian: false,\r\n isNominee: showNominee,\r\n leadId: GlobalStore.leadId,\r\n // objEcoClientPersoanlDetails: {\r\n persoanlDetails: {\r\n KraEmail: GlobalStore.KRA_email ? GlobalStore.KRA_email : \"\",\r\n KraMobile: GlobalStore.KRA_mobile ? GlobalStore.KRA_mobile : \"\",\r\n Kra_mode: GlobalStore.KRA_mode ? Number(GlobalStore.KRA_mode) : 0,\r\n aadhaar: \"\",\r\n aadhaarName: \"\",\r\n additionalEmail: clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : email,\r\n additionalMobile: clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : phone,\r\n birthdate: GlobalStore.birthDate,\r\n // ckycnumber: GlobalStore.ckycNo,\r\n ckycNumber: GlobalStore.ckycNo,\r\n corrsaddraspermanent: sameAsPermanent,\r\n createdby: 0,\r\n fatherOrSpouseFirstname: fatherOrSpouseNames[0],\r\n fatherOrSpouseMiddleName: fatherOrSpouseNames[1],\r\n fatherOrSpouseLastName: fatherOrSpouseNames[2],\r\n fatherOrSpouseTitle: \"Mr\",\r\n flagFS: fatherOrSpouse,\r\n fsfullName: fatherOrSpouseName,\r\n gender: gender,\r\n holderFirstname: holderNameArr[0],\r\n holderMiddleName: holderNameArr[1],\r\n holderLastName: holderNameArr[2],\r\n holderTitle: gender === \"F\" ? \"Ms\" : \"Mr\",\r\n isKRA: GlobalStore.isKRA,\r\n isRelationship: false,\r\n // isdigilocker: GlobalStore.isDigiLocker,\r\n isDigilocker: GlobalStore.isDigiLocker,\r\n // iskyc: GlobalStore.isKYC,\r\n isKyc: GlobalStore.isKYC,\r\n maidenFirstname: \"\",\r\n maidenLastName: \"\",\r\n maidenMiddleName: \"\",\r\n maritalStatus: maritalStatus,\r\n maidenTitle: \"\",\r\n motherFirstname: motherNames[0],\r\n motherMiddleName: motherNames[1],\r\n motherLastName: motherNames[2],\r\n motherTitle: \"Mrs\",\r\n digiKraKycDetailsmodifieddate: addressEdited ? Date.now() : \"\",\r\n selfielink: GlobalStore.selfieUrl,\r\n // objCorrespondenceAddressDetails: {\r\n correspondenceAddressDetails: {\r\n // correspondanceAddresstype: addressType, //hardCode\r\n correspondenceAddressType: addressType, //hardCode\r\n correspondenceCity: correspondanceAddress.City,\r\n correspondenceCountry: correspondanceAddress.Country,\r\n correspondenceDistrict: correspondanceAddress.District,\r\n correspondencePincode: correspondanceAddress.PinCode,\r\n correspondenceState: correspondanceAddress.State,\r\n // correspondancearea: correspondanceAddress.Area,\r\n correspondenceArea: correspondanceAddress.Area,\r\n // correspondancecountrycode: correspondanceAddress.CountryCode,\r\n correspondenceCountryCode: Number(\r\n correspondanceAddress.CountryCode\r\n ),\r\n // correspondancestatecode: correspondanceAddress.StateCode,\r\n correspondenceStatecode: Number(correspondanceAddress.StateCode),\r\n correspondenceAddressLine1:\r\n removeSpclCracters(correspondanceAddressLine.addLine1) || \"\",\r\n correspondenceAddressLine2:\r\n removeSpclCracters(correspondanceAddressLine.addLine2) || \"\",\r\n correspondenceAddressLine3:\r\n removeSpclCracters(correspondanceAddressLine.addLine3) || \"\",\r\n correspondenceAddressLine4:\r\n removeSpclCracters(correspondanceAddressLine.addLine4) || \"\",\r\n autoQc: GlobalStore.isKYC\r\n ? true\r\n : GlobalStore.personaldetails.aadharName &&\r\n GlobalStore.personaldetails.aadharName\r\n .toLowerCase()\r\n .includes(GlobalStore.personaldetails.PANName.toLowerCase())\r\n ? true\r\n : false,\r\n // autoqc: sameAsPermanent &&\r\n // (\r\n // (\r\n // GlobalStore.isDigiLocker && isAadharMasked &&\r\n // (aadharName.toLowerCase() === GlobalStore.personaldetails.PANName.toLowerCase())\r\n // ) ||\r\n // (ocrDetails && (ocrDetails.address === permanentAddress.addressLine1))\r\n // )\r\n //pin code condition need to add ? //hardcode\r\n },\r\n // objPermanentAddressDetails: {\r\n permanentAddressDetails: {\r\n permanentAddressLine1:\r\n removeSpclCracters(permanentAddressLine.addLine1) || \"\",\r\n permanentAddressLine2:\r\n removeSpclCracters(permanentAddressLine.addLine2) || \"\",\r\n permanentAddressLine3:\r\n removeSpclCracters(permanentAddressLine.addLine3) || \"\",\r\n permanentAddressLine4:\r\n removeSpclCracters(permanentAddressLine.addLine4) || \"\",\r\n permanentAddresstype: addressType, //hardCode\r\n permanentCity: permanentAddress.City,\r\n permanentCountry: permanentAddress.Country,\r\n permanentDistrict: permanentAddress.District,\r\n permanentPincode: permanentAddress.PinCode,\r\n permanentState: permanentAddress.State,\r\n permanentarea: permanentAddress.Area,\r\n permanentcountrycode: Number(permanentAddress.CountryCode),\r\n permanentstatecode: Number(permanentAddress.StateCode),\r\n autoQc: GlobalStore.isKYC\r\n ? true\r\n : GlobalStore.personaldetails.aadharName &&\r\n GlobalStore.personaldetails.aadharName\r\n .toLowerCase()\r\n .includes(GlobalStore.personaldetails.PANName.toLowerCase())\r\n ? true\r\n : false,\r\n // autoqc: (\r\n // GlobalStore.isDigiLocker && isAadharMasked &&\r\n // (aadharName.toLowerCase() === GlobalStore.personaldetails.PANName.toLowerCase())\r\n // ) || (ocrDetails && (ocrDetails.address === permanentAddress.addressLine1))\r\n },\r\n others: \"\",\r\n relationshipName: \"\",\r\n relationshipnamefordiy: \"\",\r\n },\r\n // listMultiplenomineeDetails: [],\r\n listNomineeDetails: [],\r\n // objEcoProfileDetails: {\r\n profileDetails: {\r\n accountCategory: staffCode ? employeeAccCategory : retailAccCategory,\r\n annualIncomeRange: annualIncome,\r\n clientGroup4: clientGroup4, //hardCode\r\n education: eduQualification,\r\n netWorthwhenAcOpen: parseInt(netWorth),\r\n occupation: occupation,\r\n ddpi_type: POAType ? 1 : 0,\r\n applicationType:\r\n defaultAccountType === \"Ordinary Resident Demat and Trading Account\"\r\n ? \"1\"\r\n : \"2\",\r\n pep: politicalVal,\r\n periodicSettlement: parseInt(periodicSettlement),\r\n placeofbirth: placeOfBirth,\r\n staffCode: staffCode,\r\n taxResidentOfOtherCountry: !indianResident,\r\n listTaxrRsidentofIndia: !indianResident\r\n ? [\r\n {\r\n identificationNumber: nriDetailsObj.idTypeValue,\r\n identificationType: nriDetailsObj.idType,\r\n identificationType_Other: nriDetailsObj.idTypeOther || \"TIN\",\r\n oCountry: nriDetailsObj.country,\r\n },\r\n ]\r\n : null,\r\n },\r\n utmInfoDetails: objUTM_Info,\r\n };\r\n\r\n const listMultipleGuardianDetails = [];\r\n let srNo = 0;\r\n for (let i = 0; i < nomiDetails.length; i++) {\r\n if (nomiDetails[i].isNomineeMinor && nomiDetails[i].guardianDetails) {\r\n const guardianNames = splitFullName(\r\n nomiDetails[i]?.guardianDetails?.guardFullName\r\n );\r\n const guardianAddressLine = repairAddressWithConditions(\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.addressLine1,\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.city\r\n );\r\n\r\n listMultipleGuardianDetails.push({\r\n annualIncomeRange:\r\n nomiDetails[i]?.guardianDetails?.guardAnnualIncome,\r\n dob: moment(nomiDetails[i]?.nomDob).format(\"YYYY-MM-DD\"),\r\n education: nomiDetails[i]?.guardianDetails?.guardEduQualification,\r\n holderId: 5,\r\n isSamePermenantAddress: true,\r\n isMinor: false,\r\n firstName: guardianNames[0],\r\n middleName: guardianNames[1],\r\n lastName: guardianNames[2],\r\n netWorthwhenAcOpen: parseInt(\r\n nomiDetails[i]?.guardianDetails?.guardNetWorth\r\n ),\r\n correspondenceAddressDetails: {\r\n correspondenceAddressType: addressType,\r\n correspondenceCity:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.City,\r\n correspondenceCountry:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Country,\r\n correspondenceDistrict:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.District,\r\n correspondencePincode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.PinCode,\r\n correspondenceState:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.State,\r\n correspondenceArea:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Area,\r\n correspondenceCountryCode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.CountryCode,\r\n correspondenceStatecode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.StateCode,\r\n correspondenceAddressLine1: removeSpclCracters(\r\n guardianAddressLine.addLine1\r\n ),\r\n correspondenceAddressLine2: removeSpclCracters(\r\n guardianAddressLine.addLine2\r\n ),\r\n correspondenceAddressLine3: removeSpclCracters(\r\n guardianAddressLine.addLine3\r\n ),\r\n correspondenceAddressLine4: removeSpclCracters(\r\n guardianAddressLine.addLine4\r\n ),\r\n autoQc: false,\r\n },\r\n permanentAddressDetails: {\r\n permanentAddressLine1: removeSpclCracters(\r\n guardianAddressLine.addLine1\r\n ),\r\n permanentAddressLine2: removeSpclCracters(\r\n guardianAddressLine.addLine2\r\n ),\r\n permanentAddressLine3: removeSpclCracters(\r\n guardianAddressLine.addLine3\r\n ),\r\n permanentAddressLine4: removeSpclCracters(\r\n guardianAddressLine.addLine4\r\n ),\r\n permanentAddresstype: addressType,\r\n permanentCity:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.City,\r\n permanentCountry:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Country,\r\n permanentDistrict:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.District,\r\n permanentPincode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.PinCode,\r\n permanentState:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.State,\r\n permanentarea:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Area,\r\n permanentcountrycode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.CountryCode,\r\n permanentstatecode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.StateCode,\r\n autoQc: false,\r\n },\r\n occupation: nomiDetails[i]?.guardianDetails?.guardOccupation,\r\n pep: nomiDetails[i]?.guardianDetails?.guardPoliticalVal,\r\n placeofbirth: nomiDetails[i]?.guardianDetails?.guardPlaceOfBirth,\r\n relationship: nomiDetails[i]?.guardianDetails?.guardRelation,\r\n title: nomiDetails[i]?.guardianDetails?.guardTitle,\r\n additionalDetails: await additionalDetailsOfGuardian(\r\n nomiDetails,\r\n i,\r\n \"name\"\r\n ),\r\n additionalDetailsValue:\r\n // \"guardian\" + (i + 1),\r\n await additionalDetailsOfGuardian(nomiDetails, i, \"value\"),\r\n gurdianMap: `4_${i}`,\r\n // srNo: srNo,\r\n srNo: i,\r\n });\r\n srNo += 1;\r\n }\r\n }\r\n kycObj[\"listGuardianDetails\"] = listMultipleGuardianDetails;\r\n\r\n if (listMultipleGuardianDetails && listMultipleGuardianDetails.length)\r\n kycObj[\"isGuardian\"] = true;\r\n\r\n const listMultiplenomineeDetails = [];\r\n if (showNominee && numOfNominee > 0) {\r\n for (let j = 0; j < nomiDetails.length; j++) {\r\n const singleNomineeDetails = nomiDetails[j];\r\n const nomineeNames = splitFullName(singleNomineeDetails?.nomFullName);\r\n const nomineeAddressLine = repairAddressWithConditions(\r\n singleNomineeDetails.nomineeAddress.addressLine1,\r\n singleNomineeDetails.nomineeAddress.city\r\n );\r\n\r\n listMultiplenomineeDetails.push({\r\n dob: moment(singleNomineeDetails.nomDob).format(\"YYYY-MM-DD\"),\r\n holderId: 4,\r\n isMinor: singleNomineeDetails.isNomineeMinor,\r\n firstName: nomineeNames[0],\r\n middleName: nomineeNames[1],\r\n lastName: nomineeNames[2],\r\n netWorthwhenAcOpen: 1000,\r\n correspondenceAddressDetails: {\r\n correspondenceAddressType: addressType,\r\n correspondenceCity: singleNomineeDetails.nomineeAddress.City,\r\n correspondenceCountry:\r\n singleNomineeDetails.nomineeAddress.Country,\r\n correspondenceDistrict:\r\n singleNomineeDetails.nomineeAddress.District,\r\n correspondencePincode:\r\n singleNomineeDetails.nomineeAddress.PinCode,\r\n correspondenceState: singleNomineeDetails.nomineeAddress.State,\r\n correspondenceArea: singleNomineeDetails.nomineeAddress.Area,\r\n correspondenceCountryCode:\r\n singleNomineeDetails.nomineeAddress.CountryCode,\r\n correspondenceStatecode:\r\n singleNomineeDetails.nomineeAddress.StateCode,\r\n correspondenceAddressLine1: removeSpclCracters(\r\n nomineeAddressLine.addLine1\r\n ),\r\n correspondenceAddressLine2: removeSpclCracters(\r\n nomineeAddressLine.addLine2\r\n ),\r\n correspondenceAddressLine3: removeSpclCracters(\r\n nomineeAddressLine.addLine3\r\n ),\r\n correspondenceAddressLine4: removeSpclCracters(\r\n nomineeAddressLine.addLine4\r\n ),\r\n autoQc: false,\r\n },\r\n permanentAddressDetails: {\r\n permanentAddressLine1: removeSpclCracters(\r\n nomineeAddressLine.addLine1\r\n ),\r\n permanentAddressLine2: removeSpclCracters(\r\n nomineeAddressLine.addLine2\r\n ),\r\n permanentAddressLine3: removeSpclCracters(\r\n nomineeAddressLine.addLine3\r\n ),\r\n permanentAddressLine4: removeSpclCracters(\r\n nomineeAddressLine.addLine4\r\n ),\r\n permanentAddresstype: addressType,\r\n permanentCity: singleNomineeDetails.nomineeAddress.City,\r\n permanentCountry: singleNomineeDetails.nomineeAddress.Country,\r\n permanentDistrict: singleNomineeDetails.nomineeAddress.District,\r\n permanentPincode: singleNomineeDetails.nomineeAddress.PinCode,\r\n permanentState: singleNomineeDetails.nomineeAddress.State,\r\n permanentarea: singleNomineeDetails.nomineeAddress.Area,\r\n permanentcountrycode:\r\n singleNomineeDetails.nomineeAddress.CountryCode,\r\n permanentstatecode: singleNomineeDetails.nomineeAddress.StateCode,\r\n autoQc: false,\r\n },\r\n relationship: singleNomineeDetails.nomRelation,\r\n title: singleNomineeDetails.nomTitle,\r\n additionalDetails: await additionalDetailsOfNominee(\r\n singleNomineeDetails,\r\n j,\r\n \"name\"\r\n ),\r\n // singleNomineeDetails?.identificationDetail?.name,\r\n additionalDetailsValue:\r\n // \"Nominee\" + (j + 1),\r\n await additionalDetailsOfNominee(\r\n singleNomineeDetails,\r\n j,\r\n \"value\"\r\n ),\r\n // singleNomineeDetails?.identificationDetail?.value,\r\n srNo: j,\r\n sharePercentage: Number(singleNomineeDetails?.nomPerSharing),\r\n });\r\n }\r\n }\r\n kycObj[\"listNomineeDetails\"] = listMultiplenomineeDetails;\r\n\r\n console.log(\"nomiDetails ---------->\", nomiDetails);\r\n\r\n //temp fix for address flag issue as not able to reproduce the issue\r\n var correspondenceAddressCheck =\r\n kycObj[\"persoanlDetails\"][\"correspondenceAddressDetails\"];\r\n var permanentAddressCheck =\r\n kycObj[\"persoanlDetails\"][\"permanentAddressDetails\"];\r\n\r\n if (\r\n (correspondenceAddressCheck.correspondenceAddressLine1 ==\r\n permanentAddressCheck.permanentAddressLine1 &&\r\n correspondenceAddressCheck.correspondenceAddressLine2 ==\r\n permanentAddressCheck.permanentAddressLine2 &&\r\n correspondenceAddressCheck.correspondenceAddressLine3 ==\r\n permanentAddressCheck.permanentAddressLine3 &&\r\n correspondenceAddressCheck.correspondenceAddressLine4 ==\r\n permanentAddressCheck.permanentAddressLine4 &&\r\n correspondenceAddressCheck.correspondenceCity ==\r\n permanentAddressCheck.permanentCity &&\r\n correspondenceAddressCheck.correspondenceCountry ==\r\n permanentAddressCheck.permanentCountry &&\r\n correspondenceAddressCheck.correspondenceDistrict ==\r\n permanentAddressCheck.permanentDistrict &&\r\n correspondenceAddressCheck.correspondencePincode ==\r\n permanentAddressCheck.permanentPincode &&\r\n correspondenceAddressCheck.correspondenceState ==\r\n permanentAddressCheck.permanentState &&\r\n correspondenceAddressCheck.correspondenceArea ==\r\n permanentAddressCheck.permanentarea) ||\r\n GlobalStore.isDigiLocker\r\n ) {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = true;\r\n } else {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = false;\r\n }\r\n ASaveKycDetails(saveKycDetails, kycObj);\r\n } else {\r\n setGlobalError(\"Nominee % sharing should be 100\");\r\n return;\r\n }\r\n }\r\n\r\n function saveKycDetails(res: any) {\r\n setIsLoading(true);\r\n console.log(\"function called\");\r\n if (!res || res.error) {\r\n // setErrCode('1120 - Failed to save the KYC details');\r\n // setErrCode(errorMessage.saveKycDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Check if any nominee and additional identification is Photo & Signature\r\n // if found hit save document details API // Added by rohit\r\n let toCheckString = [\"Photo and Signature of the Nominee/guardian\"];\r\n let toCheckPhoto = nomiDetails.filter((ele: any) =>\r\n toCheckString.includes(ele.identificationDetail.name)\r\n );\r\n\r\n // if (showNominee && numOfNominee > 0 && toCheckPhoto.length > 0) {\r\n // saveNomineeDocuments();\r\n // } else {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = email;\r\n clientPartialDetails_ao.mobile = phone;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n completeModuleStatus(dashboardUrl.profile);\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Submit the clevertap event for profile submit\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap code end\r\n\r\n // Apps flyer event for click on proceed on profile details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n // }\r\n } else {\r\n // setErrCode('1121 - Failed to save the KYC details');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n // async function saveNomineeDocuments() {\r\n // var nomineeDocs = nomineeDocuments;\r\n // const saveDetails = [];\r\n // if (nomineeDocs.nomineeOne) {\r\n // if (nomineeDocs.nomineeOne.photo && newUploads[0].isPhoto === true) {\r\n // let nomineeOnePhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeOne.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOnePhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeOne.signature &&\r\n // newUploads[0].isSignature === true\r\n // ) {\r\n // let nomineeOneSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneSignature);\r\n // }\r\n // if (nomineeDocs.nomineeOne.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeOne.guardianDetails.photo &&\r\n // newUploads[0].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeOneGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeOne.guardianDetails.signature &&\r\n // newUploads[0].guardian.isSignature === true\r\n // ) {\r\n // let nomineeOneGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (nomineeDocs.nomineeTwo) {\r\n // if (nomineeDocs.nomineeTwo.photo && newUploads[1].isPhoto === true) {\r\n // let nomineeTwoPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeTwo.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeTwo.signature &&\r\n // newUploads[1].isSignature === true\r\n // ) {\r\n // let nomineeTwoSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoSignature);\r\n // }\r\n // if (nomineeDocs.nomineeTwo.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeTwo.guardianDetails &&\r\n // newUploads[1].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeTwoGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeTwo.guardianDetails.signature &&\r\n // newUploads[1].guardian.isSignature === true\r\n // ) {\r\n // let nomineeTwoGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (nomineeDocs.nomineeThree) {\r\n // if (nomineeDocs.nomineeThree.photo && newUploads[2].isPhoto === true) {\r\n // let nomineeThreePhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeThree.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreePhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeThree.signature &&\r\n // newUploads[2].isSignature === true\r\n // ) {\r\n // let nomineeThreeSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeSignature);\r\n // }\r\n // if (nomineeDocs.nomineeThree.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeThree.guardianDetails.photo &&\r\n // newUploads[2].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeThreeGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeThree.guardianDetails.signature &&\r\n // newUploads[2].guardian.isSignature === true\r\n // ) {\r\n // let nomineeThreeGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName:\r\n // nomineeDocs.nomineeThree.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType:\r\n // nomineeDocs.nomineeThree.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // console.log(\"saveDetails\", saveDetails);\r\n // //setIsLoading(false);\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // };\r\n\r\n // ASaveDocumentDetails(getSaveStatus, saveObj);\r\n\r\n // //return true;\r\n // }\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setIsLoading(false);\r\n return false;\r\n } else {\r\n if (res.data) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = email;\r\n clientPartialDetails_ao.mobile = phone;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n completeModuleStatus(dashboardUrl.profile);\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Submit the clevertap event for profile submit\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap code end\r\n\r\n // Apps flyer event for click on proceed on profile details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n }\r\n }\r\n };\r\n\r\n function onChange(key: string, value: string) {\r\n setPlaceOfBirth(value);\r\n }\r\n\r\n function handleCityBlur(value: any) {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, placeOfBirth: \"\" });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n placeOfBirth: errorMsg(errorCode.FE39),\r\n });\r\n }\r\n }\r\n\r\n // console.log('buttonDisabled?: ', validateSubmit());\r\n // console.log('value for nominee', nomiDetails);\r\n const handleRemoveDoc = (\r\n index: number,\r\n identityId: string,\r\n removeDocObj: any\r\n ) => {\r\n console.log(\"HandleRemoveDoc\", index, identityId, removeDocObj);\r\n };\r\n\r\n const handleAddNomineeValue = (name: string, index: number, value: any) => {\r\n try {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"identificationDetail\") {\r\n array[index][name] = { name: value?.display };\r\n\r\n if (value?.display === \"Photo and Signature of the Nominee/guardian\") {\r\n array[index][name] = {\r\n name: value?.display,\r\n value: \"Nominee\" + (index + 1),\r\n };\r\n }\r\n var objNomineeDocs = nomineeDocuments;\r\n\r\n if (value?.value == 1) {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"] = {\r\n isPhoto: false,\r\n isSignature: false,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n objNomineeDocs.nomineeOne.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeOne.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n\r\n if (index == 1) {\r\n objNomineeDocs.nomineeTwo.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeTwo.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n\r\n if (index == 2) {\r\n objNomineeDocs.nomineeThree.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeThree.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n } else {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"] = {\r\n isPhoto: true,\r\n isSignature: true,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n delete objNomineeDocs.nomineeOne.photo;\r\n delete objNomineeDocs.nomineeOne.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1) {\r\n delete objNomineeDocs.nomineeTwo.photo;\r\n delete objNomineeDocs.nomineeTwo.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2) {\r\n delete objNomineeDocs.nomineeThree.photo;\r\n delete objNomineeDocs.nomineeThree.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n }\r\n setAddlIdentDetailsValue(false);\r\n } else if (name === \"identificationDetailValue\") {\r\n array[index][\"identificationDetail\"][\"value\"] = value;\r\n setAddlIdentDetailsValue(true);\r\n } else {\r\n array[index][name] = value;\r\n }\r\n\r\n if (value) {\r\n if (array[index][\"error\"] && array[index][\"error\"][name]) {\r\n console.log(\"error from on change\", array[index][\"error\"]);\r\n\r\n array[index][\"error\"][name] = undefined;\r\n }\r\n }\r\n\r\n if (name === \"nomDob\" && ageCalculator(value) < 18) {\r\n array[index][\"isNomineeMinor\"] = true;\r\n array[index][\"guardianDetails\"] = {};\r\n array[index][\"guardianDetails\"][\"guardPoliticalVal\"] = \"0\";\r\n array[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n array[index][\"guardianDetails\"][\"sameAsNominee\"] = false;\r\n } else if (name === \"nomDob\" && ageCalculator(value) >= 18) {\r\n array[index][\"isNomineeMinor\"] = false;\r\n }\r\n\r\n if (name === \"nomPerSharing\") {\r\n if (numOfNominee !== 1) {\r\n for (let i = 0; i < numOfNominee; i++) {\r\n if (i !== index) {\r\n const remainigPer = (100 - Number(value)) / (numOfNominee - 1);\r\n array[i][\"nomPerSharing\"] = remainigPer;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setNomiDetails(array);\r\n\r\n window.localStorage.removeItem(\"ckycBackup\");\r\n localStorage.setItem(\"ckycBackup\", JSON.stringify(array));\r\n } catch (error) {\r\n console.log(\"error from on chane\", error);\r\n }\r\n };\r\n\r\n const handleAddNomineeError = (index: number, name: string, value: any) => {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"nomDob\" && array[index][name]) {\r\n array[index][\"error\"][name] = null;\r\n } else {\r\n array[index][\"error\"][name] = value;\r\n }\r\n setNomiDetails(array);\r\n };\r\n\r\n const handleAddNomineeGuardianValue = (\r\n name: string,\r\n index: number,\r\n value: any\r\n ) => {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"identificationDetail\") {\r\n array[index][\"guardianDetails\"][name] = { name: value?.display };\r\n if (value?.display === \"Photo and Signature of the Nominee/guardian\") {\r\n array[index][\"guardianDetails\"][name] = {\r\n name: value?.display,\r\n value: \"Guardian\" + (index + 1),\r\n };\r\n }\r\n setAddlIdentDetailsValue(false);\r\n if (value?.value == 1) {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"] = {\r\n isPhoto: false,\r\n isSignature: false,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n var objNomineeDocs = nomineeDocuments;\r\n if (index == 0) {\r\n objNomineeDocs.nomineeOne.guardianDetails = {};\r\n objNomineeDocs.nomineeOne.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeOne.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1) {\r\n objNomineeDocs.nomineeTwo.guardianDetails = {};\r\n objNomineeDocs.nomineeTwo.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeTwo.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2) {\r\n objNomineeDocs.nomineeThree.guardianDetails = {};\r\n objNomineeDocs.nomineeThree.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeThree.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n } else {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"] = {\r\n isPhoto: true,\r\n isSignature: true,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n var objNomineeDocs = nomineeDocuments;\r\n if (index == 0 && objNomineeDocs.nomineeOne.guardianDetails) {\r\n delete objNomineeDocs.nomineeOne.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1 && objNomineeDocs.nomineeTwo.guardianDetails) {\r\n delete objNomineeDocs.nomineeTwo.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2 && objNomineeDocs.nomineeThree.guardianDetails) {\r\n delete objNomineeDocs.nomineeThree.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n }\r\n } else if (name === \"guardIdentificationDetailValue\") {\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] = value;\r\n setAddlIdentDetailsValue(true);\r\n } else {\r\n array[index][\"guardianDetails\"][name] = value;\r\n }\r\n\r\n if (value) {\r\n if (array[index][\"error\"] && array[index][\"error\"]?.name)\r\n array[index][\"error\"][name] = undefined;\r\n }\r\n setNomiDetails(array);\r\n\r\n window.localStorage.removeItem(\"ckycBackup\");\r\n localStorage.setItem(\"ckycBackup\", JSON.stringify(array));\r\n };\r\n function handleAccountTypeBlur(key: string, value: any) {\r\n typeof value !== \"object\"\r\n ? setErrors({ ...errors, [key]: \"Please select from dropdown\" })\r\n : setErrors({ ...errors, [key]: undefined });\r\n }\r\n\r\n console.log(\"RelationshipData\", relationshipData, \"||\", familyRelationList);\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {!hideAddress && (\r\n <>\r\n {/* Permanent Address Start */}\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 5\"\r\n );\r\n }}\r\n onAddressBlur={setPermErrorObj}\r\n handleSameAsAbove={() => {\r\n console.log(\"great works\");\r\n }}\r\n />\r\n {/* Permanent Address End */}\r\n\r\n {/* Correspondence Address Start */}\r\n {!GlobalStore.isDigiLocker && (\r\n \r\n )}\r\n {/* Correspondence Address End */}\r\n \r\n )}\r\n\r\n {/* Mobile Phone Start*/}\r\n
\r\n
\r\n \r\n onEmailPhoneChange('phone', value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n phone: error.pattern ? \"\" : errorMsg(errorCode.FE08),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.phone}\r\n integer\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === phone &&\r\n phone !== \"\" &&\r\n isMobileVerified &&\r\n !showMobileOtp &&\r\n !showMobileBtn ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n />\r\n
\r\n {showMobileBtn && (\r\n
\r\n error) ||\r\n phone === \"\"\r\n }\r\n onClick={() => sendOtp(\"mobile\")}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n validateOtp(\"mobile\", val)}\r\n resendClicked={() => sendOtp(\"mobile\")}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n {/* Mobile Phone End*/}\r\n\r\n {/* Email Start*/}\r\n {/*
\r\n
\r\n \r\n onEmailPhoneChange('email', value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE03),\r\n })\r\n }\r\n placeholder=\"Eg. example@email.com\"\r\n errorText={errors.email}\r\n type=\"email\"\r\n suffix={\r\n GlobalStore.user.email === email &&\r\n email !== \"\" &&\r\n isEmailVerified &&\r\n !showEmailOtp &&\r\n !showEmailBtn ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {showEmailBtn && (\r\n
\r\n error) ||\r\n email === \"\"\r\n }\r\n onClick={() => sendOtp(\"email\")}\r\n />\r\n
\r\n )}\r\n
\r\n {showEmailOtp && !showEmailBtn && (\r\n
\r\n validateOtp(\"email\", val)}\r\n resendClicked={() => sendOtp(\"email\")}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )} */}\r\n {/* Email End*/}\r\n\r\n {isEmailVerified && (\r\n <>\r\n {/* Family Declaration start */}\r\n {relationshipData.emailMatchedList &&\r\n relationshipData.mobileMatchedList &&\r\n (relationshipData.emailMatchedList.length > 0 ||\r\n relationshipData.mobileMatchedList.length > 0) && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n <>\r\n \r\n \r\n onRelationChange(\"email\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"email\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n \r\n )\r\n )}\r\n {relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n \r\n onRelationChange(\"mobile\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"mobile\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n )\r\n )}\r\n {relationshipData.bothMatchedList &&\r\n relationshipData.bothMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n \r\n onRelationChange(\"both\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"both\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {/* Family Declaration end */}\r\n {/* Secondary Details Start */}\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n setGender(val as string);\r\n setGenderError(\"\");\r\n }}\r\n className=\"liMgt12\"\r\n />\r\n
\r\n
\r\n \r\n setMaritalStatus(val as string)}\r\n className=\"liMgt12\"\r\n />\r\n
\r\n
\r\n \r\n setFatherOrSpouse(val as string)}\r\n className=\"liMgt12\"\r\n bool={{\r\n lhs: maritalStatus === \"S\" || gender !== \"F\",\r\n rhs: fatherSpouseRelationList[1].value,\r\n className: \" not-allowed\",\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n // fatherOrSpouse: error.required ? `Please Enter Valid Name` : '',\r\n fatherOrSpouse: error.required\r\n ? errorMsg(errorCode.FE33)\r\n : \"\",\r\n })\r\n }\r\n onChange={(val) =>\r\n setFatherOrSpouseName(capitalizeWords(val))\r\n }\r\n errorText={errors.fatherOrSpouse}\r\n placeholder=\"Eg. Ankit Agrawal\"\r\n type=\"text\"\r\n helpText=\"Enter name as per PAN\"\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n // motherName: error.required ? 'Please Enter Mother’s Name' : '',\r\n motherName: error.required\r\n ? errorMsg(errorCode.FE34)\r\n : \"\",\r\n })\r\n }\r\n onChange={(val) => setMotherName(capitalizeWords(val))}\r\n errorText={errors.motherName}\r\n placeholder=\"Eg. Ankita Agrawal\"\r\n type=\"text\"\r\n />\r\n
\r\n {/* Secondary Details End */}\r\n {/* Professional Details Start */}\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value === eduQualification\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setEduQulification(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={educationList}\r\n onBlur={(val) => dropDownBlur(\"eduQualification\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Education Qualification\"\r\n noDataMsg=\"Qualification with similar name not found\"\r\n errorText={errors.eduQualification}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n item.value === occupation)\r\n ?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setOccupation(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={occupationList}\r\n onBlur={(val) => dropDownBlur(\"occupation\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Occupation\"\r\n noDataMsg=\"Occupation with similar name not found\"\r\n errorText={errors.occupation}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Explain\r\n \r\n {showExplain && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n setPoliticalVal(\"1\")}\r\n name=\"politicalParty\"\r\n label=\"I am a Politically Exposed Person\"\r\n disabled={true}\r\n />\r\n setPoliticalVal(\"2\")}\r\n name=\"politicalParty\"\r\n label=\"I am Related to Politically Exposed Person\"\r\n disabled={true}\r\n />\r\n setPoliticalVal(\"0\")}\r\n name=\"politicalParty\"\r\n label=\"None\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n const {\r\n country,\r\n idTypeOther,\r\n idTypeValue,\r\n ...newErrors\r\n } = errors;\r\n setErrors(newErrors);\r\n setIndianResident(true);\r\n }}\r\n name=\"taxResident\"\r\n label=\"Yes\"\r\n />\r\n
\r\n
\r\n setIndianResident(false)}\r\n name=\"taxResident\"\r\n label=\"No\"\r\n />\r\n
\r\n
\r\n
\r\n {!indianResident && (\r\n \r\n )}\r\n
\r\n \r\n item.value === annualIncome)\r\n ?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setAnnualIncome(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={incomeList}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Annual Income Bracket\"\r\n noDataMsg=\"Annual Income with similar name not found\"\r\n errorText={errors.annualIncome}\r\n onBlur={(val) => dropDownBlur(\"annualIncome\", val)}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n netWorth:\r\n error.required || error.min\r\n ? // ? 'Please Enter Amount More Than Rs 1000'\r\n errorMsg(errorCode.FE22)\r\n : \"\",\r\n })\r\n }\r\n errorText={errors.netWorth}\r\n onChange={(val) => setNetWorth(val)}\r\n placeholder=\"Eg. 30,00,000\"\r\n // helpText='Maximum 100 Cr.'\r\n />\r\n
\r\n
\r\n \r\n \r\n onChange(\"city\", value[\"CityName\"] as string)\r\n }\r\n searchLength={3}\r\n options={cities}\r\n onBlur={handleCityBlur}\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n errorText={errors.placeOfBirth}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n defaultValue={placeOfBirth}\r\n />\r\n {/* \r\n setErrors({\r\n ...errors,\r\n placeOfBirth: error.required ? 'Please Enter Place of Birth' : '',\r\n })\r\n }\r\n errorText={errors.placeOfBirth}\r\n onChange={(val) => setPlaceOfBirth(val)}\r\n placeholder=\"Eg. Mumbai, Maharashtra\"\r\n type=\"text\"\r\n /> */}\r\n
\r\n
\r\n \r\n
\r\n
\r\n setPeriodicSettlement(\"1\")}\r\n name=\"periodicSettlement\"\r\n label=\"Monthly\"\r\n />\r\n
\r\n
\r\n setPeriodicSettlement(\"2\")}\r\n name=\"periodicSettlement\"\r\n label=\"Quarterly\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*

\r\n */}\r\n
\r\n
\r\n {\r\n if (POAType == true) {\r\n setPOAType(false);\r\n } else {\r\n setPOAType(true);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {defaultSetting && (\r\n <>\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n \r\n )}\r\n setDefaultSetting(!defaultSetting)}\r\n className=\"defaultHeading\"\r\n >\r\n Read {defaultSetting ? \"Less\" : \"More\"}\r\n \r\n
\r\n \r\n
\r\n
\r\n {/* Permanent Address Proof */}\r\n \r\n item.display === defaultAccountType\r\n )?.display\r\n }\r\n onOptionSelect={(val) => setDefaultAccountType(val.display)}\r\n searchLength={0}\r\n options={bankAccountType}\r\n onBlur={(val) =>\r\n handleAccountTypeBlur(\"defaultAccountType\", val)\r\n }\r\n errorText={errors.defaultAccountType}\r\n searchKey=\"display\"\r\n placeholder=\"Select Account Type\"\r\n isDownArrow={true}\r\n />\r\n

Additional default settings for Online Account

\r\n setAccountTypeToggle(!accountTypeToggle)}\r\n className=\"defaultHeading\"\r\n >\r\n {accountTypeToggle ? \"Read Less\" : \"Read More\"}\r\n \r\n
\r\n {accountTypeToggle && (\r\n <>\r\n \r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
{\" \"}\r\n
\r\n {}}\r\n />\r\n \r\n
{\" \"}\r\n
\r\n {}}\r\n />\r\n \r\n
{\" \"}\r\n
\r\n {}}\r\n />\r\n \r\n
{\" \"}\r\n
\r\n {}}\r\n />\r\n \r\n
{\" \"}\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n \r\n )}\r\n {/* Professional Details End */}\r\n {!isSeniorCitizen && (\r\n
\r\n
\r\n \r\n

\r\n \r\n
\r\n
\r\n {\r\n const {\r\n guardAnnualIncome,\r\n guardEduQualification,\r\n guardFullName,\r\n guardOccupation,\r\n guardPlaceOfBirth,\r\n guardRelation,\r\n guardTitle,\r\n nomFullName,\r\n nomRelation,\r\n nomTitle,\r\n numOfNominee,\r\n ...newErrors\r\n } = errors;\r\n const existingNominee = showNominee;\r\n if (existingNominee === true) {\r\n setNomiDetails([]);\r\n setNumOfNominee(0);\r\n }\r\n setErrors(newErrors);\r\n setShowNominee(!existingNominee);\r\n setGlobalError(\"\");\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n {/* Below div is for temp purpose. We need to remove it once multiple nominee we implement it. */}\r\n {/*
\r\n \r\n

\r\n \r\n Click here\r\n {' '}\r\n to Download Add Nomination form\r\n

\r\n
*/}\r\n {/* Nominee Details Start */}\r\n {showNominee && (\r\n <>\r\n
\r\n \r\n {\r\n const totalNomineeCount = Number(val[\"value\"]);\r\n const existingNomineeCount = Number(numOfNominee);\r\n const countForNeedToAddBlankNomine =\r\n totalNomineeCount - existingNomineeCount;\r\n\r\n const existingNomineeDetails = JSON.parse(\r\n JSON.stringify(nomiDetails)\r\n );\r\n\r\n const nomineeEquaPerSharing = (\r\n 100 / totalNomineeCount\r\n ).toFixed(2);\r\n console.log(\r\n \"nomineeEquaPerSharing\",\r\n nomineeEquaPerSharing\r\n );\r\n\r\n const nomineeSharePer: any = {\r\n 1:\r\n totalNomineeCount === 3\r\n ? 33\r\n : Number(nomineeEquaPerSharing),\r\n 2:\r\n totalNomineeCount === 3\r\n ? 33\r\n : Number(nomineeEquaPerSharing),\r\n 3:\r\n totalNomineeCount === 3\r\n ? 34\r\n : Number(nomineeEquaPerSharing),\r\n };\r\n\r\n console.log(\"nomineeSharePer\", nomineeSharePer);\r\n\r\n for (let i = 0; i < countForNeedToAddBlankNomine; i++) {\r\n existingNomineeDetails.push({\r\n error: {},\r\n nomineeAddress: initialAddressObj,\r\n });\r\n }\r\n\r\n for (let i = 0; i < totalNomineeCount; i++) {\r\n existingNomineeDetails[i][\"nomPerSharing\"] =\r\n nomineeSharePer[i + 1];\r\n }\r\n\r\n // If there are 3 nominee and user is going to remove last one and new select for 2 nominee then we need to remove last nominee\r\n let numOfNomineeRemove =\r\n existingNomineeCount - totalNomineeCount;\r\n console.log(\r\n \"numOfNomineeRemove ---->\",\r\n numOfNomineeRemove\r\n );\r\n if (numOfNomineeRemove > 0) {\r\n for (let i = 0; i < numOfNomineeRemove; i++) {\r\n console.log(\"Inside the while loop\", i);\r\n existingNomineeDetails.pop();\r\n }\r\n }\r\n\r\n setNomiDetails(existingNomineeDetails);\r\n setNumOfNominee(val[\"value\"] as number);\r\n }}\r\n defaultValue={\r\n nomineeList.find((d) => d.value === numOfNominee)\r\n ?.display\r\n }\r\n options={nomineeList}\r\n onBlur={(val) => dropDownBlur(\"numOfNominee\", val)}\r\n errorText={errors.numOfNominee}\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"One\"\r\n disableTick\r\n />\r\n
\r\n {numOfNominee > 0 &&\r\n nomineeList.slice(0, numOfNominee).map((data, index) => {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value ===\r\n nomiDetails[index]?.nomTitle\r\n )?.display\r\n }\r\n onOptionSelect={(val) => {\r\n handleAddNomineeValue(\r\n \"nomTitle\",\r\n index,\r\n val[\"value\"] as string\r\n );\r\n }}\r\n options={titlePrefixList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"nomTitle\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomTitle\r\n }\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"Mr.\"\r\n disableTick\r\n />\r\n
\r\n
\r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomFullName\",\r\n error.required\r\n ? // ? 'Please Enter Nominee Name'\r\n errorMsg(errorCode.FE35)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomFullName\r\n }\r\n defaultValue={nomiDetails[index]?.nomFullName}\r\n onChange={(val) => {\r\n console.log(\"inputs for name@@@\", val);\r\n\r\n handleAddNomineeValue(\r\n \"nomFullName\",\r\n index,\r\n capitalizeWords(val)\r\n );\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Name\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index]?.nomRelation\r\n )?.display\r\n }\r\n onOptionSelect={(val) => {\r\n handleAddNomineeValue(\r\n \"nomRelation\",\r\n index,\r\n val[\"value\"] as string\r\n );\r\n }}\r\n searchLength={0}\r\n options={relationshipList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"nomRelation\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE24)\r\n : undefined\r\n )\r\n }\r\n errorText={nomiDetails[index]?.error?.nomRelation}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n {nomRelation === \"13\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomOtherRelation\",\r\n error.required\r\n ? errorMsg(errorCode.FE37)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomOtherRelation\r\n }\r\n onChange={(value) =>\r\n handleAddNomineeValue(\r\n \"nomOtherRelation\",\r\n index,\r\n value\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n {/* Nominee Address Start */}\r\n \r\n handleAddNomineeValue(\r\n \"nomineeAddress\",\r\n index,\r\n value\r\n )\r\n }\r\n onAddressBlur={setNomErrorObj}\r\n handleSameAsAbove={() => {}}\r\n />\r\n {/* Nominee Address End */}\r\n\r\n {/* Nominee sharing per start */}\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomPerSharing\",\r\n error.required || error.min || error.max\r\n ? // ? 'Please Enter percentage from 0 to 100'\r\n errorMsg(errorCode.FE26)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomPerSharing\r\n ? nomiDetails[index]?.error?.nomPerSharing\r\n : nomiDetails[index]?.nomPerSharing == 0\r\n ? errorMsg(errorCode.FE26)\r\n : \"\"\r\n }\r\n onChange={(value) =>\r\n handleAddNomineeValue(\r\n \"nomPerSharing\",\r\n index,\r\n value\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"100\"\r\n defaultValue={nomiDetails[index]?.nomPerSharing}\r\n />\r\n
\r\n {/* Nominee sharing per end */}\r\n\r\n {/* start nominee upload photo */}\r\n
\r\n \r\n \r\n item.display ===\r\n nomiDetails[index]?.identificationDetail\r\n ?.name\r\n )?.display\r\n }\r\n onOptionSelect={\r\n (val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetail\",\r\n index,\r\n val as number\r\n )\r\n\r\n // setNomIdentification(val['value'] as number)\r\n }\r\n searchLength={0}\r\n options={nomineeIdentificationList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetail\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE25)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.identificationDetail\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Adhar\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n {/* {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Photo and Signature of the Nominee/guardian\" && (\r\n
\r\n

Photo

\r\n \r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n {(nomineeDocumentsArray[index]?.photo\r\n ?.uploadPer == 100 ||\r\n nomineeDocumentsArray[index]?.photo\r\n ?.uploadPer == 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n

Signature

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n {(nomineeDocumentsArray[index]?.signature\r\n ?.uploadPer == 100 ||\r\n nomineeDocumentsArray[index]?.signature\r\n ?.uploadPer == 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n )} */}\r\n\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Aadhar Card no\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 4\r\n ? // ? 'Please Enter last four digit of Adhar number'\r\n errorMsg(errorCode.FE25)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Saving Bank account no.\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 8\r\n ? // ? 'Please enter minimum 8 or maximum 18'\r\n errorMsg(errorCode.FE25)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Demat Account ID\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 8\r\n ? // ? 'Please enter minimum 8 or maximum 18'\r\n errorMsg(errorCode.FE25)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"PAN Card no\" && (\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val.toUpperCase()\r\n )\r\n }\r\n onBlur={(error) =>\r\n onBlurPan(\r\n error,\r\n index,\r\n \"identificationDetailValue\"\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n />\r\n
\r\n )}\r\n {/* nominee upload photo end */}\r\n\r\n
\r\n \r\n {/* DOB start */}\r\n\r\n {\r\n console.log(\"on select called\", date);\r\n handleAddNomineeValue(\"nomDob\", index, date);\r\n }}\r\n defaultDate={\r\n nomiDetails[index]?.nomDob\r\n ? new Date(nomiDetails[index]?.nomDob)\r\n : undefined\r\n }\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={new Date()}\r\n minDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 100\r\n )\r\n )\r\n }\r\n onBlur={(e) => {\r\n console.log(\"on blur called\", e);\r\n handleAddNomineeError(\r\n index,\r\n \"nomDob\",\r\n errorMsg(errorCode.FE27)\r\n );\r\n }}\r\n isError={\r\n nomiDetails[index]?.error?.nomDob ? true : false\r\n }\r\n />\r\n {nomiDetails[index]?.error?.nomDob && (\r\n \r\n )}\r\n {/* DOB end */}\r\n
\r\n\r\n {/* Guardian Details Start */}\r\n {nomiDetails[index]?.isNomineeMinor && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value ===\r\n nomiDetails[index][\r\n \"guardianDetails\"\r\n ]?.guardTitle\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardTitle\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n options={titlePrefixList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardTitle\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardTitle\r\n }\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"Mr.\"\r\n disableTick\r\n />\r\n
\r\n
\r\n \r\n handleAddNomineeError(\r\n index,\r\n \"guardFullName\",\r\n error.required\r\n ? // ? 'Please Enter Guardian Name'\r\n errorMsg(errorCode.FE36)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardFullName\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.guardianDetails\r\n ?.guardFullName\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardFullName\",\r\n index,\r\n capitalizeWords(val)\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Rajesh Agarwal\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardRelation\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardRelation(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardRelation\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={relationshipList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardRelation\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE24)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardRelation\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n {guardRelation === \"13\" && (\r\n
\r\n \r\n \r\n // setErrors({\r\n // ...errors,\r\n // guardOtherRelation: error.required\r\n // ? 'Please Enter Relation'\r\n // : '',\r\n // })\r\n handleAddNomineeError(\r\n index,\r\n \"guardOtherRelation\",\r\n error.required\r\n ? errorMsg(errorCode.FE42)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardOtherRelation\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardOtherRelation\",\r\n index,\r\n val\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n {/* Guardian’s Address Start */}\r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardianAddress\",\r\n index,\r\n val\r\n )\r\n }\r\n onAddressBlur={setGuardErrorObj}\r\n showSameAsAbove\r\n sameAsAbove={\r\n nomiDetails[index]?.guardianDetails\r\n ?.sameAsNominee\r\n }\r\n handleSameAsAbove={(event) =>\r\n handleSameAsAboveForGaurdian(event, index)\r\n }\r\n />\r\n {/* Guardian’s Address End */}\r\n\r\n {/* start nominee upload photo */}\r\n
\r\n \r\n \r\n item.display ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"identificationDetail\",\r\n index,\r\n val as number\r\n )\r\n }\r\n searchLength={0}\r\n options={nomineeIdentificationList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardidentificationDetail\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardidentificationDetail\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Adhar\"\r\n isDownArrow={true}\r\n />\r\n
\r\n {/* {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Photo and Signature of the Nominee/guardian\" && (\r\n
\r\n

Photo

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}{\" \"}\r\n {(nomineeDocumentsArray[index]\r\n ?.guardianDetails?.photo?.uploadPer ==\r\n 100 ||\r\n nomineeDocumentsArray[index]\r\n ?.guardianDetails?.photo?.uploadPer ==\r\n 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n

Signature

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}{\" \"}\r\n {(nomineeDocumentsArray[index]\r\n ?.guardianDetails?.signature?.uploadPer ==\r\n 100 ||\r\n nomineeDocumentsArray[index]\r\n ?.guardianDetails?.signature?.uploadPer ==\r\n 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n )} */}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Aadhar Card no\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"guardIdentificationDetailValue\",\r\n !val.pattern\r\n ? errorMsg(errorCode.FE41)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Saving Bank account no.\" && (\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n error.required ||\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n ?.length < 8\r\n ? errorMsg(errorCode.FE40)\r\n : \"\",\r\n })\r\n }\r\n errorText={\r\n errors.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Demat Account ID\" && (\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n error.required ||\r\n nomiDetails[index]\r\n ?.identificationDetail?.value\r\n ?.length < 8\r\n ? errorMsg(errorCode.FE40)\r\n : \"\",\r\n })\r\n }\r\n errorText={\r\n errors.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"PAN Card no\" && (\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val.toUpperCase()\r\n )\r\n }\r\n onBlur={(error) =>\r\n onBlurPan(\r\n error,\r\n index,\r\n \"guardIdentificationDetailValue\"\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardIdentificationDetailValue\r\n }\r\n />\r\n
\r\n )}\r\n {/* nominee upload photo end */}\r\n\r\n {/* Guardian Professional Details Start */}\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardEduQualification\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardEduQulification(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardEduQualification\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={educationList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardEduQualification\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardEduQualification\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Education Qualification\"\r\n noDataMsg=\"Qualification with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardOccupation\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardOccupation(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardOccupation\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={occupationList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardOccupation\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardOccupation\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Occupation\"\r\n noDataMsg=\"Occupation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Explain\r\n \r\n {showExplain && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n // setGuardPoliticalVal('1')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"1\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"I am a Politically Exposed Person\"\r\n />\r\n \r\n // setGuardPoliticalVal('2')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"2\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"I am Related to Politically Exposed Person\"\r\n />\r\n \r\n // setGuardPoliticalVal('0')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"0\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"None\"\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardAnnualIncome\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardAnnualIncome\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardAnnualIncome\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardAnnualIncome\r\n }\r\n searchLength={0}\r\n options={incomeList}\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Annual Income Bracket\"\r\n noDataMsg=\"Annual Income with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardNetWorth\",\r\n index,\r\n val\r\n )\r\n }\r\n onBlur={(error) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardNetWorth\",\r\n error.required || error.min\r\n ? errorMsg(errorCode.FE28)\r\n : \"\"\r\n )\r\n }\r\n placeholder=\"Eg. 30,00,000\"\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardPlaceOfBirth\",\r\n index,\r\n val[\"CityName\"] as string\r\n )\r\n }\r\n searchLength={3}\r\n options={cities}\r\n // onBlur={handleCityBlur}\r\n onBlur={(value) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardPlaceOfBirth\",\r\n typeof value !== \"object\"\r\n ? errorMsg(errorCode.FE29)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardPlaceOfBirth\r\n }\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n // errorText={errors.placeOfBirth}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardPlaceOfBirth\r\n }\r\n />\r\n {/* \r\n handleAddNomineeGuardianValue(\r\n 'guardPlaceOfBirth',\r\n index,\r\n val\r\n )\r\n }\r\n onBlur={(error) =>\r\n handleAddNomineeError(\r\n index,\r\n 'guardPlaceOfBirth',\r\n error.required\r\n ? 'Please Enter Place of Birth'\r\n : ''\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardPlaceOfBirth\r\n }\r\n placeholder=\"Eg. Mumbai, Maharashtra\"\r\n type=\"text\"\r\n /> */}\r\n
\r\n {/*Guardian Professional Details End */}\r\n \r\n )}\r\n {/* Guardian Details End */}\r\n
\r\n );\r\n })}\r\n \r\n )}\r\n {/* Nominee Details End */}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {globalError && (\r\n
\r\n {globalError}\r\n
\r\n )}\r\n {errorMatchDetails && (\r\n
\r\n {errorMatchDetails}\r\n
\r\n )}\r\n {genderError && (\r\n
\r\n {genderError}\r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProfileForm;\r\n","import GlobalStore from \"../../store/globalStore\";\r\n\r\nexport const nomineeMatch=(showNominee:boolean,nomiDetails:any)=>{\r\n if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n const nomiDetailsOne = nomiDetails[0];\r\n const nomiDetailsTwo = nomiDetails[1];\r\n const nomiDetailThree = nomiDetails[2];\r\n \r\n if (\r\n (nomiDetailsOne && Object.keys(nomiDetailsOne)) ||\r\n (nomiDetailsTwo && Object.keys(nomiDetailsTwo)) ||\r\n (nomiDetailThree && Object.keys(nomiDetailThree))\r\n ) {\r\n // name check start\r\n if (\r\n (nomiDetailsOne?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase())\r\n ) {\r\n return (\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailThree?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.nomFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailThree?.nomFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.nomFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsOne?.nomFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.nomFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName.toLowerCase()) ||\r\n (nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailThree[\r\n \"guardianDetails\"\r\n ]?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n }\r\n //name check end\r\n // pan no check start\r\n else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.pan) ||\r\n (nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.pan)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n }\r\n // pan no check end\r\n // addhar no check start\r\n else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.aadharNo) ||\r\n (nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.aadharNo)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n }\r\n // addhar no check end\r\n else {\r\n return(\"\");\r\n }\r\n }\r\n }\r\n}","import { dashboardUrl, ILeftNavBarArray } from \"../utils/constants\";\r\nimport { IUserObj } from \"../types/genericTypes\";\r\nimport { leftNavBarArray } from \"../utils/constants\";\r\nimport {\r\n CkycAddressFormat,\r\n IAddressFormat,\r\n} from \"../Profile/AddressField/AddressField\";\r\nimport {\r\n ckycAddressObj,\r\n initialAddressObj,\r\n} from \"../Profile/ProfileForm/ProfileForm\";\r\n\r\ninterface IPersonaldetails {\r\n firstname?: string;\r\n lastname?: string;\r\n middlename?: string;\r\n mobile?: string;\r\n emailId?: string;\r\n aadhaar?: string;\r\n pan: string;\r\n panDetails?: string;\r\n gender?: \"M\" | \"F\" | string;\r\n dob?: string;\r\n additionalemail?: string;\r\n additionalmobile?: string;\r\n PANName?: string;\r\n adrLine1?: string;\r\n adrLine2?: string;\r\n city?: string;\r\n state?: string;\r\n pincode?: string;\r\n}\r\n\r\ninterface IStageStatus {\r\n isregistrationcompleted?: boolean;\r\n ispersonaldetailscompleted: boolean;\r\n isprofiledetailscompleted: boolean;\r\n isnewdpnomineecompleted?: boolean;\r\n isnewdpguardiancompleted?: boolean;\r\n isbankdetailscompleted: boolean;\r\n isbrokeragesegmentcompleted?: boolean;\r\n isuploaddocumentscompleted: boolean;\r\n isipvarificationcompleted?: boolean;\r\n isbrokerageschemecompleted?: boolean;\r\n isagentvisitcompleted?: boolean;\r\n isesigncompleted: boolean;\r\n isdigilockercompleted?: boolean;\r\n isaddressstagecompleted: boolean;\r\n bpm_pd_status: number;\r\n bpm_nsb_status: number;\r\n applicationstatus: number;\r\n iskra: boolean;\r\n iskyc: boolean;\r\n ckycnumber: string;\r\n iskraesigncompleted: boolean;\r\n ispanlinkedwithaadhar: boolean;\r\n checkpanaaddharflag: boolean;\r\n}\r\n\r\nexport default class GlobalStore {\r\n static user: IUserObj = {\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n rmCode: \"\",\r\n UCC_Code:\"\"\r\n };\r\n static isPartialFilledClient: boolean = false;\r\n static leadForDsa: boolean = false;\r\n static SaveKYCResponse: any = {};\r\n static personaldetails: any = {};\r\n static profileDetails: any = {};\r\n static LeadIdMsg: string;\r\n static createLeadDudupeParam: any = {};\r\n static leadId: string;\r\n static sessionId: string;\r\n static dateofbirth: string = \"\";\r\n static dob: string = \"\";\r\n static birthDate: string = \"\";\r\n static applicationID: string = \"\";\r\n static aadharLinkedChoice: boolean = false;\r\n static clientPrimaryDetailId: string = \"\";\r\n static clientStageStatus: any = {};\r\n static dashboardDefaultUrl = dashboardUrl.profile;\r\n static dashboardActivetUrl = dashboardUrl.profile;\r\n static leftNavBarState: Array = [...leftNavBarArray];\r\n static stageStatus: IStageStatus = {\r\n isregistrationcompleted: false,\r\n ispersonaldetailscompleted: false,\r\n isprofiledetailscompleted: false,\r\n isnewdpnomineecompleted: false,\r\n isnewdpguardiancompleted: false,\r\n isbankdetailscompleted: false,\r\n isbrokeragesegmentcompleted: false,\r\n isuploaddocumentscompleted: false,\r\n isipvarificationcompleted: false,\r\n isbrokerageschemecompleted: false,\r\n isagentvisitcompleted: false,\r\n isesigncompleted: false,\r\n isdigilockercompleted: false,\r\n isaddressstagecompleted: false,\r\n bpm_pd_status: 0,\r\n bpm_nsb_status: 0,\r\n applicationstatus: 0,\r\n iskra: false,\r\n iskyc: false,\r\n ckycnumber: \"\",\r\n iskraesigncompleted: false,\r\n ispanlinkedwithaadhar: false,\r\n checkpanaaddharflag: false,\r\n };\r\n static isDigiLocker: boolean = false;\r\n static isKRA: boolean = false;\r\n static isKYC: boolean = false;\r\n static isManual: boolean = false;\r\n static isNormalClient: boolean = false;\r\n static isPANVerified: boolean = false;\r\n static isSeniorCitizen: boolean = false;\r\n static panOCRObj: any = {};\r\n static chequeOCRObj: any = {};\r\n static aadhaarOCRObj: any = {};\r\n static passportOCRObj: any = {};\r\n static dlOCRObj: any = {};\r\n static voterIdOCRObj: any = {};\r\n static corrAadhaarOCRObj: any = {};\r\n static corrPassportOCRObj: any = {};\r\n static corrDlOCRObj: any = {};\r\n static corrVoterIdOCRObj: any = {};\r\n static accountHolderName: string = \"\";\r\n static isSeeding: boolean = false;\r\n static selfieUrl: string = \"\";\r\n static nextIncompleteStage: string = \"\";\r\n static kraInfoObject: CkycAddressFormat = { ...ckycAddressObj };\r\n static ckycInfoObject: CkycAddressFormat = { ...ckycAddressObj };\r\n static ckycNo: string = \"\";\r\n static token: string = \"\";\r\n static account_no: string = \"\";\r\n static ifsc_code: string = \"\";\r\n static location: any = \"\";\r\n static KRA_mobile?: string;\r\n static KRA_email?: string;\r\n static KRA_mode?: number;\r\n static fieldErrorBank: Array = [\r\n // errCode1: \"test errror\",\r\n ];\r\n}\r\n","//import React, { useState } from 'react';\r\nimport indexer, { IListObj, initialIListObj } from \"../types/genericTypes\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n ILeftNavBarArray,\r\n days,\r\n containerUrl,\r\n dashboardUrl,\r\n} from \"../utils/constants\";\r\nimport { AUpdateUtmDetails } from \"./registration/panDobApiService\";\r\nimport { xhrApiService } from \"./xhrApiServices\";\r\nimport { apiService } from \"./apiServices\";\r\nimport servicesList from \"./serviceList\";\r\nimport config from \"../../config/domain\";\r\n\r\nexport function clientContinue() {\r\n const clientDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n const partner = JSON.parse(window.sessionStorage.getItem(\"partner\") || \"{}\");\r\n console.log(\"Partner: \", partner);\r\n\r\n if (\r\n clientDetails.applicationId &&\r\n clientDetails.applicationId !== \"\" &&\r\n clientDetails.panDetails &&\r\n clientDetails.panDetails !== \"\" &&\r\n !partner &&\r\n !(clientDetails.isNormalClient && !clientDetails.isPANVerified)\r\n )\r\n return containerUrl.continue;\r\n}\r\n\r\nexport function clientPartialDetailsToStore(initialObj?: {\r\n applicationID: string;\r\n}) {\r\n const clientPartialDetails_ao =\r\n initialObj ||\r\n JSON.parse(window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\");\r\n if (Object.keys(clientPartialDetails_ao).length > 0) {\r\n GlobalStore.clientPrimaryDetailId =\r\n clientPartialDetails_ao.clientPrimaryDetailId || \"\";\r\n GlobalStore.token = clientPartialDetails_ao.token || \"\";\r\n GlobalStore.applicationID = clientPartialDetails_ao.applicationId || \"\";\r\n GlobalStore.dob = clientPartialDetails_ao.dob || \"\";\r\n GlobalStore.birthDate = clientPartialDetails_ao.birthDate || \"\";\r\n GlobalStore.personaldetails.pan = clientPartialDetails_ao.pan || \"\";\r\n GlobalStore.leadId = clientPartialDetails_ao.leadID || \"\";\r\n GlobalStore.isSeeding = clientPartialDetails_ao.isSeeding || false;\r\n GlobalStore.selfieUrl = clientPartialDetails_ao.selfieUrl || \"\";\r\n GlobalStore.user.email = clientPartialDetails_ao.emailID || \"\";\r\n GlobalStore.user.mobile = clientPartialDetails_ao.mobile || \"\";\r\n GlobalStore.personaldetails.panDetails =\r\n clientPartialDetails_ao.panDetails || \"\";\r\n GlobalStore.personaldetails.PANName = clientPartialDetails_ao.PANName || \"\";\r\n GlobalStore.isDigiLocker = clientPartialDetails_ao.isDigiLocker || false;\r\n GlobalStore.isKRA = clientPartialDetails_ao.isKRA || false;\r\n GlobalStore.isKYC = clientPartialDetails_ao.isKYC || false;\r\n GlobalStore.isNormalClient =\r\n clientPartialDetails_ao.isNormalClient || false;\r\n GlobalStore.isPANVerified = clientPartialDetails_ao.isPANVerified || false;\r\n GlobalStore.isSeniorCitizen =\r\n clientPartialDetails_ao.isSeniorCitizen || false;\r\n GlobalStore.aadharLinkedChoice =\r\n clientPartialDetails_ao.aadharLinkedChoice || false;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n clientPartialDetails_ao.kraAddressLine1 || \"\";\r\n GlobalStore.kraInfoObject.pincode =\r\n clientPartialDetails_ao.kraPincode || \"\";\r\n GlobalStore.ckycNo = clientPartialDetails_ao.ckycNo || \"\";\r\n GlobalStore.personaldetails.fsfullName =\r\n clientPartialDetails_ao.fsfullName || \"\";\r\n GlobalStore.personaldetails.motherfullName =\r\n clientPartialDetails_ao.motherfullName || \"\";\r\n }\r\n return clientPartialDetails_ao;\r\n}\r\n\r\nexport function calculateCompletePercentage(): string {\r\n const percent =\r\n (GlobalStore.leftNavBarState.filter((stage) => stage.isComplete).length /\r\n GlobalStore.leftNavBarState.length) *\r\n 100;\r\n return percent.toFixed();\r\n}\r\n\r\n/*Convert Pan Details string name to Client Name;\r\n@para str - String, response of PanUti api, need be parse\r\n@return - Array of strings as First Name, Middle Name and Last Name\r\n*/\r\nexport function splitFullName(fullName: string): Array {\r\n const fullNameArr: Array = fullName\r\n .split(\" \")\r\n .filter((name) => name !== \"\");\r\n const fullNameArrLength: number = fullNameArr.length;\r\n let PANFirstName = \"\",\r\n PANMiddleName = \"\",\r\n PANlastName = \"\";\r\n switch (true) {\r\n case fullNameArrLength >= 3:\r\n PANFirstName = fullNameArr.slice(0, fullNameArrLength - 2).join(\" \");\r\n PANMiddleName = fullNameArr[fullNameArrLength - 2];\r\n PANlastName = fullNameArr[fullNameArrLength - 1];\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n case fullNameArrLength === 2:\r\n PANFirstName = fullNameArr[0];\r\n PANlastName = fullNameArr[1];\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n case fullNameArrLength === 1:\r\n PANFirstName = fullNameArr[0];\r\n PANlastName = \".\";\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n default:\r\n return [fullName];\r\n }\r\n}\r\n\r\nexport function capitalizeWords(str: string) {\r\n return str.replace(/(?:^|\\s)\\S/g, (a) => a.toUpperCase());\r\n}\r\n\r\nexport function parseQuery(queryString: string) {\r\n const query = queryString.substring(1);\r\n const vars = query.split(\"&\");\r\n\r\n return vars.reduce((acc: indexer, element: string) => {\r\n const pair: Array = element.split(\"=\");\r\n acc[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\r\n return acc;\r\n }, {});\r\n}\r\n\r\nexport function utmDurationInfoObj(startTime: Date, key: string) {\r\n const objUTM_Info = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const elapsed: number = new Date().getTime() - startTime.getTime();\r\n objUTM_Info[key] = elapsed / 60000; //in minutes\r\n if (window.innerWidth <= 800 && window.innerHeight <= 600)\r\n objUTM_Info.devicetype = \"Mobile\";\r\n else objUTM_Info.devicetype = \"Desktop\";\r\n return objUTM_Info;\r\n}\r\n\r\nexport function updateUtmInfo(callback: CallableFunction) {\r\n const objUTM_Info: any = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const utmObj = {\r\n applicationid: GlobalStore.applicationID,\r\n utmcontent: objUTM_Info.utm_content || \"\",\r\n utmcreative: objUTM_Info.utm_creative || \"\",\r\n };\r\n AUpdateUtmDetails(callback, utmObj);\r\n}\r\n\r\nexport function setStageData(apiResponseObj: any) {\r\n GlobalStore.stageStatus = {\r\n isregistrationcompleted: apiResponseObj.isregistrationcompleted,\r\n ispersonaldetailscompleted: apiResponseObj.ispersonaldetailscompleted,\r\n isprofiledetailscompleted: apiResponseObj.isprofiledetailscompleted,\r\n isnewdpnomineecompleted: apiResponseObj.isnewdpnomineecompleted,\r\n isnewdpguardiancompleted: apiResponseObj.isnewdpguardiancompleted,\r\n isbankdetailscompleted: apiResponseObj.isbankdetailscompleted,\r\n isbrokeragesegmentcompleted: apiResponseObj.isbrokeragesegmentcompleted,\r\n isuploaddocumentscompleted: apiResponseObj.isuploaddocumentscompleted,\r\n isipvarificationcompleted: apiResponseObj.isipvarificationcompleted,\r\n isbrokerageschemecompleted: apiResponseObj.isbrokerageschemecompleted,\r\n isagentvisitcompleted: apiResponseObj.isagentvisitcompleted,\r\n isesigncompleted: apiResponseObj.isesigncompleted,\r\n isdigilockercompleted: apiResponseObj.isdigilockercompleted,\r\n bpm_pd_status: apiResponseObj.bpm_pd_status,\r\n bpm_nsb_status: apiResponseObj.bpm_nsb_status,\r\n applicationstatus: apiResponseObj.applicationstatus,\r\n iskra: apiResponseObj.iskra,\r\n iskyc: apiResponseObj.iskyc,\r\n ckycnumber: apiResponseObj.ckycnumber,\r\n iskraesigncompleted: apiResponseObj.iskraesigncompleted,\r\n isaddressstagecompleted: apiResponseObj.isaddressstagecompleted,\r\n ispanlinkedwithaadhar: apiResponseObj.ispanlinkedwithaadhar,\r\n checkpanaaddharflag: apiResponseObj.checkpanaaddharflag,\r\n };\r\n}\r\n\r\nexport function redirectToEntryPoint() {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0)\r\n return containerUrl.registration;\r\n return containerUrl.continue;\r\n}\r\n\r\nexport function isSafariBrowser(): boolean {\r\n // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n let isSafari =\r\n /constructor/i.test((window as any).HTMLElement) ||\r\n (function (p) {\r\n return p.toString() === \"[object SafariRemoteNotification]\";\r\n })(\r\n !(window as any)[\"safari\"] || (window as any)[\"safari\"].pushNotification\r\n );\r\n return isSafari;\r\n}\r\n\r\nexport function guid() {\r\n return (\r\n s4() +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n s4() +\r\n s4()\r\n );\r\n}\r\n\r\nexport function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n}\r\n\r\nexport interface enumObj {\r\n EnumName: string;\r\n ValueItem: string;\r\n DisplayItem: string;\r\n DisplayItem2?: string;\r\n}\r\n\r\nexport function convertEnumIntoIObj(\r\n enumArr: Array,\r\n key: Array\r\n) {\r\n let resultArr: Array> = [];\r\n key.forEach((k) => {\r\n let arr: Array = [];\r\n enumArr.forEach((element) => {\r\n if (k === element.EnumName) {\r\n let obj: IListObj = { ...initialIListObj };\r\n obj.display = element.DisplayItem;\r\n obj.value = element.ValueItem;\r\n arr.push(obj);\r\n }\r\n });\r\n resultArr.push(arr);\r\n });\r\n return resultArr;\r\n}\r\n\r\nexport function ageCalculator(dob: Date): number {\r\n //extract the year, month, and date from user date input\r\n let dobYear = dob.getFullYear(),\r\n dobMonth = dob.getMonth(),\r\n dobDate = dob.getDate();\r\n\r\n //get the current date from the system\r\n let now = new Date();\r\n //extract the year, month, and date from current date\r\n let currentYear = now.getFullYear();\r\n let currentMonth = now.getMonth();\r\n let currentDate = now.getDate();\r\n\r\n //declare a variable to collect the age in year, month, and days\r\n let age: any = {};\r\n\r\n //get years\r\n let yearAge: number = currentYear - dobYear;\r\n let monthAge: number;\r\n let dateAge: number;\r\n //get months\r\n if (currentMonth >= dobMonth)\r\n //get months when current month is greater\r\n monthAge = currentMonth - dobMonth;\r\n else {\r\n yearAge--;\r\n monthAge = 12 + currentMonth - dobMonth;\r\n }\r\n\r\n //get days\r\n if (currentDate >= dobDate)\r\n //get days when the current date is greater\r\n dateAge = currentDate - dobDate;\r\n else {\r\n monthAge--;\r\n dateAge = 31 + currentDate - dobDate;\r\n if (monthAge < 0) {\r\n monthAge = 11;\r\n yearAge--;\r\n }\r\n }\r\n //group the age in a single variable\r\n age = {\r\n years: yearAge,\r\n months: monthAge,\r\n days: dateAge,\r\n };\r\n\r\n return age.years;\r\n}\r\n\r\nexport function getFirstMiddleLastName(name: Array) {\r\n const nameArr = [];\r\n nameArr[0] = name[0];\r\n if (name.length > 1) {\r\n nameArr[1] = name[name.length - 1];\r\n nameArr[2] = \"\";\r\n for (let i = 1; i <= name.length - 2; i++) {\r\n nameArr[2] = nameArr[2] + \" \" + name[i];\r\n }\r\n nameArr[2] = nameArr[2].trim();\r\n }\r\n return nameArr;\r\n}\r\n\r\nexport function completeModuleStatus(navUrl: string) {\r\n let moduleArr: Array = GlobalStore.leftNavBarState;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC ||\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n moduleArr = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n }\r\n for (let element of moduleArr) {\r\n if (element.navUrl === navUrl) {\r\n if (navUrl == \"/esign\") {\r\n if (\r\n GlobalStore.stageStatus.isesigncompleted &&\r\n GlobalStore.stageStatus.iskraesigncompleted\r\n ) {\r\n element.isComplete = true;\r\n continue;\r\n } else {\r\n element.isComplete = false;\r\n continue;\r\n }\r\n }\r\n element.isComplete = true;\r\n break;\r\n }\r\n }\r\n GlobalStore.leftNavBarState = moduleArr;\r\n}\r\n\r\n//It return next imcomplete Stage Url\r\nexport function incompleteStageNavigation(currentPage?: string) {\r\n let returnUrl: string = dashboardUrl.eSign;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n (GlobalStore.applicationID || clientPartialDetails_ao.applicationId) &&\r\n !GlobalStore.isDigiLocker\r\n ) {\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC\r\n ) {\r\n const filteredLeftNavBar = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n GlobalStore.leftNavBarState = filteredLeftNavBar;\r\n }\r\n }\r\n }\r\n for (let i = 0; i < GlobalStore.leftNavBarState.length; i++) {\r\n if (\r\n !GlobalStore.leftNavBarState[i].isComplete &&\r\n GlobalStore.leftNavBarState[i].navUrl !== currentPage\r\n ) {\r\n returnUrl = GlobalStore.leftNavBarState[i].navUrl;\r\n break;\r\n }\r\n }\r\n return returnUrl;\r\n}\r\n\r\n// Convert base64 into Blob\r\nexport const base64toBlob = (\r\n b64Data: string,\r\n contentType: string,\r\n sliceSize: number = 512\r\n) => {\r\n const byteCharacters = window.atob(b64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n const blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n};\r\n\r\nexport function stringToDate(dateStr: string, mmDDYYYY?: boolean): string {\r\n const dateObj = new Date(dateStr);\r\n const day = dateObj\r\n .getDate()\r\n .toLocaleString(\"en-US\", { minimumIntegerDigits: 2, useGrouping: false });\r\n const month = (dateObj.getMonth() + 1).toLocaleString(\"en-US\", {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false,\r\n }); //months from 1-12\r\n const year = dateObj.getUTCFullYear();\r\n if (mmDDYYYY) return month + \"/\" + day + \"/\" + year;\r\n return day + \"/\" + month + \"/\" + year;\r\n}\r\n\r\nexport function dateStringToDay(dateStr: string): string {\r\n const d = new Date(dateStr);\r\n const dayName = days[d.getDay()];\r\n return dayName;\r\n}\r\n\r\nexport const ACreateApplicationTicket = (\r\n callback: CallableFunction,\r\n stageInfoObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateApplicationTicket\",\r\n body: {\r\n ApplicationId: stageInfoObj.applicationid,\r\n ClientPrimaryDetailId: stageInfoObj.clientprimarydetailid,\r\n StageInfoId: stageInfoObj.stageinfoid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.createApplicationTicket,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/create-application-ticket\",\r\n // body: stageInfoObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetRsaPublicKey = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/get-public-key\",\r\n method: \"GET\",\r\n },\r\n callback\r\n );\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetStageCompletionStatus = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetStageCompletionStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getStageCompletionStatus,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-stage-completion-status',\r\n // body: {\r\n // \"applicationid\": applicationid\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import React from \"react\";\r\nimport EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport \"./Layout.scss\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport {\r\n parseQuery,\r\n redirectToEntryPoint,\r\n clientPartialDetailsToStore,\r\n setStageData,\r\n} from \"../../Services/globalService\";\r\nimport { containerUrl, dashboardUrl } from \"../../utils/constants\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\n\r\nexport interface RegistrationLayoutProps {\r\n isSubmissionRoute?: boolean;\r\n supportNeeded?: boolean;\r\n}\r\n\r\nconst RegistrationLayout: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [isSubmit, setIsSubmit] = React.useState(false);\r\n props.isSubmissionRoute && clientPartialDetailsToStore();\r\n\r\n React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n console.log(GlobalStore.applicationID, \"glo works\");\r\n console.log(clientPartialDetails_ao.applicationId, \"local works\");\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n\r\n // if (props.isSubmissionRoute && history.action === 'POP')\r\n // history.push(redirectToEntryPoint());\r\n // else {\r\n // const queryObject = parseQuery(location.search);\r\n // if (queryObject && queryObject.applicationid && !queryObject.type) {\r\n // setIsSubmit(true);\r\n // if (queryObject.isPOA === 'true')\r\n // history.replace(containerUrl.poa);\r\n // else if(GlobalStore.stageStatus.isesigncompleted && !GlobalStore.stageStatus.iskraesigncompleted){\r\n // history.replace(dashboardUrl.eSign);\r\n // }\r\n // else\r\n // history.replace(containerUrl.submit);\r\n // }\r\n // }\r\n }, []);\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n if (props.isSubmissionRoute && history.action === \"POP\")\r\n history.push(redirectToEntryPoint());\r\n else {\r\n const queryObject = parseQuery(location.search);\r\n if (queryObject && queryObject.applicationid && !queryObject.type) {\r\n setIsSubmit(true);\r\n if (queryObject.isPOA === \"true\") history.replace(containerUrl.poa);\r\n else if (queryObject.isEsign === \"K\") {\r\n history.replace(containerUrl.submit);\r\n } else if (queryObject.isEsign === \"A\") {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n } else if (!queryObject.isEsign) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {!isSubmit && (\r\n
\r\n \r\n {props.children}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RegistrationLayout;\r\n","import React from 'react';\r\nimport { required, isValidRegex, grtrThanEqTo, lessThanEqTo } from \"../../utils/validation\";\r\nimport { integerExp, alphaNumExp } from \"../../utils/regex\";\r\nimport './InputWithLabel.scss'\r\n\r\nexport interface InputFields {\r\n defaultValue?: string; // The defaultValue in input field (pass only if required)\r\n placeholder?: string; // placeholder\r\n prefix?: React.ReactChild; // text/element to show before the input field\r\n suffix?: React.ReactChild; // text/element to show after the input field\r\n helpText?: string; // help text\r\n helpTextColor?: \"grey\" | \"blue\"; // the color of help text, takes gray as default\r\n errorText?: string | null; // error text\r\n required?: boolean; // true if is required\r\n integer?: boolean; // true if only integer can be entered\r\n alphanum?: boolean; // true if only alphanumeric can be entered\r\n float?: RegExp; // number of digits after decimal\r\n min?: number; // minimum number\r\n max?: number; // maximum number\r\n className?: string; // extra classname if needed for module specific style\r\n type?: string | 'text' | 'email' | 'number' | 'tel'; // type of input\r\n maxLength?: number; // if there is a max length for the input\r\n pattern?: RegExp; // validate any regExp\r\n id?: string;\r\n autoComplete?: \"on\" | \"off\"; // used for switching on/off autocomplete\r\n onChange: (value: string) => string | void; // function to be called on change. Return string if value needs to be changed from outside\r\n onBlur: (error: any) => void; // function to be called on blur, all errors will be available in error object\r\n label?: string;\r\n}\r\n\r\nconst InputWithLabel: React.FC = (props) => {\r\n const [value, setValue] = React.useState(props.defaultValue || \"\");\r\n\r\n React.useEffect(() => {\r\n if (props.defaultValue !== undefined && value !== props.defaultValue) {\r\n setValue(props.defaultValue);\r\n }\r\n }, [props.defaultValue]);\r\n\r\n /**\r\n\t * @param value The string that needs to be checked for integer\r\n\t * @returns If integer need not be checked, then return true.\r\n\t * - If integer needs to be checked, then\r\n\t * - If value is valid integer, then return true; otherwise, return false\r\n\t */\r\n function isValidInteger(value: string): boolean {\r\n return !props.integer || (props.integer && !isValidRegex(value, integerExp));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for float\r\n\t * @returns If float need not be checked, then return true.\r\n\t * - If float needs to be checked, then\r\n\t * - if value is valid float, then return true; otherwise, return false\r\n\t */\r\n function isValidFloat(value: string): boolean {\r\n return !props.float || (props.float && !isValidRegex(value, props.float));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for alphanumeric characters\r\n\t * @returns If alphanum need not be checked, then return true.\r\n\t * - If alphanum needs to be checked, then\r\n\t * - if value is valid alphanum, then return true; otherwise, return false\r\n\t */\r\n function isValidAlphaNum(value: string): boolean {\r\n return !props.alphanum || (props.alphanum && !isValidRegex(value, alphaNumExp));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for maxlength\r\n\t * @returns If maxlength need not be checked, then return true.\r\n\t * - If maxlength needs to be checked, then\r\n\t * - if value has less characters than maxlength, then return true; otherwise, return false\r\n\t */\r\n function isValidMaxLength(value: string): boolean {\r\n return props.maxLength === undefined || value.length <= props.maxLength;\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is required\r\n\t * @returns If required need not be checked, then return true.\r\n\t * - If required needs to be checked, return true if value is not present; false if value is present\r\n\t */\r\n function isRequired(value: any): boolean {\r\n return !props.required || (props.required && !!required(value));\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is to be validated\r\n\t * @returns If min need not be checked, then return true.\r\n\t * - If min needs to be checked,\r\n\t * - throw error if value is string\r\n\t * - return true if value < min; false if value >= min\r\n\t */\r\n function isLessThanMin(value: string): boolean {\r\n if (props.min === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for min\");\r\n }\r\n return !!grtrThanEqTo(+value, props.min);\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is to be validated\r\n\t * @returns If max need not be checked, then return true.\r\n\t * - If max needs to be checked,\r\n\t * - throw error if value is string\r\n\t * - return true if value > max; false if value <= min\r\n\t */\r\n function isGrtrThanMax(value: string): boolean {\r\n if (props.max === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for max\");\r\n }\r\n return !!lessThanEqTo(+value, props.max);\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for the pattern\r\n\t * @returns If pattern need not be checked, then return true.\r\n\t * - If pattern needs to be checked, then\r\n\t * - if value is valid pattern, then return true; otherwise, return false\r\n\t */\r\n function isValidPattern(value: string): boolean {\r\n return !props.pattern || (props.pattern && !isValidRegex(value, props.pattern));\r\n }\r\n\r\n\t/**\r\n\t * This function runs on blur.\r\n\t * This removes the focus class on input_field_cont and removes commas.\r\n\t * This function calls the onBlur callback function with all the errors.\r\n\t */\r\n function handleBlur() {\r\n\r\n let errorObj: any = {};\r\n\r\n if (props.required) {\r\n errorObj = { ...errorObj, required: isRequired(value) }; // set isRequired error\r\n }\r\n if (props.min) {\r\n errorObj = { ...errorObj, min: isLessThanMin(value) }; // set error for min\r\n }\r\n if (props.max) {\r\n errorObj = { ...errorObj, max: isGrtrThanMax(value) }; // set error for max\r\n }\r\n if (props.pattern) {\r\n errorObj = { ...errorObj, pattern: isValidPattern(value) }; // set error for pattern\r\n }\r\n props.onBlur(errorObj);\r\n }\r\n\r\n /**\r\n\t * Checks for all the validations and then changes value accordingly\r\n\t * @param e The input event\r\n\t */\r\n function handleChange(e: React.FocusEvent) {\r\n let resolvedValue: string;\r\n\r\n if (\r\n (e.target.value || e.target.value === \"\" || e.target.value === \"0\") &&\r\n isValidInteger(e.target.value) &&\r\n isValidFloat(e.target.value) &&\r\n isValidAlphaNum(e.target.value) &&\r\n isValidMaxLength(e.target.value)\r\n ) {\r\n // if value needs to be changed then process the new value\r\n resolvedValue = e.target.value;\r\n } else {\r\n // otherwise process the previous state\r\n resolvedValue = value;\r\n }\r\n\r\n const newValue = props.onChange(resolvedValue || \"\"); // call onchange callback\r\n\r\n if (newValue !== undefined) {\r\n setValue(newValue); // set the new value\r\n } else {\r\n setValue(resolvedValue || \"\"); // set the new value\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n {props.errorText &&

{props.errorText}

}\r\n
\r\n )\r\n}\r\n\r\nexport default InputWithLabel","import React from \"react\";\r\nimport InputWithLabel from \"../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport { Verify } from \"../../UI/Button/Button\";\r\nimport {\r\n AGetCities,\r\n AValidateMobileOtp,\r\n ACreateLead,\r\n ACreateLeadSource,\r\n ASearchLeadByName,\r\n AGetMobileOtp,\r\n AWhatsappNotify,\r\n AGetEmployeeDetails,\r\n AGetEmailOtp,\r\n AValidateEmailOtp,\r\n CreateUCCRegCode,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport \"./RegistrationForm.scss\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n alphabetExp,\r\n integerExp,\r\n phoneNo,\r\n emailRegex,\r\n} from \"../../utils/regex\";\r\nimport RegOtp from \"../RegOtp/RegOtp\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n productCode,\r\n assignedTo,\r\n containerUrl,\r\n loginUrl,\r\n statusUrl,\r\n emailVerificationBody,\r\n} from \"../../utils/constants\";\r\nimport { clientContinue } from \"../../Services/globalService\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { rmCodeValues } from \"./rmCode\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { getLeadSourceId } from \"./leadSource\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport { AGetRelationshipData } from \"../../Services/dashboard/profileApiService\";\r\nexport interface ILeadFormFields {\r\n firstname: string;\r\n lastName: string;\r\n email: string;\r\n mobile: string;\r\n city: string | number;\r\n rmCode: string;\r\n rmCodeAssisted: string;\r\n}\r\n\r\nconst RegistrationForm = (props: any) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const UTM_PLACEMENT = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n\r\n const [showRmCode, setShowRmCode] = React.useState(false);\r\n const [cities, setCities] = React.useState([]);\r\n\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n });\r\n const [rmCode, setRmCode] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(true);\r\n const [showMobileMailBtn, setShowMobileMailBtn] =\r\n React.useState(true);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n\r\n // to stop auto check email and mobile verification\r\n // const [isEmailVerified, setIsEmailVerified] = React.useState(true);\r\n // const [isMobileVerified, setIsMobileVerified] =\r\n // React.useState(true);\r\n const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n const [beingAssistedCheckbox, setBeingAssistedCheckbox] =\r\n React.useState(false);\r\n const [rmCodeAssisted, setRmCodeAssisted] = React.useState(\"\");\r\n const [rmCodeAssistedName, setRmCodeAssistedName] = React.useState(\"\");\r\n const [utmCampaignCode, setUtmCampaignCode] = React.useState(null);\r\n\r\n const [isAssistedDataValid, setIsAssistedDataValid] =\r\n React.useState(false);\r\n const [showEmailOtp, setShowEmailOtp] = React.useState(false);\r\n const [disableEmailOtp, setDisableEmailOtp] = React.useState(false);\r\n const [invalidEmailOtp, setInvalidEmailOtp] = React.useState(false);\r\n const [relationShipTagError, setRelationShipTagError] =\r\n React.useState(\"\");\r\n const [searchLeadFlag, setSearchLeadFlag] = React.useState(\"\");\r\n const [isVerified, setIsVerified] = React.useState(false);\r\n const [\r\n email_mobile_verificationCheckFlag,\r\n setEmail_mobile_verificationCheckFlag,\r\n ] = React.useState(false);\r\n const [skipCreateLead, setSkipCreateLead] = React.useState(false);\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n\r\n // used to store the field wise errors\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n firstname: undefined,\r\n lastName: undefined,\r\n email: undefined,\r\n mobile: undefined,\r\n city: undefined,\r\n rmCodeAssisted: undefined,\r\n });\r\n\r\n const partner = JSON.parse(window.sessionStorage.getItem(\"partner\") || \"{}\");\r\n var CreateNewUCC :any;\r\n\r\n React.useEffect(() => {\r\n if (\r\n containerUrl.continue === clientContinue() &&\r\n !GlobalStore.isPartialFilledClient\r\n ) {\r\n props.history.push(containerUrl.continue);\r\n } else {\r\n AGetCities(getCities);\r\n }\r\n }, []);\r\n\r\n // Clervertap event: personal details screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.personalDetailsPage.PAGE_LOADED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function getCities(res: any) {\r\n if (!res || res.error) setErrCode(res.error);\r\n //setErrCode('113 - Failed to fetch the list of cities, please reload.');\r\n else {\r\n if (res.data && res.data.city) {\r\n setCities(res.data.city);\r\n setErrCode(\"\");\r\n }\r\n }\r\n }\r\n\r\n function onChange(key: keyof ILeadFormFields, value: string) {\r\n if (\r\n (key === \"firstname\" && !alphabetExp.test(value)) ||\r\n (key === \"lastName\" && !alphabetExp.test(value)) ||\r\n (key === \"mobile\" && !integerExp.test(value))\r\n ) {\r\n value = values[key];\r\n }\r\n\r\n key === \"rmCode\"\r\n ? setRmCode(value)\r\n : setValues({ ...values, [key]: value });\r\n\r\n if (key === \"mobile\") {\r\n if (\r\n GlobalStore.user.mobile !== \"\" &&\r\n GlobalStore.user.mobile === value &&\r\n isMobileVerified\r\n ) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n if (key === \"email\") {\r\n if (\r\n GlobalStore.user.email !== \"\" &&\r\n GlobalStore.user.email === value &&\r\n isEmailVerified\r\n ) {\r\n setShowMobileMailBtn(false);\r\n } else {\r\n setShowMobileMailBtn(true);\r\n }\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n return value;\r\n }\r\n\r\n function handleCityBlur(value: any) {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, city: \"\" });\r\n } else {\r\n // setErrors({ ...errors, city: 'Please select a city from dropdown' });\r\n setErrors({ ...errors, city: errorMsg(errorCode.FE02) });\r\n }\r\n }\r\n\r\n function checkRMCodeValue() {\r\n if (rmCodeAssisted !== \"\") {\r\n AGetEmployeeDetails(checkEmployeesDetails, { username: rmCodeAssisted });\r\n } else {\r\n setErrors({ ...errors, rmCodeAssisted: errorMsg(errorCode.FE06) });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n }\r\n }\r\n\r\n function checkEmployeesDetails(res: any) {\r\n if (res.error) {\r\n // setErrCode('115');\r\n // setErrCode(errorMessage.mobValidateOtp);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (Object.keys(res.data._employeedetail).length !== 0) {\r\n const rmCodeName = res.data._employeedetail;\r\n setRmCodeAssistedName(rmCodeName?.EmpName);\r\n setUtmCampaignCode(rmCodeName?.EmpCode);\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n setIsAssistedDataValid(false);\r\n } else {\r\n setErrors({\r\n ...errors,\r\n rmCodeAssisted: errorMsg(errorCode.FE06),\r\n });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n }\r\n }\r\n setErrCode(\"\");\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n function sendOtp() {\r\n setIsLoading(true);\r\n AGetMobileOtp(otpSent, values.mobile);\r\n }\r\n\r\n function otpSent(res: any) {\r\n console.log(res);\r\n if (res.data && res.data.Success) {\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n //setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n function validateOtp(otpType: \"email\" | \"mobile\", val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (invalidEmailOtp) {\r\n setInvalidEmailOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n if (otpType === \"email\") {\r\n setDisableEmailOtp(true);\r\n AValidateEmailOtp(\r\n (res: any) => checkEmailValidateOtp(res),\r\n values.email,\r\n val\r\n );\r\n } else if (otpType === \"mobile\") {\r\n setDisableOtp(true);\r\n AValidateMobileOtp(\r\n checkMobileValidateOtp,\r\n values.mobile.toString(),\r\n val\r\n );\r\n }\r\n }\r\n }\r\n function checkEmailValidateOtp(res: any) {\r\n setDisableEmailOtp(false);\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n console.log(res, \"works\");\r\n if (res.data && res.data !== \"false\") {\r\n GlobalStore.user.email = values.email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n // if (GlobalStore.user.mobile !== values.mobile) {\r\n // // setShowMobileBtn(true);\r\n // }\r\n } else setInvalidEmailOtp(true);\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtp(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n //setErrCode('115 - Failed to validate OTP, please retry.');\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data == \"true\") {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else setInvalidOtp(true);\r\n setErrCode(\"\");\r\n }\r\n }\r\n\r\n function handleSubmit(e: React.FormEvent) {\r\n if (Object.values(values).every((value) => value)) {\r\n setIsLoading(true);\r\n GlobalStore.user = {\r\n firstname: values.firstname,\r\n lastName: values.lastName,\r\n email: values.email,\r\n mobile: values.mobile,\r\n city: values.city,\r\n // rmCode: rmCode\r\n };\r\n if (whatsappMsgSuccess) {\r\n searchLeadByName();\r\n } else {\r\n const msgReq = {\r\n type: \"optin\",\r\n recipients: [\r\n {\r\n recipient: values.mobile,\r\n source: \"edel-web\",\r\n user_agent: navigator.appName,\r\n },\r\n ],\r\n };\r\n AWhatsappNotify(whatsappNotify, msgReq);\r\n }\r\n }\r\n }\r\n\r\n function whatsappNotify(res: any) {\r\n if (res && res.status) {\r\n // setErrCode('101 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n // setErrCode(\"here is the error\");\r\n\r\n // changes code\r\n // setWhatsappMsgSuccess(false);\r\n setIsLoading(false);\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n } else {\r\n setIsLoading(false);\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n // if (!res || res.error) {\r\n // setErrCode(res.error);\r\n // }\r\n }\r\n // else {\r\n // setWhatsappMsgSuccess(true);\r\n // searchLeadByName();\r\n // }\r\n }\r\n\r\n function getRelationshipData(res: any) {\r\n let availableMobileTagSum: any;\r\n let availableEmailTagSum: any;\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n // setErrCode(errorMessage.getRelationshipData);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"count log\", res.data);\r\n if (\r\n res.data.emailMatchedList.length !== 0 ||\r\n res.data.mobileMatchedList.length !== 0\r\n ) {\r\n let AvailableRelationshipTagEmail: object =\r\n res.data.AvailableRelationshipTagEmail;\r\n let AvailableRelationshipTagMobile: object =\r\n res.data.AvailableRelationshipTagMobile;\r\n //logic for sum\r\n availableEmailTagSum = Object.values(\r\n AvailableRelationshipTagEmail\r\n ).reduce((a: number, b: number) => a + b, 0);\r\n availableMobileTagSum = Object.values(\r\n AvailableRelationshipTagMobile\r\n ).reduce((a: number, b: number) => a + b, 0);\r\n //logic for sum end\r\n if (availableMobileTagSum + availableEmailTagSum === 0) {\r\n // console.log(\"here\");\r\n setRelationShipTagError(errorMsg(errorCode.BE384));\r\n }\r\n }\r\n } else {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n React.useEffect(() => {\r\n if (isEmailVerified && isMobileVerified) setIsVerified(true);\r\n }, [isEmailVerified, isMobileVerified]);\r\n\r\n function searchLeadByName() {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n\r\n ASearchLeadByName(searchedLead, viewLeadObj);\r\n console.log(\"viewLeadObj\", viewLeadObj);\r\n }\r\n\r\n React.useEffect(() => {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n values.mobile &&\r\n values.email &&\r\n ASearchLeadByName(searchedLeadCheck, viewLeadObj);\r\n }, [email_mobile_verificationCheckFlag]);\r\n\r\n function searchLeadByName_Check() {\r\n setEmail_mobile_verificationCheckFlag(true);\r\n }\r\n\r\n function searchedLeadCheck(res: any) {\r\n if (email_mobile_verificationCheckFlag) {\r\n console.log(\"lead logger 4-\", email_mobile_verificationCheckFlag);\r\n if (!res || res.error) {\r\n console.log(\"lead logger 5-\");\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else if (email_mobile_verificationCheckFlag) {\r\n console.log(\"lead logger 6-\");\r\n setErrCode(\"\");\r\n if (res.data) {\r\n console.log(\"lead logger 7\");\r\n let responseObj = JSON.parse(res.data);\r\n console.log(\"SEARCHLEAD\", responseObj);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n console.log(\"lead logger 8\");\r\n GlobalStore.user.UCC_Code=responseObj.leadList[0].UCCCode;\r\n if (responseObj.leadList[0].IsMobileVerified) {\r\n setIsMobileVerified(true);\r\n GlobalStore.user.mobile = values.mobile;\r\n } else {\r\n setIsMobileVerified(false);\r\n }\r\n\r\n if (responseObj.leadList[0].IsEmailVerified) {\r\n setIsEmailVerified(true);\r\n GlobalStore.user.email = values.email;\r\n } else {\r\n setIsEmailVerified(false);\r\n }\r\n if (\r\n responseObj.leadList[0].ApplicationId.slice(0, 2) != \"80\" &&\r\n responseObj.leadList[0].ApplicationId !== null\r\n ) {\r\n console.log(\"lead logger 3\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n // Apps flyer event for click on proceed on personal details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED\r\n );\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n props.history.push(containerUrl.pan);\r\n }\r\n }\r\n if (responseObj.leadList.length == 0) {\r\n setIsMobileVerified(false);\r\n setIsEmailVerified(false);\r\n }\r\n }\r\n if (email_mobile_verificationCheckFlag) {\r\n setEmail_mobile_verificationCheckFlag(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n if (isMobileVerified && isEmailVerified && values.email && values.mobile) {\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n \"N/A\",\r\n values.email,\r\n values.mobile.toString()\r\n );\r\n }\r\n }, [isMobileVerified, isEmailVerified]);\r\n\r\n function searchedLead(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"\");\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n console.log(\"lead logger 8\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.user.UCC_Code=responseObj.leadList[0].UCCCode;\r\n if (responseObj.leadList[0].ApplicationId.slice(0, 2) != \"80\") {\r\n console.log(\"lead logger 3\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n if (responseObj.leadList[0].IsMobileVerified) {\r\n setIsMobileVerified(true);\r\n }\r\n\r\n if (responseObj.leadList[0].IsEmailVerified) {\r\n setIsEmailVerified(true);\r\n }\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n // let sourceId = 0;\r\n // let subSourceId = 1;\r\n // if (objUtm.utm_source) {\r\n // const res = getLeadId(objUtm.utm_campaign);\r\n // sourceId = res ? res.sourceId : 0;\r\n // subSourceId = res ? res.subSourceId : 1;\r\n // }\r\n // console.log('WWWWWWWWWWWWWDDDDDLLL', sourceId, subSourceId, objUtm.utm_source);\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n // Apps flyer event for click on proceed on personal details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.personalDetailsPage.CLICK_ON_PROCEED\r\n );\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n props.history.push(containerUrl.pan);\r\n } else if (!email_mobile_verificationCheckFlag) {\r\n createLead();\r\n // else {\r\n // console.log(\"load logger 10\");\r\n // // let foundLeadObject = {\r\n // // Response: \"Success\",\r\n // // ResponseDescription: \"Lead Created Successfully\",\r\n // // LeadId: responseObj.leadList[0].LeadId,\r\n // // TaskId: \"6421813457de712a0835455b\",\r\n // // Exist: \"Y\",\r\n // // };\r\n // setSkipCreateLead(true);\r\n // }\r\n }\r\n } else {\r\n console.log(\"lead logger-- 2\", email_mobile_verificationCheckFlag);\r\n if (!email_mobile_verificationCheckFlag) createLead();\r\n else {\r\n console.log(\"lead logger 11\");\r\n setSkipCreateLead(true);\r\n }\r\n }\r\n }\r\n }\r\n console.log(\"lead logger 12\", isMobileVerified, \"||\", isEmailVerified);\r\n if (!isMobileVerified && !isEmailVerified) createLead();\r\n else {\r\n console.log(\"lead logger 13\");\r\n setSkipCreateLead(true);\r\n }\r\n\r\n //CleverTap log\r\n // var data = {\r\n // CurrentPage: '/Registration',\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'email_stage_success',\r\n // CTA: 'Confirm',\r\n // FirstName: values.firstname,\r\n // LastName: values.lastName\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n }\r\n\r\n React.useEffect(() => {\r\n if (\r\n values.mobile &&\r\n values.city &&\r\n values.email &&\r\n values.firstname &&\r\n values.lastName\r\n ) {\r\n console.log(\"lead logger 14\");\r\n createLead();\r\n }\r\n }, [skipCreateLead]);\r\n\r\n function createLead() {\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n let utm_source = objUtm.utm_source || \"\";\r\n let utm_content = objUtm.utm_content || \"\";\r\n let utm_campaign = objUtm.utm_campaign || \"\";\r\n let isReferral = false;\r\n let sourceName = \"\";\r\n let subSourceName = \"\";\r\n\r\n // Check if we user entered RM code\r\n if (beingAssistedCheckbox && rmCodeAssisted) {\r\n utm_source = \"EMPLOYEE\";\r\n utm_content = \"ELITE\";\r\n utm_campaign = utmCampaignCode ? utmCampaignCode.toString() : \"\";\r\n isReferral = true;\r\n sourceName = \"EMPLOYEE\";\r\n subSourceName = utmCampaignCode ? utmCampaignCode.toString() : \"\";\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify({\r\n ...objUtm,\r\n utm_source,\r\n utm_content,\r\n utm_campaign,\r\n })\r\n );\r\n }\r\n\r\n // let sourceId = 0;\r\n // let subSourceId = 1;\r\n\r\n // if (objUtm.utm_campaign) {\r\n // const res = getLeadSourceId(objUtm.utm_campaign);\r\n // sourceId = res ? res.sourceId : 0;\r\n // subSourceId = res ? res.subSourceId : 1;\r\n // }\r\n\r\n let createLead = {\r\n assignedTo: isReferral ? \"0\" : assignedTo,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n sourceName: objUtm.utm_source || sourceName,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign,\r\n utm_content,\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source,\r\n subSourceName: objUtm.utm_campaign || subSourceName,\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n if (!skipCreateLead)\r\n {\r\n ACreateLeadSource((res: any) => leadCreated(res, createLead), createLead);\r\n CreateNewUCC=false;\r\n }\r\n else {\r\n CreateNewUCC=true;\r\n leadCreated({ LeadId: GlobalStore.leadId }, createLead);\r\n }\r\n }\r\n\r\n function leadCreated(res: any, leadObj: any) {\r\n let respData;\r\n // console.log(res, \"leadCreated res\");\r\n if (!res?.status) {\r\n // console.log(\"RES::\", res, \"||\", JSON.parse(res?.data));\r\n respData = res.error;\r\n }\r\n\r\n setIsLoading(false);\r\n if (!res) {\r\n //setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n } else if (respData) {\r\n setErrCode(respData);\r\n } else {\r\n if ((res && res.data) || res.LeadId) {\r\n console.log(\"here 1\", skipCreateLead);\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage.CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n let responseObj;\r\n if (!skipCreateLead) {\r\n console.log(\"here 2\");\r\n responseObj = JSON.parse(res.data);\r\n }\r\n if ((responseObj && responseObj.LeadId) || res.LeadId) {\r\n console.log(\"here 3\");\r\n if (!skipCreateLead) {\r\n console.log(\"here 4\");\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.createLeadDudupeParam = leadObj;\r\n }\r\n setErrCode(\"\");\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n let reqObj = {\r\n mobile: values.mobile,\r\n email: values.email,\r\n oldMobile: \"\",\r\n oldEmail: \"\",\r\n leadId: GlobalStore.leadId,\r\n isMobileVerify: mobileVerifiedFE,\r\n isEmailVerify: mailVerifiedFE,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n };\r\n if(CreateNewUCC && (GlobalStore.user.UCC_Code==\"\" || GlobalStore.user.UCC_Code==null || GlobalStore.user.UCC_Code==undefined))\r\n {\r\n CreateUCCRegCode((req: any) => {\r\n props.history.push(containerUrl.pan);\r\n }, reqObj);\r\n }\r\n props.history.push(containerUrl.pan);\r\n } else {\r\n // setErrCode('Technical Issue - Error in generating new Lead.');\r\n setErrCode(res.error);\r\n }\r\n } else {\r\n // setErrCode('104 - Error in generating new Lead.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function userLogin() {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"LOGIN\" });\r\n window.location.href = loginUrl;\r\n }\r\n\r\n const checkStatus = () => {\r\n props.history.push(statusUrl.statusHome);\r\n };\r\n\r\n function handleRmCodeCheckBox() {\r\n const currentRmCheckBoxStatus = !beingAssistedCheckbox;\r\n setRmCodeAssisted(\"\");\r\n setRmCodeAssistedName(\"\");\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n setUtmCampaignCode(null);\r\n setBeingAssistedCheckbox(currentRmCheckBoxStatus);\r\n setIsAssistedDataValid(currentRmCheckBoxStatus);\r\n }\r\n function sendEmailOtp() {\r\n setIsLoading(true);\r\n let emlObj = {\r\n mailBody: emailVerificationBody.mailBody,\r\n mailFrom: emailVerificationBody.mailFrom,\r\n mailSource: emailVerificationBody.mailSource,\r\n mailSubject: emailVerificationBody.mailSubject,\r\n mailTo: values.email,\r\n };\r\n AGetEmailOtp((res: any) => emailOtpRes(res), emlObj);\r\n // AGetMobileOtp(emailOtpSent, '9770308828');\r\n }\r\n function emailOtpRes(res: any) {\r\n if (res.data && res.status) {\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n // console.log(\r\n // \"lead logger - disable\",\r\n // Object.values(errors).some((error) => error),\r\n // \"||\",\r\n // Object.values(values).some((value) => !value),\r\n // \"||\",\r\n // GlobalStore.user.mobile !== values.mobile,\r\n // \"||\",\r\n // GlobalStore.user.mobile === \"\",\r\n // \"||\",\r\n // GlobalStore.user.email !== values.email,\r\n // \"||\",\r\n // GlobalStore.user.email === \"\",\r\n // \"||\",\r\n // !isMobileVerified,\r\n // \"||\",\r\n // !isEmailVerified,\r\n // \"||\",\r\n // isAssistedDataValid\r\n // );\r\n\r\n // console.log(\r\n // \"lead logger - '\",\r\n // Object.values(errors).some((error) => error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n // GlobalStore.user.mobile !== values.mobile ||\r\n // GlobalStore.user.mobile === \"\" ||\r\n // GlobalStore.user.email !== values.email ||\r\n // GlobalStore.user.email === \"\" ||\r\n // isAssistedDataValid ||\r\n // isVerified\r\n // );\r\n\r\n console.log(\"skipLead\", isMobileVerified, \"||\", isEmailVerified);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* Name Start*/}\r\n
\r\n {/*First Name*/}\r\n
\r\n \r\n onChange(\"firstname\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstname: error.required ? errorMsg(errorCode.FE01) : \"\",\r\n })\r\n }\r\n placeholder=\"Eg. Prateek\"\r\n errorText={errors.firstname}\r\n type=\"text\"\r\n />\r\n
\r\n {/*Last Name*/}\r\n
\r\n \r\n onChange(\"lastName\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // lastName: error.required ? 'This field is required ' : '',\r\n lastName: error.required ? errorMsg(errorCode.FE01) : \"\",\r\n })\r\n }\r\n placeholder=\"Eg. Jain\"\r\n errorText={errors.lastName}\r\n type=\"text\"\r\n />\r\n
\r\n
\r\n {/* Name End*/}\r\n {/* City Start*/}\r\n
\r\n \r\n \r\n onChange(\"city\", value[\"CityCode\"] as string)\r\n }\r\n // onChange={value => onChange(\"city\", value)}\r\n searchLength={3}\r\n options={cities}\r\n onBlur={handleCityBlur}\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n errorText={errors.city}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n />\r\n
\r\n {/* City End*/}\r\n {/* Email Start*/}\r\n
\r\n
\r\n \r\n onChange(\"email\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE03),\r\n })\r\n }\r\n placeholder=\"Eg. example@email.com\"\r\n errorText={errors.email}\r\n type=\"email\"\r\n suffix={\r\n GlobalStore.user.email === values.email &&\r\n values.email !== \"\" &&\r\n isEmailVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n hiddenText=\"I am aware that my contact details will be used for all future communications by Nuvama, including communications through WhatsApp.\"\r\n />\r\n
\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n error) ||\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.city,\r\n values.email,\r\n // values.mobile,\r\n ]).some((value) => !value)\r\n }\r\n onClick={() => {\r\n gtmService({\r\n action: \"LEAD_PAGE\",\r\n label: \"MOB_VERIFY\",\r\n });\r\n\r\n sendEmailOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showEmailOtp && !showMobileMailBtn ? (\r\n
\r\n validateOtp(\"email\", val)}\r\n resendClicked={sendEmailOtp}\r\n disableOtp={disableEmailOtp}\r\n invalidOtp={invalidEmailOtp}\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {/* */}\r\n {/* Email End*/}\r\n {/* Mobile Phone Start*/}\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"mobile\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // mobile: error.pattern ? '' : 'Please enter valid phone number',\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE04),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === values.mobile &&\r\n values.mobile !== \"\" &&\r\n isMobileVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n />\r\n
\r\n {showMobileBtn && !isMobileVerified && (\r\n
\r\n error) ||\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.city,\r\n // values.email,\r\n values.mobile,\r\n ]).some((value) => !value)\r\n }\r\n onClick={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"MOB_VERIFY\" });\r\n\r\n sendOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n validateOtp(\"mobile\", val)}\r\n resendClicked={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"OTP_RESEND\" });\r\n sendOtp();\r\n }}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n \r\n {/* Mobile Phone End*/}\r\n {isMobileVerified && showRmCode && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChange(\"rmCode\", value)}\r\n label=\"Enter Code (Optional)\"\r\n placeholder=\"Eg. ABC1234\"\r\n type=\"text\"\r\n onBlur={() => {}}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {relationShipTagError && (\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {/* Error Msg End*/}\r\n {isMobileVerified && (\r\n <>\r\n {!partner && (\r\n
\r\n handleRmCodeCheckBox()}\r\n >\r\n \r\n Enter the RM code/partner code for your personal dedicated\r\n service manager\r\n \r\n \r\n
\r\n )}\r\n {beingAssistedCheckbox && (\r\n <>\r\n
\r\n

\r\n Enter the RM code for your personal dedicated service{\" \"}\r\n
\r\n manager\r\n

\r\n
\r\n
\r\n \r\n setRmCodeAssisted(value)}\r\n onBlur={() => checkRMCodeValue()}\r\n placeholder=\"Eg. ABC123\"\r\n errorText={errors.rmCodeAssisted}\r\n type=\"text\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n

\r\n By signing up you agree to receive communication on WhatsApp\r\n

\r\n
\r\n {!(\r\n Object.values(errors).some((error) => error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n isAssistedDataValid\r\n ) && isVerified ? (\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n !isMobileVerified ||\r\n !isEmailVerified ||\r\n isAssistedDataValid\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n {/* to stop auto check email and mobile verification\r\n */}\r\n\r\n {/* {Object.values(errors).some((error) => error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n isAssistedDataValid ? (\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n isAssistedDataValid ||\r\n !values.firstname ||\r\n !values.lastName ||\r\n !values.city ||\r\n !values.email ||\r\n !values.mobile\r\n }\r\n isLoading={isLoading}\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )} */}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RegistrationForm;\r\n","import React, { Component } from \"react\";\r\nimport RegistrationForm from \"../RegistrationForm/RegistrationForm\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\";\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport \"./RegistrationHome.scss\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\n\r\nclass Registration extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.init();\r\n }\r\n\r\n init = () => {\r\n let queryObject = parseQuery(this.props.location.search);\r\n if (\r\n queryObject &&\r\n queryObject.utm_source &&\r\n queryObject.utm_source.toUpperCase() === \"LEADFORDSA\"\r\n )\r\n GlobalStore.leadForDsa = true;\r\n\r\n this.setUTMParams(queryObject);\r\n\r\n if (\r\n typeof queryObject.refno !== \"undefined\" &&\r\n queryObject.refno &&\r\n queryObject.refno !== \"\"\r\n )\r\n if (\r\n typeof queryObject.applicationid !== \"undefined\" &&\r\n queryObject.applicationid &&\r\n queryObject.applicationid !== \"\"\r\n ) {\r\n // this.getClientDetails(queryObject.refno.replace(\" \", '+'));\r\n // if (typeof (queryObject.type) !== \"undefined\" && queryObject.type && queryObject.type === \"resume\")\r\n // this.getRedisDocumentDetails(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // else\r\n // this.getClientDetAfterEsign(queryObject.applicationid.replace(/ /g, \"+\"));\r\n }\r\n // this.checkforSiteMaintainence(queryObject);\r\n this.onlyDematParam(queryObject);\r\n // GlobalStore.sessionId = guid()\r\n };\r\n\r\n setUTMParams = (queryObject: any) => {\r\n if (Object.keys(queryObject).length > 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n const partner = this.props.match?.path === \"/partner\" ? true : false;\r\n window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n window.sessionStorage.setItem(\"partner\", JSON.stringify(partner));\r\n } else {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (!utmObj && Object.keys(utmObj).length === 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify(objUTM_Info)\r\n );\r\n }\r\n }\r\n };\r\n\r\n // getClientDetails = (refNo: string) => {\r\n // var clientObj = {\r\n // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // applicationId: refNo\r\n // };\r\n // window.sessionStorage.setItem('clientDetails', JSON.stringify(clientObj));\r\n // $http({\r\n // method: \"POST\",\r\n // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // headers: { \"Content-type\": \"application/json\" },\r\n // data: clientObj,\r\n // }).then(function (res) {\r\n // $scope.ClientDetails = JSON.parse(res.data);\r\n // $scope.kraLoader = false;\r\n // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // $('#panvarify').modal('hide');\r\n // if ($scope.ClientDetails.personal.length == 0) {\r\n // $state.go('personal-details');\r\n // $window.sessionStorage.setItem(\"isEnabled\", false);\r\n // } else if ($scope.ClientDetails.bank.length == 0) {\r\n // $state.go('bank-details');\r\n // } else if ($scope.ClientDetails.profile.length == 0 && $scope.ClientDetails.nominee.length == 0) {\r\n // $rootScope.personaldetails = {};\r\n // $rootScope.profileDetails = {};\r\n // $state.go('profile-details');\r\n // } else if ($scope.ClientDetails.brokeragesegment.length == 0) {\r\n // $state.go('brokerage-segment');\r\n // }\r\n // //else if ($scope.ClientDetails.documents.length == 0) {\r\n // else if ($scope.ClientDetails.documents.length > 1) { // '1' is given here, because user will have already uploaded aadhar from digilocker.\r\n // if ($scope.ClientDetails.registration[0].bpm_pd_status != 2) {\r\n // $rootScope.uploadedDocList = $scope.ClientDetails.documents;\r\n // if ($scope.ClientDetails.personal[0].corrsaddraspermanent)\r\n // $rootScope.isPermAddressProof = false;\r\n // else\r\n // $rootScope.isPermAddressProof = true;\r\n\r\n // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // if ($scope.ClientDetails.documents[i].documentid == 365 && $scope.ClientDetails.documents[i].documentcategoryid == 62) { // it means video ipv is done and uploaeded on ftp server\r\n // $rootScope.videoIpvStatus = true;\r\n // $state.go('documentVerification');\r\n // break;\r\n // }\r\n // $rootScope.videoIpvStatus = false;\r\n // $state.go('documents-upload');\r\n // }\r\n // } else\r\n // $state.go('documentVerification');\r\n // } else {\r\n // $state.go('documents-upload');\r\n // }\r\n // },\r\n // function (res) {\r\n // console.log(res);\r\n // errorMsg(\"errorcode: 106\");\r\n // });\r\n // }\r\n\r\n // getRedisDocumentDetails = (appId: any) => {\r\n\r\n // // let digiobj = {\r\n // // applicationId: appId\r\n // // };\r\n\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/RedisDigilockerDoc\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: digiobj\r\n // // }).then(function (res) {\r\n // // if (res.data != 'No Data') {\r\n // // getProfileDetailsFromAadhar(res.data);\r\n // // $scope.digiStepsCompleted = true;\r\n // // } else {\r\n // // $scope.digiStepsCompleted = false;\r\n // // }\r\n // // getclientprimarydetailsId(appId);\r\n // // }, function (res) {\r\n // // errorMsg(\"errorcode: 108\");\r\n // // });\r\n // }\r\n\r\n // getClientDetAfterEsign = (appId: any) => {\r\n // // $scope.loader = true;\r\n // // let clientObj = {\r\n // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // applicationId: appId\r\n // // };\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: clientObj,\r\n // // }).then(function (res) {\r\n // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // $scope.kraLoader = false;\r\n // // $('#panvarify').modal('hide');\r\n // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // $rootScope.personaldetails = {};\r\n // // $rootScope.personaldetails = angular.copy($scope.ClientDetails.personal[0]);\r\n // // $rootScope.personaldetails.pan = $scope.ClientDetails.profile[0].pan;\r\n\r\n // // $rootScope.personaldetails.firstname = $scope.ClientDetails.personal[0].holder_first_name;\r\n // // $rootScope.personaldetails.lastname = $scope.ClientDetails.personal[0].holder_last_name;\r\n // // $rootScope.personaldetails.middlename = $scope.ClientDetails.personal[0].holder_middle_name;\r\n\r\n // // $rootScope.SaveKYCResponse = {};\r\n // // $rootScope.SaveKYCResponse.ApplicationID = appId;\r\n\r\n // // if ($scope.ClientDetails.registration.length > 0) { $rootScope.personaldetails.mobile = $scope.ClientDetails.registration[0].mobileno; } // fetching mobile number when user clicks on continue.\r\n\r\n // // if ($scope.ClientDetails.personal.length > 0) {\r\n // // $rootScope.personaldetails.adrLine1 = $scope.ClientDetails.personal[0].correspondence_address_1 + $scope.ClientDetails.personal[0].correspondence_address_2 + $scope.ClientDetails.personal[0].correspondence_address_3;\r\n // // $rootScope.personaldetails.city = $scope.ClientDetails.personal[0].correspondance_city;\r\n // // $rootScope.personaldetails.state = $scope.ClientDetails.personal[0].correspondance_state;\r\n // // $rootScope.personaldetails.pincode = $scope.ClientDetails.personal[0].correspondance_pincode;\r\n // // }\r\n\r\n // // if ($scope.ClientDetails.esignurl.length > 0) {\r\n // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // if ($scope.ClientDetails.documents[i].documentid == 21 && $scope.ClientDetails.documents[i].documentcategoryid == 9) { // it means cheque leaf is submitted\r\n // // $rootScope.isChequeLeafSubmitted = true;\r\n // // }\r\n // // }\r\n // // if ($scope.ClientDetails.esignurl[0].esginstatus == \"PENDING\") {\r\n // // $state.go(\"documentVerification\");\r\n // // } else {\r\n // // $state.go(\"poascheduler\");\r\n // // }\r\n // // } else {\r\n // // $state.go(\"documentVerification\");\r\n // // }\r\n // // }, function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 106\");\r\n // // });\r\n // }\r\n\r\n // checkforSiteMaintainence = (queryObject: any) => {\r\n // $http({\r\n // method: \"GET\",\r\n // url: config.baseUrl + \"/api/REST/Diymaintainance\",\r\n // headers: { \"Content-type\": \"application/json\" }\r\n // }).then(function (res) {\r\n // var date = new Date();\r\n // if (typeof (res.data.data) != \"undefined\" && res.data.data.Status && res.data.data.DIY_Maintainance_From <= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss') &&\r\n // res.data.data.DIY_Maintainance_To >= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss')) {\r\n // $scope.maintainenceMsg = res.data.data.DIY_Maintainance_Msg;\r\n // $scope.isMaintainence = true;\r\n // } else {\r\n // $scope.isMaintainence = false;\r\n // if (typeof (queryObject.leadid) != \"undefined\" && typeof (queryObject.firstname) != \"undefined\" &&\r\n // typeof (queryObject.lastname) != \"undefined\" && typeof (queryObject.city) != \"undefined\" && typeof (queryObject.mobile) != \"undefined\" &&\r\n // typeof (queryObject.email) != \"undefined\") {\r\n\r\n // $rootScope.LeadID = queryObject.leadid;\r\n // $rootScope.details = {\r\n // firstname: queryObject.firstname,\r\n // lastname: queryObject.lastname,\r\n // city: queryObject.city,\r\n // mobile: queryObject.mobile,\r\n // emailId: queryObject.email,\r\n // };\r\n // $state.go('aadhaar');\r\n // return false;\r\n // }\r\n // if (!$rootScope.isPartialFilledClient && typeof ($location.search().refno) == \"undefined\" && typeof (queryObject.applicationid) == \"undefined\")\r\n // resumeAccountCreation();\r\n // }\r\n // }, function (res) {\r\n // console.log(res);\r\n // errorMsg(\"errorcode: 105\");\r\n // });\r\n // }\r\n\r\n onlyDematParam = (queryObject: any) => {\r\n let objAccType;\r\n if (Object.keys(queryObject).length !== 0)\r\n objAccType = queryObject.accType === \"DMT\" ? \"DMT\" : \"EQTY\";\r\n else objAccType = \"EQTY\";\r\n window.sessionStorage.setItem(\"objAccType\", objAccType);\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"banner\"\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Registration;\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\nimport { isGetAccessor } from \"typescript\";\r\n\r\nexport const APendingUploadList = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-pending-document-list\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const APendingApprovalList = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 3,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-doc-status\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateServicableCityPincode = (\r\n callback: CallableFunction,\r\n pincode: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/validate-servicable-city-pincode\",\r\n body: {\r\n Pincode: pincode,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AAgentDatesList = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/date-for-agent-visit\",\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AAgentTimesList = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/time-for-agent-visit\",\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveAgentVisitDetails = (\r\n callback: CallableFunction,\r\n agentVisitObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/save-agent-visit-details\",\r\n body: agentVisitObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetAgentVisitDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/get-agent-visit-details\",\r\n body: {\r\n applicationid: applicationid,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACreateHelpTicket = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/create-help-ticket\",\r\n body: reqObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetEsignLink\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: esigndocumenttype,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEsignLink,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-esign-link\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientAccountCode = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAccountcodeData\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAccountcodeData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-account-code\",\r\n // body: {\r\n // applicationId: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidatePoaServicableCityPincode = (\r\n callback: CallableFunction,\r\n pincode: string\r\n) => {\r\n apiService(\r\n {\r\n url: `eco/checkPincodeJavaMW?pincode=${pincode}`,\r\n method: \"GET\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASavePoaDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/SavePoaScheduleJavaMW\",\r\n body: reqObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ADownloadForm = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n isFullPdf: boolean\r\n) => {\r\n let body: any = {\r\n ApplicationId: applicationid,\r\n };\r\n if (isFullPdf) {\r\n body.EsignFlag = 1;\r\n }\r\n apiService(\r\n {\r\n url: \"DIYAPI/GenerateKYCPdf\",\r\n body: body,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.generateKYCPdf,\r\n },\r\n callback\r\n );\r\n // let url = isFullPdf ? \"saveKycFullFormJavaMW\" : \"DownLoadAndCourierJavaMW\";\r\n // apiService(\r\n // {\r\n // url: `eco/${url}?applicationId=${applicationid}`,\r\n // method: \"GET\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUpdatePanAddharLinkStatus = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n ispanaadhaarlinked: boolean\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UpdatePanAddharLinkStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n ispanaadhaarlinked: ispanaadhaarlinked,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.updatePanAddharLinkStatus,\r\n },\r\n callback\r\n );\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const ACheckClientProfilingData = (\r\n callback: CallableFunction,\r\n appID: string,\r\n sourceId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientProfilingQuestion\",\r\n body: {\r\n ClientId: appID,\r\n SourceId: sourceId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientProfilingDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-client-profiling-data\",\r\n // body: {\r\n // clientId: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientProfilingQuestion = (\r\n callback: CallableFunction,\r\n appId: string,\r\n sourceId: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-profiling-question\",\r\n // method: \"GET\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientProfilingQuestion\",\r\n body: {\r\n ClientId: appId,\r\n SourceId: sourceId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientProfilingQuestion,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveClientProfilingQuestion = (\r\n callback: CallableFunction,\r\n appId: string,\r\n sourceId: string,\r\n saveQuestion: Array\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveClientProfilingQuestion\",\r\n body: {\r\n ClientId: appId,\r\n SourceId: sourceId,\r\n ListQuestionDetails: saveQuestion,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveClientProfilingQuestion,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/save-client-profiling-question\",\r\n // body: saveQuestion,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import React from 'react'\r\nimport './NavBarTile.scss'\r\nimport Loader from '../../../UI/Loader/Loader'\r\n\r\nexport interface NavBarTileProps {\r\n name: string;\r\n time: any;\r\n isActive: boolean;\r\n isComplete: boolean;\r\n navUrl: string;\r\n logo: string;\r\n logoNew?:string;\r\n isClickable?: boolean,\r\n isLoading?: boolean\r\n onNavTileClick: () => void\r\n}\r\n\r\nconst NavBarTile: React.FC = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n {/* */}\r\n {''}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n props.isLoading ?\r\n \r\n :\r\n props.isComplete ?\r\n <>\r\n \r\n \r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default NavBarTile;","export function compareValues(key: string, order: string = \"asc\") {\r\n\treturn function innerSort(a: any, b: any) {\r\n\t\tif (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n\t\t\t// property doesn't exist on either object\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tconst varA = isNaN(parseFloat(a[key])) ? a[key].toUpperCase() : parseFloat(a[key]);\r\n\t\tconst varB = isNaN(parseFloat(a[key])) ? b[key].toUpperCase() : parseFloat(b[key]);\r\n\r\n\t\tlet comparison = 0;\r\n\t\tif (varA > varB) {\r\n\t\t\tcomparison = 1;\r\n\t\t} else if (varA < varB) {\r\n\t\t\tcomparison = -1;\r\n\t\t}\r\n\t\treturn order === \"desc\" ? comparison * -1 : comparison;\r\n\t};\r\n}\r\n","import React from \"react\";\r\nimport NavBarTile from \"./NavBarTile/NavBarTile\";\r\nimport \"./ProfileNavBar.scss\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport { compareValues } from \"../../utils/sortingUtils\";\r\nimport {\r\n dashboardUrl,\r\n ILeftNavBarArray,\r\n ipvNavBarObj,\r\n leftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport { completeModuleStatus } from \"../../Services/globalService\";\r\n\r\nexport interface ProfileNavBarProps {\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function checkModuleCompleteness(isUploadDocumentsCompleted: boolean) {\r\n if (GlobalStore.stageStatus.isaddressstagecompleted) {\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n }\r\n if (\r\n GlobalStore.stageStatus.isprofiledetailscompleted &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted\r\n )\r\n completeModuleStatus(dashboardUrl.profile);\r\n if (isUploadDocumentsCompleted) completeModuleStatus(dashboardUrl.doc);\r\n if (GlobalStore.stageStatus.isbankdetailscompleted)\r\n completeModuleStatus(dashboardUrl.bank);\r\n if (\r\n GlobalStore.stageStatus.isbrokeragesegmentcompleted &&\r\n GlobalStore.stageStatus.isbrokerageschemecompleted\r\n )\r\n completeModuleStatus(dashboardUrl.plan);\r\n if (GlobalStore.stageStatus.isipvarificationcompleted) {\r\n if (GlobalStore.leftNavBarState.length === leftNavBarArray.length)\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n completeModuleStatus(dashboardUrl.ipv);\r\n }\r\n if (GlobalStore.stageStatus.isesigncompleted)\r\n completeModuleStatus(dashboardUrl.eSign);\r\n}\r\n\r\nconst ProfileNavBar: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [urlPath, setUrlPath] = React.useState();\r\n const [leftNavBarState, setLeftNavBarState] = React.useState<\r\n ILeftNavBarArray[]\r\n >(GlobalStore.leftNavBarState);\r\n\r\n React.useEffect(() => {\r\n setLeftNavBarState(GlobalStore.leftNavBarState)\r\n if (DeviceContext().isDesktop) {\r\n setUrlPath(location.pathname);\r\n GlobalStore.dashboardActivetUrl = location.pathname;\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (GlobalStore.applicationID || clientPartialDetails_ao.applicationId) {\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC ||\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n const filteredLeftNavBar = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n setLeftNavBarState(filteredLeftNavBar);\r\n GlobalStore.leftNavBarState=filteredLeftNavBar\r\n }\r\n }\r\n }\r\n }, [location.pathname]);\r\n\r\n function onNavTileClick(navUrl: string, index: any) {\r\n const sidebarOptions = leftNavBarState.sort(compareValues(\"priority\"));\r\n if (\r\n index !== 0 &&\r\n sidebarOptions[index - 1] &&\r\n !sidebarOptions[index - 1][\"isComplete\"]\r\n ) {\r\n return false;\r\n }\r\n GlobalStore.dashboardActivetUrl = navUrl;\r\n setUrlPath(navUrl);\r\n history.push(navUrl);\r\n }\r\n console.log(GlobalStore.leftNavBarState, \"GlobalStore.leftNavBarState works\");\r\n console.log(leftNavBarState, \"state works\");\r\n\r\n return (\r\n
\r\n {leftNavBarState.sort(compareValues(\"priority\")).map((tile, index) => (\r\n onNavTileClick(tile.navUrl, index)}\r\n />\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default ProfileNavBar;\r\n","import * as React from \"react\";\r\nimport \"./ESignForm.scss\";\r\nimport DocStatus from \"../DocStatus/DocStatus\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport ScheduleAgentVisit from \"../ScheduleAgentVisit/ScheduleAgentVisit\";\r\nimport {\r\n APendingUploadList,\r\n APendingApprovalList,\r\n AGetEsignUrlDetails,\r\n} from \"../../Services/dashboard/eSignApiServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AGetUploadedDocument } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport blueTick from \"../../../assets/icons/blueTick.svg\";\r\nimport EsignInfoMsg from \"../EsignInfoMsg/EsignInfoMsg\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AGetPanUtiData } from \"../../Services/registration/panDobApiService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nexport interface ESignFormProps {}\r\nlet intervalTimer: any;\r\nconst ESignForm: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [errCode, setErrCode] = React.useState();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showResult, setShowResult] = React.useState(false);\r\n const [isPendingUpload, setIsPendingUpload] = React.useState(true);\r\n const [isPendingApproval, setIsPendingApproval] =\r\n React.useState(true);\r\n const [pendingUploadList, setPendingUploadList] = React.useState>(\r\n []\r\n );\r\n const [pendingApprovalList, setPendingApprovalList] = React.useState<\r\n Array\r\n >([]);\r\n const [showLink, setShowLink] = React.useState(true);\r\n const [esignCompleted, setEsignCompleted] = React.useState(false);\r\n const [seedingPopup, setSeedingPopup] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (GlobalStore.stageStatus.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setIsPendingApproval(false);\r\n setShowResult(true);\r\n setIsLoading(false);\r\n } else {\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }\r\n\r\n return () => {\r\n clearInterval(intervalTimer);\r\n };\r\n }, []);\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"\");\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR115\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n // let list: Array = JSON.parse(JSON.parse(res.data)).filter((item: any) => item.documentcategoryid !== 36 && item.documentcategoryid !== 30 && item.documentcategoryid !== 62);\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.mandatory\r\n\r\n // Cureent Response\r\n item.Mandatory\r\n );\r\n if (list.length === 0) {\r\n setIsLoading(true);\r\n setIsPendingUpload(false);\r\n if (GlobalStore.stageStatus.bpm_pd_status === 0)\r\n AGetUploadedDocument(getUploadedDocList, GlobalStore.applicationID);\r\n if (GlobalStore.stageStatus.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setShowResult(true);\r\n setIsPendingApproval(false);\r\n setIsLoading(false);\r\n }\r\n if (\r\n GlobalStore.stageStatus.bpm_pd_status === 2 ||\r\n GlobalStore.stageStatus.bpm_pd_status === 3\r\n )\r\n APendingApprovalList(\r\n checkPendingApproval,\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n // const arr: Array<{\r\n // contenttype: string;\r\n // status: string;\r\n // documenttype: string;\r\n // }> = [];\r\n // for (let i = 0; i < list.length; i++) {\r\n // let obj: {\r\n // contenttype: string;\r\n // status: string;\r\n // documenttype: string;\r\n // } = {\r\n // contenttype: list[i].DocumentCategory,\r\n // status: \"Pending Approval\",\r\n // documenttype: list[i].DocumentName,\r\n // };\r\n // arr.push(obj);\r\n // }\r\n // setPendingApprovalList(arr);\r\n setPendingUploadList(list);\r\n setIsLoading(false);\r\n setShowResult(true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function checkPendingApproval(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n setErrCode(\"\");\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR116\" });\r\n } else {\r\n if (res && res.data) {\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) => item.DocumentType\r\n );\r\n let showList: boolean = false;\r\n for (let i = 0; i < list.length; i++) {\r\n if (list[i].Status !== \"Approved\") {\r\n showList = true;\r\n break;\r\n }\r\n }\r\n if (showList) setPendingApprovalList(list);\r\n else setIsPendingApproval(false);\r\n setShowResult(true);\r\n }\r\n }\r\n }\r\n\r\n function checkPdStatus() {\r\n const timer = setInterval(() => {\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }, 10000);\r\n intervalTimer = timer;\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR119\",\r\n });\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n setStageData(responseObj);\r\n if (responseObj.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setShowResult(true);\r\n setIsPendingApproval(false);\r\n setIsLoading(false);\r\n clearInterval(intervalTimer);\r\n }\r\n if (\r\n responseObj.bpm_pd_status === 2 ||\r\n GlobalStore.stageStatus.bpm_pd_status === 3\r\n ) {\r\n APendingApprovalList(checkPendingApproval, GlobalStore.applicationID);\r\n clearInterval(intervalTimer);\r\n }\r\n if (responseObj.isesigncompleted === true) {\r\n setEsignCompleted(true);\r\n }\r\n }\r\n }\r\n\r\n function getUploadedDocList(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"\");\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR118\" });\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj) {\r\n const list: Array = responseObj.filter(\r\n (item: any) => item.DocumentName\r\n );\r\n const arr: Array<{\r\n contenttype: string;\r\n status: string;\r\n documenttype: string;\r\n }> = [];\r\n for (let i = 0; i < list.length; i++) {\r\n let obj: {\r\n contenttype: string;\r\n status: string;\r\n documenttype: string;\r\n } = {\r\n contenttype: list[i].DocumentCategory,\r\n status: list[i].WsdlFlag,\r\n documenttype: list[i].DocumentName,\r\n };\r\n arr.push(obj);\r\n }\r\n setPendingApprovalList(arr);\r\n setShowResult(true);\r\n // checkPdStatus();\r\n } else {\r\n setErrCode(\"\");\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function esignSubmit() {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetEsignUrlDetails(getEsignUrl, GlobalStore.applicationID, 1);\r\n }\r\n\r\n function getEsignUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetEsignLink\", label: \"ERROR || ERR117\" });\r\n setIsLoading(false);\r\n } else {\r\n if (\r\n (res.data.Code == 200 || res.data.Code == 201) &&\r\n res.data.Data.EsignLink !== null\r\n ) {\r\n const encryptedUrl = res.data.Data.EsignLink;\r\n gtmService({ action: \"E_SIGN | E_SIGN\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event while user choose for e-sign\r\n esignCleverTapEvent(true);\r\n // Clevertap ends\r\n\r\n window.location.href = encryptedUrl;\r\n } else if (\r\n res.data.Data.FormValidationSummary[0].FormValidations &&\r\n res.data.Data.FormValidationSummary[0].FormValidations ===\r\n \"Aadhaar seeding is unsuccessful.\"\r\n ) {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n } else {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n res.data.Data.FormValidationSummary.forEach(\r\n (element: any, i: number) => {\r\n if (i === 0) allErrorsString = element.FormValidations;\r\n else allErrorsString += `, ${element.FormValidations}`;\r\n }\r\n );\r\n }\r\n console.log(\"Error from Esign api\", allErrorsString);\r\n setErrCode(res.data.Data.FormValidationSummary[0].FormValidations);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n // Clevertap event\r\n const esignCleverTapEvent = (isEsign: boolean) => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.eSignPage.CLICK_ON_ESIGN,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n IS_ESIGN: isEsign,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.eSignPage.CLICK_ON_ESIGN\r\n );\r\n };\r\n // Clevertap ends\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n };\r\n\r\n // const getSeedingData = (res: any) => {\r\n // if (!res || res.error) {\r\n // // setErrCode(\"170 - Error in fetching Pan details from PAN UTI system.\");\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data) {\r\n // setIsLoading(false);\r\n // let responseObj = res.data.panDetails;\r\n // // if (!responseObj?.IsValid) {\r\n // // GlobalStore.isSeeding = false;\r\n // // setSeedingPopup(true);\r\n // // } else if (responseObj?.IsValid) {\r\n // // GlobalStore.isSeeding = true;\r\n // // setSeedingPopup(false);\r\n // // }\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // setSeedingPopup(true);\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // setSeedingPopup(false);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getSeedingData = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR120\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n } else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n }\r\n }\r\n }\r\n };\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n return (\r\n <>\r\n {isPendingApproval &&\r\n pendingApprovalList.length > 0 &&\r\n pendingApprovalList.some((data: any) => data.status === \"PENDING\") && (\r\n
\r\n
Verification in progress
\r\n
{`It will take upto 30 mins on working days (between 9 AM to 6 PM). You can wait or we will update you when verified, by Email/Whatsapp.`}
\r\n
\r\n )}\r\n
\r\n \r\n \r\n
\r\n {/* {DeviceContext().isMobile && } */}\r\n \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {!isPendingUpload && showResult && (\r\n <>\r\n {/* */}\r\n {!isPendingApproval && (\r\n
\r\n \"ok\"\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n )}\r\n {/* {!isPendingUpload && showResult && !isPendingApproval && (\r\n <>\r\n {GlobalStore.isDigiLocker ? (\r\n <>\r\n {showLink ? (\r\n {\r\n esignCleverTapEvent(false);\r\n setShowLink(false);\r\n }}\r\n />\r\n ) : (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {\r\n gtmService({\r\n action: 'E-SIGN | DOWNLOAD_&_COURIER',\r\n label: 'Step_Complete',\r\n });\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n setErrCode,\r\n true\r\n );\r\n }}\r\n isLoading={false}\r\n disabled={isPendingApproval}\r\n prefix={}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n {showLink ? (\r\n {\r\n esignCleverTapEvent(false);\r\n setShowLink(false);\r\n }}\r\n />\r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n \r\n )} */}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ESignForm;\r\n","import React from \"react\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport \"./WelcomeBack.scss\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl, statusUrl } from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n completeModuleStatus,\r\n updateUtmInfo,\r\n setStageData,\r\n} from \"../../Services/globalService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { ACheckClientProfilingData } from \"../../Services/dashboard/profilerApiServices\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { AGetClientDetailsByLeadId } from \"../../Services/registration/panDobApiService\";\r\nimport config from \"../../../config/domain\";\r\n\r\nexport interface WelcomeBackProps {}\r\n\r\nconst WelcomeBack: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n const [isUploadDocumentsCompleted, setIsUploadDocumentsCompleted] =\r\n React.useState(false);\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0) {\r\n history.push(containerUrl.registration);\r\n } else if (GlobalStore.isNormalClient && !GlobalStore.isPANVerified) {\r\n history.push(containerUrl.registration);\r\n } else {\r\n setIsLoading(true);\r\n if (\r\n GlobalStore.clientPrimaryDetailId === \"\" ||\r\n GlobalStore.clientPrimaryDetailId === \"0\" ||\r\n GlobalStore.clientPrimaryDetailId === null\r\n ) {\r\n console.log(\"Wrong clientPrimaryDetailId\");\r\n }\r\n AGetClientDetailsByLeadId(searchByLeadId, GlobalStore.leadId);\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n const clientFullName =\r\n GlobalStore.personaldetails.PANName.toLowerCase() ||\r\n window.localStorage.getItem(\"clientName\");\r\n setClientName(\r\n clientFullName.replace(/(^\\w|\\s\\w)/g, (m: string) => m.toUpperCase()) ||\r\n \"\"\r\n );\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }\r\n }, []);\r\n\r\n function searchByLeadId(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"119 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data != null) {\r\n if (\r\n GlobalStore.personaldetails.pan.toUpperCase().trim() ===\r\n res.data.PAN.toUpperCase().trim()\r\n ) {\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function populateSavedData() {\r\n const panDetails = GlobalStore.personaldetails.panDetails;\r\n console.log(\"panDetails\", GlobalStore.personaldetails);\r\n if (typeof panDetails !== \"undefined\" && panDetails && panDetails !== \"\") {\r\n console.log(\"Line No 97 If call \");\r\n setIsLoading(true);\r\n updateUtmInfo(updateUtmDetails); // here updating utmcreative and content.\r\n\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n }\r\n }\r\n\r\n function getProfilerStatus(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"1231- Failed to fetch client profiling data.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.hasOwnProperty(\"data\")) {\r\n if (res.data === true) completeModuleStatus(dashboardUrl.profiler);\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function updateUtmDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(123);\r\n }\r\n }\r\n\r\n function checkPendingUpload(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n let resultObj = JSON.parse(res.data);\r\n let list: Array = resultObj.filter(\r\n (item: any) =>\r\n // prev api types\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n // item.DocumentCategoryId !== 36 &&\r\n // item.DocumentCategoryId !== 30 &&\r\n // item.DocumentCategoryId !== 62\r\n item.Mandatory == true\r\n );\r\n if (list.length === 0 || list[0].count === 0)\r\n setIsUploadDocumentsCompleted(true);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n // console.log(\"AGetStageCompletionStatus\", res);\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n console.log(clientPartialDetails_ao, \"clientPartialDetails_ao\");\r\n\r\n if (!clientPartialDetails_ao.mobile) {\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n }\r\n\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n\r\n //route according to stage api response\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (responseObj.isesigncompleted && !responseObj.iskraesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=k\");\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 0) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 1) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function newAccountRedirect() {\r\n GlobalStore.isPartialFilledClient = true;\r\n clientPartialDetailsToStore({ applicationID: \"\" });\r\n history.replace(containerUrl.registration);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"Welcome\"\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default WelcomeBack;\r\n","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage'\r\nimport './MailVerified.scss'\r\n\r\nconst MailVerified = () => (\r\n
\r\n
\r\n \r\n
\r\n

Verification Mail Sent

\r\n

We have sent a verification link to your email id a********@g***.com . Kindly check your inbox.

\r\n
\r\n)\r\n\r\nexport default MailVerified;","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage'\r\nimport './NRI.scss'\r\n\r\nconst NRI = () => (\r\n
\r\n
\r\n \r\n
\r\n

Non Resident of India?

\r\n

Seems like you are a resident of United Kingdom. Someone from our team would be in touch with you shortly for opening account

\r\n

Back to Home

\r\n
\r\n)\r\n\r\nexport default NRI;","import React, { Component } from \"react\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport OtpField from \"../../UI/otpField/otpField\";\r\nimport OtpTimer from \"../../UI/OtpTimer/OtpTimer\";\r\nimport \"./OTP.scss\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AValidateMobileOtp } from \"../../Services/registration/registrationApiService\";\r\nimport { IUserObj } from \"../../types/genericTypes\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\n\r\nexport interface IProps {}\r\nexport interface IState {\r\n otp: string;\r\n isResend: boolean;\r\n timer: number;\r\n reloadKey: any;\r\n user: IUserObj;\r\n}\r\nclass OTP extends Component {\r\n state = {\r\n otp: \"\",\r\n isResend: false,\r\n timer: 15,\r\n reloadKey: Math.random(),\r\n user: GlobalStore.user,\r\n };\r\n\r\n enableResend = () => {\r\n let resendTimer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n clearInterval(resendTimer);\r\n this.setState({ timer: 15, isResend: true });\r\n } else {\r\n this.setState({ timer: temp });\r\n }\r\n }, 1000);\r\n };\r\n\r\n componentDidMount() {\r\n this.enableResend();\r\n }\r\n\r\n setOtp = (value: any) => {\r\n this.setState({ otp: value });\r\n };\r\n\r\n resendClicked = () => {\r\n this.setState({ reloadKey: Math.random(), isResend: false });\r\n this.enableResend();\r\n };\r\n\r\n checkValidateOtp = (res: any) => {};\r\n\r\n validateOtp = () => {\r\n AValidateMobileOtp(\r\n this.checkValidateOtp,\r\n this.state.user.mobile.toString(),\r\n this.state.otp\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Enter OTP

\r\n

\r\n We have sent you an OTP on your mobile no. ending 3462\r\n

\r\n
\r\n \r\n
\r\n {false && }\r\n {false && }\r\n
\r\n {this.state.isResend ? (\r\n
\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {false && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default OTP;\r\n","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage';\r\nimport Button from '../../UI/Button/Button'\r\nimport './AccExists.scss'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { loginUrl, containerUrl } from '../../utils/constants';\r\nimport useDiffPan from '../../../assets/icons/useDiffPan.svg'\r\nimport gtmService from '../../Services/gtmService';\r\n\r\nexport interface AccExistsProps {\r\n}\r\n\r\nconst AccExists: React.FC = () => {\r\n\r\n const history = useHistory();\r\n\r\n return (\r\n
\r\n\r\n
\r\n \r\n useDiffPan\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n gtmService({ action: 'USE_DIFF_PAN', label: 'DIFF_PAN' });\r\n history.push(containerUrl.pan)\r\n }} />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AccExists;","import React from 'react';\r\nimport './Backdrop.scss'\r\n// import 'cropperjs/dist/cropper.css';\r\nexport interface BackdropProps {\r\n children: any;\r\n isShow: boolean;\r\n isCloseIcon: boolean\r\n onClose?: () => void;\r\n}\r\n\r\nconst Backdrop: React.FC = (props) => {\r\n\r\n return (\r\n \r\n {\r\n props.isShow &&\r\n
\r\n
\r\n {props.isCloseIcon && }\r\n {props.children}\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport const FullBackdrop: React.FC = (props) => {\r\n return (\r\n \r\n {\r\n props.isShow &&\r\n
\r\n
\r\n {props.isCloseIcon && }\r\n {props.children}\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}\r\nexport default Backdrop;","import React from 'react';\r\nimport './ProgressBar.scss'\r\n\r\nexport interface ProgressBarProps {\r\n percent: string;\r\n width: string;\r\n height: string;\r\n isBlueColor?: boolean;\r\n}\r\n\r\nconst ProgressBar: React.FC = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ProgressBar;","import React from \"react\";\r\nimport \"./DocumentBrowse.scss\";\r\nimport ErrMsg from \"../ErrMsg/ErrMsg\";\r\nimport ProgressBar from \"../ProgressBar/ProgressBar\";\r\nimport pngIcon from \"../../../assets/icons/png.png\";\r\nimport jpgIcon from \"../../../assets/icons/jpg.png\";\r\nimport pdfIcon from \"../../../assets/icons/pdf.png\";\r\nimport Backdrop from \"../Backdrop/Backdrop\";\r\nimport prevIcon from \"../../../assets/icons/eye.png\";\r\nimport cropIcon from \"../../../assets/icons/crop.png\";\r\nimport Cropper from \"react-cropper\";\r\nimport \"cropperjs/dist/cropper.css\";\r\nimport Button from \"../Button/Button\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport Loader from \"./../Loader/Loader\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\n\r\nexport interface DocDetailFormat {\r\n id: string;\r\n disable?: boolean;\r\n isImageOnly?: boolean;\r\n uploadPer: number;\r\n hideProgress: boolean;\r\n fileName: string;\r\n showFile: boolean;\r\n imgUrl: any;\r\n documentCategoryId?: string;\r\n documentId?: number;\r\n mimeType?: string;\r\n documentcategory?: string;\r\n base64?: string;\r\n iscropped?: boolean;\r\n isWatsappFlag?: boolean;\r\n}\r\nexport interface DocumentBrowseProps {\r\n id: string;\r\n docObj: DocDetailFormat;\r\n onDocUploadComplete?: (\r\n value: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => void;\r\n isRemove?: (docObj: DocDetailFormat) => void;\r\n removePanImg?: boolean;\r\n}\r\n\r\nconst DocumentBrowse: React.FC = (props) => {\r\n const [cropper, setCropper] = React.useState();\r\n const [docErrorMsg, setDocErrorMsg] = React.useState(\"\");\r\n // const [prevImage, setPrevImage] = React.useState(props.docObj.imgUrl);\r\n const [prevImage, setPrevImage] = React.useState();\r\n const [loadingFlag, setLoadingFlag] = React.useState(\r\n props.docObj.showFile\r\n );\r\n const [docName, setDocName] = React.useState(props.docObj.fileName);\r\n // const [ext, setExt] = React.useState(props.docObj.mimeType === \"application/pdf\" ? \"PDF\" : \"\");\r\n const [ext, setExt] = React.useState(\"\");\r\n const isCroppingRef = React.useRef(null);\r\n const isPreviewRef = React.useRef(null);\r\n\r\n const minContainerWidth: number = DeviceContext().isMobile ? 300 : 500;\r\n const minContainerHeight: number = DeviceContext().isMobile ? 150 : 250;\r\n const minCanvasWidth: number = DeviceContext().isMobile ? 200 : 400;\r\n const minCanvasHeight: number = DeviceContext().isMobile ? 200 : 400;\r\n const minCropBoxWidth: number = DeviceContext().isMobile ? 100 : 100;\r\n const minCropBoxHeight: number = DeviceContext().isMobile ? 100 : 100;\r\n\r\n React.useEffect(() => {\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n if (props.docObj.mimeType === \"application/pdf\") {\r\n setExt(\"PDF\");\r\n }\r\n }, []);\r\n React.useEffect(() => {\r\n setLoadingFlag(props.docObj.showFile);\r\n }, [props.docObj.showFile, props.docObj]);\r\n\r\n React.useEffect(() => {\r\n if (props.removePanImg) {\r\n console.log(\"props.removePanImg\", props.removePanImg);\r\n removeDoc();\r\n }\r\n }, [props.removePanImg]);\r\n\r\n function onFileUpload(event: React.ChangeEvent) {\r\n const elem = event.target;\r\n const file = elem.files && elem.files[0];\r\n if (file) {\r\n setDocName(file.name);\r\n }\r\n\r\n if (file && file.size > 5242880) {\r\n setDocErrorMsg(\r\n errorMsg(errorCode.FE12)\r\n );\r\n return;\r\n }\r\n if (file && file.name.split(\".\").length === 2) {\r\n let extensions = file.name.split(\".\");\r\n if (props.docObj.documentId === 305) {\r\n if (file.size > 1048576) {\r\n setDocErrorMsg(\r\n errorMsg(errorCode.FE12)\r\n );\r\n return;\r\n } else if (extensions[1].toUpperCase() === \"PDF\") {\r\n setDocErrorMsg(errorMsg(errorCode.FE13));\r\n return;\r\n }\r\n }\r\n if (\r\n extensions[1].toUpperCase() === \"JPG\" ||\r\n extensions[1].toUpperCase() === \"JPEG\" ||\r\n extensions[1].toUpperCase() === \"PDF\"\r\n ) {\r\n setExt(extensions[1].toUpperCase());\r\n\r\n if (elem.files && elem.files[0]) {\r\n setDocErrorMsg(\"\");\r\n let data = new FormData();\r\n data.append(\"file\", elem.files[0]);\r\n const reader = new FileReader();\r\n setLoadingFlag(true);\r\n\r\n reader.onload = function (e) {\r\n const images = (e.target && e.target.result)?.toString();\r\n if (images) {\r\n setPrevImage(images);\r\n }\r\n setLoadingFlag(false);\r\n props.onDocUploadComplete &&\r\n props.onDocUploadComplete(images, file.name, props.id, file.type);\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n } else {\r\n if (props.docObj.id !== \"signature\") {\r\n setDocErrorMsg(errorMsg(errorCode.FE14)\r\n );\r\n } else {\r\n setDocErrorMsg(errorMsg(errorCode.FE13));\r\n }\r\n return;\r\n }\r\n } else {\r\n setDocErrorMsg(errorMsg(errorCode.FE15));\r\n return;\r\n }\r\n // if (props.id === 'signature' || file.name.split(\".\")[1].toUpperCase() === \"JPG\" || file.name.split(\".\")[1].toUpperCase() === \"JPEG\") {\r\n // handleCropping(file.type);\r\n // }\r\n if (props.id === \"signature\") {\r\n handleCropping(file.type);\r\n }\r\n }\r\n\r\n const removeDoc = () => {\r\n setLoadingFlag(true);\r\n // let updateProps = {...props};\r\n props.docObj.uploadPer = 0;\r\n props.isRemove && props.isRemove(props.docObj);\r\n // setPrevImage(undefined);\r\n // setExt(\"\");\r\n // props.docObj.hideProgress = true;\r\n };\r\n\r\n const closeSample = (props: any) => {\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n };\r\n\r\n const handleCropping = (mimetype?: string) => {\r\n // if (mimetype === \"application/pdf\" || (!mimetype && props.docObj.mimeType === \"application/pdf\")) {\r\n if (props.id !== \"signature\") {\r\n isPreviewRef.current!.hidden = false;\r\n isCroppingRef.current!.hidden = true;\r\n } else {\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = false;\r\n }\r\n };\r\n\r\n const getCropData = () => {\r\n if (typeof cropper !== \"undefined\") {\r\n setPrevImage(cropper.getCroppedCanvas().toDataURL(props.docObj.mimeType));\r\n props.docObj.iscropped = true;\r\n props.docObj.base64 = cropper\r\n .getCroppedCanvas()\r\n .toDataURL(props.docObj.mimeType);\r\n saveCroppedImage();\r\n }\r\n };\r\n\r\n const saveCroppedImage = () => {\r\n props.docObj.imgUrl = prevImage;\r\n if (prevImage !== undefined) {\r\n const cropImgtype = prevImage.substring(\r\n \"data:image/\".length,\r\n prevImage.indexOf(\";base64\")\r\n );\r\n // props.onDocUploadComplete && props.onDocUploadComplete(cropper.getCroppedCanvas().toDataURL(), props.docObj.fileName, props.id, cropImgtype);\r\n props.onDocUploadComplete &&\r\n props.onDocUploadComplete(\r\n prevImage,\r\n props.docObj.fileName,\r\n props.id,\r\n cropImgtype\r\n );\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n closeSample(props)}\r\n >\r\n <>\r\n {ext === \"PDF\" ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n closeSample(props)}\r\n >\r\n
\r\n {prevImage || props.docObj.imgUrl ? (\r\n {\r\n setCropper(instance);\r\n }}\r\n />\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n\r\n {loadingFlag ? (\r\n \r\n \r\n \r\n
\r\n {props.id === \"signature\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n {props.docObj.uploadPer !== 100 ? (\r\n (ext === \"PDF\" && \"\") ||\r\n (ext === \"JPG\" && (\r\n handleCropping()} alt=\"\" />\r\n ))\r\n ) : (\r\n
handleCropping()}>\r\n {ext === \"PDF\" ||\r\n props.docObj.mimeType === \"application/pdf\" ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n {props.id !== \"signature\" ? (\r\n \"prevImg\"\r\n ) : (\r\n \"prevImg\"\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {props.docObj.hideProgress && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {!props.docObj.disable && (\r\n {\r\n removeDoc();\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n )}\r\n {/* Error Msg Start*/}\r\n {docErrorMsg && (\r\n
\r\n \r\n {typeof docErrorMsg === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentBrowse;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetIpvOtp = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetIPVOTP\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getIPVOTP,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ivp-otp\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUploadIpv = (callback: CallableFunction, uploadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UploadIPVMerge\",\r\n body: {\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n LeadId: uploadObj.leadid,\r\n ImageName: uploadObj.imageName,\r\n Image: uploadObj.image,\r\n ContentType: uploadObj.contentType,\r\n PanNo: uploadObj.panno,\r\n IsUpload: 1,\r\n UtmInfoDetails: uploadObj,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.uploadIPVMerge,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/UploadIPVMerge\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUploadIpvSafari = (\r\n callback: CallableFunction,\r\n uploadObj: any\r\n) => {\r\n console.log(\"AUploadIpvSafari called\");\r\n\r\n apiService(\r\n {\r\n url: \"DIYAPI/ImagetoVideoIpv\",\r\n body: {\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n LeadId: uploadObj.leadid,\r\n ContentType: uploadObj.contentType,\r\n PanNo: uploadObj.panno,\r\n image64: uploadObj.image64,\r\n Width: uploadObj.width,\r\n Height: uploadObj.height,\r\n IsUpload: 1,\r\n UtmInfoDetails: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.imagetoVideoIpv,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/ImagetoVideoIpv\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASendSms = (callback: CallableFunction, uploadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SelfieLink\",\r\n body: {\r\n MobNo: uploadObj.mobNo,\r\n SelfieLink: uploadObj.selfieLinkText,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.selfieLink,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/selfielink\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveIPVerificationDetails = (\r\n callback: CallableFunction,\r\n uploadObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveIpverificationDetailsVer1\",\r\n body: {\r\n LeadId: uploadObj.leadid,\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n PlaceOfDeclaration: uploadObj.placeofDeclaration,\r\n EmpName: uploadObj.empName,\r\n Designation: uploadObj.designation,\r\n Branch: uploadObj.branch,\r\n EmpCode: uploadObj.empCode,\r\n Organization: uploadObj.organization,\r\n OrganizationCode: uploadObj.organizationCode,\r\n GeoLocation: uploadObj.geo_location,\r\n IpAddress: uploadObj.ipaddress,\r\n Is_AllDocUploaded: true,\r\n IpvLink: uploadObj.ipvlink ? uploadObj.ipvlink : \"\",\r\n latitude: uploadObj.latitude,\r\n longitude: uploadObj.longitude,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveIpverificationDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-ipverification-details\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { geoLocationConfig } from \"../components/utils/constants\";\r\n\r\nconst useGeoLocation = () => {\r\n const [location, setLocation] = useState({\r\n loaded: false,\r\n coordinates: { lat: \"\", lng: \"\" },\r\n error: false,\r\n });\r\n\r\n const onSuccess = (location) => {\r\n setLocation({\r\n loaded: true,\r\n coordinates: {\r\n lat: location.coords.latitude,\r\n lng: location.coords.longitude,\r\n },\r\n error: false,\r\n });\r\n };\r\n\r\n const onError = (error) => {\r\n setLocation({\r\n loaded: true,\r\n coordinates: { lat: \"\", lng: \"\" },\r\n error,\r\n error: true,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!(\"geolocation\" in navigator)) {\r\n onError({\r\n code: 0,\r\n message: \"Geolocation not supported\",\r\n });\r\n }\r\n\r\n navigator.geolocation.getCurrentPosition(onSuccess, onError, {\r\n timeout: geoLocationConfig.timeout,\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n });\r\n }, []);\r\n\r\n return location;\r\n};\r\n\r\nexport default useGeoLocation;\r\n","const nomineeDocIdsUAT = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocIdsPreprod = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocIdsProd = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocsIds =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? nomineeDocIdsProd\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? nomineeDocIdsPreprod\r\n : nomineeDocIdsUAT;\r\n\r\nexport default nomineeDocsIds;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport Button, {\r\n SubmitButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport \"./DocVerificationForm.scss\";\r\nimport watsAppIcon from \"../../../assets/icons/watsapp.png\";\r\nimport watsIcon from \"../../../assets/icons/Whatsapp_blue.png\";\r\nimport uploadIcon from \"../../../assets/icons/Upload _Blue.png\";\r\nimport {\r\n AGetDocumentList,\r\n AGetPendingDocument,\r\n AGetUploadedDocument,\r\n AGetDocStatus,\r\n ADownloadDocument,\r\n ASaveDocumentDetails,\r\n AextractPan,\r\n AextractCheque,\r\n AextractAadhaar,\r\n AextractPassport,\r\n AextractVoterid,\r\n AextractDl,\r\n Afacecompare,\r\n AgetPdf,\r\n AcreateApplicationTicket,\r\n AmaskAadhaar,\r\n AgetDocumentAutoQcDetails,\r\n AextractBankStatement,\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport {\r\n aadhaarDocumnetId,\r\n firstChequeDocumnetId,\r\n secondChequeDocumnetId,\r\n thirdChequeDocumnetId,\r\n fourthChequeDocumnetId,\r\n fifthChequeDocumnetId,\r\n firstBankStatementDocumnetId,\r\n secondBankStatementDocumnetId,\r\n thirdBankStatementDocumnetId,\r\n fourthBankStatementDocumnetId,\r\n fifthBankStatementDocumnetId,\r\n DIY,\r\n dlDocumentId,\r\n panDocumentId,\r\n passportDocumnetId,\r\n voterIdDocumentId,\r\n dashboardUrl,\r\n corrAadhaarDocumnetId,\r\n corrPassportDocumnetId,\r\n corrVoterIdDocumentId,\r\n corrDlDocumentId,\r\n watsappNo,\r\n geoLocationConfig,\r\n photographId,\r\n DocumentCategoryIdForphotographId,\r\n signatureDocumentId,\r\n ipvNavBarObj,\r\n} from \"../../utils/constants\";\r\nimport {\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n} from \"../../Services/globalService\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AgetBeneficiaryName } from \"../../Services/dashboard/bankApiServices\";\r\nimport EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport {\r\n AGetPanUtiData,\r\n APanLinkedWithAadhar,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { error } from \"console\";\r\nimport { ASaveIPVerificationDetails } from \"../../Services/dashboard/ipvApiServices\";\r\nimport useGeoLocation from \"../../../customHooks/useGeoLocation\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport moment from \"moment\";\r\nimport nomineeDocsIds from \"../../../config/nomineeDocsId\";\r\n\r\nexport interface DocVerifcationFormProps {\r\n UTM_SOURCE: string;\r\n UTM_MEDIUM?: string;\r\n UTM_CAMPAIGN?: string;\r\n}\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport interface uploadDocObj {\r\n applicationid: string;\r\n base64document: string;\r\n filename: string;\r\n}\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\n\r\nexport const initialPanDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n iscropped: false,\r\n isWatsappFlag: false,\r\n};\r\n\r\nconst DocVerifcationForm: React.FC = (props) => {\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [uploadDocFlag, setUploadDocFlag] = useState(false);\r\n const [uploadVaiWatsAppFlag, setUploadViaWatsAppFlag] =\r\n useState(false);\r\n const [togPAN, setTogPAN] = useState(false);\r\n const [togFirstBank, setTogFirstBank] = useState(false);\r\n const [togSecondBank, setTogSecondBank] = useState(false);\r\n const [togThirdBank, setTogThirdBank] = useState(false);\r\n const [togFourthBank, setTogFourthBank] = useState(false);\r\n const [togFifthBank, setTogFifthBank] = useState(false);\r\n\r\n const [togPermAdd, setTogPermAdd] = useState(false);\r\n const [togCorrAdd, setTogCorrAdd] = useState(false);\r\n const [togSig, setTogSig] = useState(false);\r\n const [togIncome, setTogIncome] = useState(false);\r\n const [firstBankList, setFirstBankList] = useState([]);\r\n const [secondBankList, setSecondBankList] = useState([]);\r\n const [thirdBankList, setThirdBankList] = useState([]);\r\n const [fourthBankList, setFourthBankList] = useState([]);\r\n const [fifthBankList, setFifthBankList] = useState([]);\r\n const [permAddList, setPermAddList] = useState([]);\r\n const [corrAddList, setCorrAddList] = useState([]);\r\n const [incomeList, setIncomeList] = useState([]);\r\n const [secondDoc, setSecondDoc] = useState(false);\r\n const [corrSecondDoc, setCorrSecondDoc] = useState(false);\r\n const [pendingDocObj, setPendingDocObj] = useState();\r\n const [photoObj, setPhotoObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [panObj, setPanObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [firstBankObj, setFirstBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [secondBankObj, setSecondBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [thirdBankObj, setThirdBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [fourthBankObj, setFourthBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [fifthBankObj, setFifthBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n\r\n const [permSecondAddressObj, setPermSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [corrSecondAddressObj, setCorrSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [permAddressObj, setPermAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [corrAddressObj, setCorrAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [signatureObj, setSignatureObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [incomeObj, setIncomeObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [defaultAddress, setDefaultAddress] = useState(\"\");\r\n const [defaultCorrAddress, setDefaultCorrAddress] = useState(\"\");\r\n const [defaultFirstBankDoc, setDefaultFirstBankDoc] = useState(\"\");\r\n const [defaultSecondBankDoc, setDefaultSecondBankDoc] = useState(\"\");\r\n const [defaultThirdBankDoc, setDefaultThirdBankDoc] = useState(\"\");\r\n const [defaultFourthBankDoc, setDefaultFourthBankDoc] = useState(\"\");\r\n const [defaultFifthBankDoc, setDefaultFifthBankDoc] = useState(\"\");\r\n const [defaultIncomeDoc, setDefaultIncomeDoc] = useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showRetake, setShowRetake] = useState(false);\r\n const videoRefElement = React.useRef(null);\r\n const canvasRefElement = React.useRef(null);\r\n const uploadedPhotoRefElement = React.useRef(null);\r\n const [mediaRecorder, setMediaRecorder] = React.useState();\r\n const [turnOfCamera, setTurnOfCamera] = React.useState();\r\n const [showVidPerm, setShowVidPerm] = React.useState(false);\r\n\r\n const [autoQc, setAutoQc] = React.useState(false);\r\n const [photoBase64, setPhotoBase64] = React.useState(\"\");\r\n const [panBase64, setPanBase64] = React.useState(\"\");\r\n const [bankStage, setBankStage] = React.useState(false);\r\n const [anotherFile, setAnotherFile] = React.useState(false);\r\n const [corrAnotherFile, setCorrAnotherFile] = React.useState(false);\r\n const [panName, setPanName] = React.useState(\"\");\r\n const [firstBankName, setFirstBankName] = React.useState(\"\");\r\n const [secondBankName, setSecondBankName] = React.useState(\"\");\r\n const [thirdBankName, setThirdBankName] = React.useState(\"\");\r\n const [fourthBankName, setFourthBankName] = React.useState(\"\");\r\n const [fifthBankName, setFifthBankName] = React.useState(\"\");\r\n\r\n const [firstBankDetails, setFirstBankDetails] = React.useState(\"\");\r\n const [secondBankDetails, setSecondBankDetails] = React.useState(\"\");\r\n const [thirdBankDetails, setThirdBankDetails] = React.useState(\"\");\r\n const [fourthBankDetails, setFourthBankDetails] = React.useState(\"\");\r\n const [fifthBankDetails, setFifthBankDetails] = React.useState(\"\");\r\n\r\n const [addressName, setAddressName] = React.useState(\"\");\r\n const [corrAddressName, setCorrAddressName] = React.useState(\"\");\r\n const [signatureName, setSignatureName] = React.useState(\"\");\r\n const [incomeName, setIncomeName] = React.useState(\"\");\r\n const [isPhotoPendingFlag, setIsPhotoPendingFlag] =\r\n React.useState(false);\r\n\r\n const [isNewPhoto, setIsNewPhoto] = useState(false);\r\n const [isNewPan, setIsNewPan] = useState(false);\r\n const [isNewFirstBank, setIsNewFirstBank] = useState(false);\r\n const [isNewSecondBank, setIsNewSecondBank] = useState(false);\r\n const [isNewThirdBank, setIsNewThirdBank] = useState(false);\r\n const [isNewFourthBank, setIsNewFourthBank] = useState(false);\r\n const [isNewFifthBank, setIsNewFifthBank] = useState(false);\r\n\r\n const [isNewPermAddress, setIsNewPermAddress] = useState(false);\r\n const [isNewCorrAddress, setIsNewCorrAddress] = useState(false);\r\n const [isNewSignature, setIsNewSignature] = useState(false);\r\n const [isNewIncome, setIsNewIncome] = useState(false);\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [showCorr, setShowCorr] = React.useState(false);\r\n const [isPanAndDobMatch, setIsPanAndDobMatch] = useState(true);\r\n const [seedingPopup, setSeedingPopup] = React.useState(\r\n !GlobalStore.isSeeding\r\n );\r\n const [regectedDocStatus, setRegectedDocStatus] = React.useState<\r\n Array\r\n >([{}]);\r\n const [aadharAddress, setAadharAddress] = React.useState(true);\r\n const [corrAadharAddress, setCorrAadharAddress] =\r\n React.useState(true);\r\n const [location, setLocation] = useState(\"\");\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n\r\n const [removePanImg, setRemovePanImg] = React.useState(false);\r\n const [isManual, setIsManual] = React.useState(false);\r\n\r\n let watchPositionId: number;\r\n\r\n //File specific error msg state\r\n\r\n const [panCardError, setPanCardError] = useState(\"\");\r\n const [firstBankListError, setFirstBankListError] = useState(\"\");\r\n const [secondBankListError, setSecondBankListError] = useState(\"\");\r\n const [thirdBankListError, setThirdBankListError] = useState(\"\");\r\n const [fourthBankListError, setFourthBankListError] = useState(\"\");\r\n const [fifthBankListError, setFifthBankListError] = useState(\"\");\r\n const [permAddListError, setPermAddListError] = useState(\"\");\r\n const [corrAddListError, setCorrAddListError] = useState(\"\");\r\n const [incomeListError, setIncomeListError] = useState(\"\");\r\n const [secondDocError, setSecondDocError] = useState(\"\");\r\n const [corrSecondDocError, setCorrSecondDocError] = useState(\"\");\r\n const [signatureListError, setSignatureListError] = useState(\"\");\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n // To check if a default permanent address is available for the application\r\n const [defaultPermAddressProof, setDefaultPermAddressProof] = useState(false);\r\n //permAddButDisable\r\n\r\n const [nomineeFirstObj, setNomineeFirstObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeSecondObj, setNomineeSecondObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeThirdObj, setNomineeThirdObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [guardianFirstObj, setGuardianFirstObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [guardianSecondObj, setGuardianSecondObj] = useState(\r\n [\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]\r\n );\r\n const [guardianThirdObj, setGuardianThirdObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeFirstList, setNomineeFirstList] = useState([]);\r\n const [nomineeSecondList, setNomineeSecondList] = useState([]);\r\n const [nomineeThirdList, setNomineeThirdList] = useState([]);\r\n const [guardianFirstList, setGuardianFirstList] = useState([]);\r\n const [guardianSecondList, setGuardianSecondList] = useState([]);\r\n const [guardianThirdList, setGuardianThirdList] = useState([]);\r\n const [nomineeGuardianTog, setNomineeGuardianTog] = useState({\r\n nomineeFirst: false,\r\n nomineeSecond: false,\r\n nomineeThree: false,\r\n guardianFirst: false,\r\n guardianSecond: false,\r\n guardianThird: false,\r\n });\r\n const [nomineeGuardianError, setNomineeGuardianError] = useState({\r\n nomFirstPhotoId: \"\",\r\n nomFirstSignature: \"\",\r\n nomSecondPhotoId: \"\",\r\n nomSecondSignature: \"\",\r\n nomThirdPhotoId: \"\",\r\n nomThirdSignature: \"\",\r\n guardianFirstPhotoId: \"\",\r\n guardianFirstSignature: \"\",\r\n guardianSecondPhotoId: \"\",\r\n guardianSecondSignature: \"\",\r\n guardianThirdPhotoId: \"\",\r\n guardianThirdSignature: \"\",\r\n });\r\n\r\n const [isNomineeGuardian, setIsNomineeGuardian] = useState({\r\n isNomFirstPhoto: false,\r\n isNomFirstSignature: false,\r\n isNomSecondPhoto: false,\r\n isNomSecondSignature: false,\r\n isNomThirdPhoto: false,\r\n isNomThirdSignature: false,\r\n isGuardianFirstPhoto: false,\r\n isGuardianFirstSignature: false,\r\n isGuardianSecondPhoto: false,\r\n isGuardianSecondSignature: false,\r\n isGuardianThirdPhoto: false,\r\n isGuardianThirdSignature: false,\r\n });\r\n\r\n const [nomineeDisable, setNomineeDisable] = useState(false);\r\n const [guardianDisable, setGuardianDisable] = useState(false);\r\n\r\n //permAddButDisable\r\n const [permAddButDisable, setPermAddButDisable] = useState(false);\r\n const [panButDisable, setPanButDisable] = useState(false);\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: false,\r\n checkLocation: false,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n\r\n const [blockAadhar, setBlockAadhar] = React.useState(false);\r\n\r\n let isPanLinkedToAadhar: boolean;\r\n\r\n React.useEffect(() => {\r\n // console.log(\"loca222\", GlobalStore.location);\r\n window.scrollTo(0, 0);\r\n if (GlobalStore.location) {\r\n setLocation(GlobalStore.location);\r\n } else {\r\n setTimeout(() => {\r\n navigator.geolocation.getCurrentPosition(saveLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n }\r\n\r\n // setIsLoading(true);\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n // if kra Client to hide address logic\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.isKRA || clientPartialDetails_ao.isKRA\r\n ? setBlockAadhar(true)\r\n : setBlockAadhar(false);\r\n\r\n // turnOnCamera();\r\n showPhotoPreview(false);\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (location) {\r\n GlobalStore.location = location;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n // const locationString;\r\n const locationObj = {\r\n lat: location.lat,\r\n lng: location.long,\r\n };\r\n ACheckLocation((res: any) => checkLocationRes(res), locationObj);\r\n }\r\n }, [location]);\r\n\r\n React.useEffect(() => {\r\n if (nomineeFirstList.length > 0) {\r\n let nomineeOne = [...nomineeFirstObj];\r\n for (let i = 0; i < nomineeOne.length; i++) {\r\n if (nomineeOne[i].imgUrl === \"\" || nomineeOne[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n\r\n if (nomineeSecondList.length > 0) {\r\n let nomineeTwo = [...nomineeSecondObj];\r\n for (let i = 0; i < nomineeTwo.length; i++) {\r\n if (nomineeTwo[i].imgUrl === \"\" || nomineeTwo[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n if (nomineeThirdList.length > 0) {\r\n let nomineeThree = [...nomineeThirdObj];\r\n for (let i = 0; i < nomineeThree.length; i++) {\r\n if (nomineeThree[i].imgUrl === \"\" || nomineeThree[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n\r\n if (guardianFirstList.length > 0) {\r\n let guardianOne = [...guardianFirstObj];\r\n for (let i = 0; i < guardianOne.length; i++) {\r\n if (guardianOne[i].imgUrl === \"\" || guardianOne[i].fileName === \"\") {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n if (guardianSecondList.length > 0) {\r\n let guardianTwo = [...guardianSecondObj];\r\n for (let i = 0; i < guardianTwo.length; i++) {\r\n if (guardianTwo[i].imgUrl === \"\" || guardianTwo[i].fileName === \"\") {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n if (guardianThirdList.length > 0) {\r\n let guardianThree = [...guardianThirdObj];\r\n for (let i = 0; i < guardianThree.length; i++) {\r\n if (\r\n guardianThree[i].imgUrl === \"\" ||\r\n guardianThree[i].fileName === \"\"\r\n ) {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n }, [\r\n nomineeFirstList,\r\n nomineeSecondList,\r\n nomineeThirdList,\r\n guardianFirstList,\r\n guardianSecondList,\r\n guardianThirdList,\r\n nomineeFirstObj,\r\n nomineeSecondObj,\r\n nomineeThirdObj,\r\n guardianFirstObj,\r\n guardianSecondObj,\r\n guardianThirdObj,\r\n ]);\r\n\r\n React.useEffect(() => {\r\n console.log(\"UseEffect called\");\r\n\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission]);\r\n\r\n React.useEffect(() => {\r\n if (photoObj.imgUrl) {\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n photoObj.imgUrl.split(\",\")[1],\r\n GlobalStore.leadId\r\n );\r\n }\r\n }, [photoObj]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n };\r\n }, [turnOfCamera]);\r\n\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here-\", geoLoc);\r\n // setLocation(`${geoLoc.coordinates.lat}, ${geoLoc.coordinates.lng}`);\r\n setLocation({\r\n lat: geoLoc.coordinates.lat,\r\n long: geoLoc.coordinates.lng,\r\n });\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n console.log(\"I'm here in else-\", navigator);\r\n navigator.geolocation.getCurrentPosition(saveLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n navigator.geolocation.getCurrentPosition(saveLocation);\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n } else {\r\n alert(\"Geo location is not supported by this browser\");\r\n }\r\n }\r\n };\r\n\r\n const errorLocation = (err: any) => {\r\n if (!location && !GlobalStore.location) {\r\n console.log(location, \"errorLoaction function log\");\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation()\r\n }\r\n };\r\n\r\n const saveLocation = (position: { coords: any }) => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n // setLocation(`${position.coords.latitude}, ${position.coords.longitude}`);\r\n setLocation({\r\n lat: position.coords.latitude,\r\n long: position.coords.longitude,\r\n });\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n // GlobalStore.location = location;\r\n };\r\n\r\n function successPosition(data: any) {\r\n console.log(\"successPosition\");\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n // setLocation(`${data.coords.latitude}, ${data.coords.longitude}`);\r\n setLocation({\r\n lat: data.coords.latitude,\r\n long: data.coords.longitude,\r\n });\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n // GlobalStore.location = location;\r\n }\r\n\r\n function errorPosition(data: any) {\r\n console.log(\"errorPosition\");\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n const checkLocationRes = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(\"LIVE\", res);\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n });\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n if (errCode !== res.data.Message)\r\n setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"106- Failed to fetch stage completion data.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR141\",\r\n });\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (GlobalStore.isKRA || responseObj.iskra) {\r\n permAddressObj.disable = true;\r\n setPermAddressObj(permAddressObj);\r\n setBlockAadhar(true);\r\n } else {\r\n setBlockAadhar(false);\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKYC = responseObj.iskyc;\r\n clientPartialDetails_ao.isKRA = responseObj.iskra;\r\n\r\n setIsManual(clientPartialDetails_ao.isManual);\r\n clientPartialDetails_ao.isDigiLocker =\r\n responseObj.isdigilockercompleted;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n if (responseObj.isbankdetailscompleted) {\r\n setBankStage(true);\r\n } else {\r\n setBankStage(false);\r\n }\r\n\r\n if (responseObj.ispanlinkedwithaadhar === true) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n } else if (responseObj.ispanlinkedwithaadhar === false) {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR141-S\",\r\n });\r\n }\r\n }\r\n\r\n AGetDocumentList(getDocList, GlobalStore.applicationID); //2\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID); //4\r\n AGetPendingDocument(getPendingDoc, GlobalStore.applicationID); //1\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID); //3\r\n }\r\n\r\n function showPhotoPreview(showPhotoPreview: boolean) {\r\n videoRefElement.current!.hidden = showPhotoPreview;\r\n canvasRefElement.current!.hidden = !showPhotoPreview;\r\n }\r\n\r\n async function turnOnCamera() {\r\n getLocation();\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n videoRefElement.current!.srcObject = turnOfCamera;\r\n setMediaRecorder(new MediaRecorder(turnOfCamera));\r\n setTurnOfCamera(turnOfCamera);\r\n setShowVidPerm(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n setShowVidPerm(true);\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(handleSuccess)\r\n .catch(handleError);\r\n }\r\n\r\n const getDocumentStatus = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR125\" });\r\n } else {\r\n if (res.data) {\r\n const regectedDoc = JSON.parse(res.data).filter(\r\n (item: any) => item.Status === \"Rejected\"\r\n );\r\n setRegectedDocStatus(regectedDoc);\r\n } else {\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR125-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getDocList = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR121\" });\r\n } else {\r\n if (res.data) {\r\n let listObj = JSON.parse(res.data);\r\n const photoData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Photograph\"\r\n );\r\n const panData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"PAN Card\"\r\n );\r\n const firstBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 9\r\n );\r\n const SecondBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 60\r\n );\r\n const thirdBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 61\r\n );\r\n const fourthBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 70\r\n );\r\n const fifthBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 71\r\n );\r\n const corrAddObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const permAddObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n const incomeObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n const signatureData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Signature\"\r\n );\r\n\r\n const nomineeFirstList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId\r\n );\r\n const nomineeSecondList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId\r\n );\r\n const nomineeThirdList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId\r\n );\r\n const guardianFirstList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n\r\n const guardianSecondList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n const guardianThirdList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n if (photoData.length) {\r\n let photoCopy = { ...photoObj };\r\n photoCopy.documentCategoryId = photoData[0].DocumentCategoryId;\r\n photoCopy.documentId = photoData[0].DocumentId;\r\n photoCopy.documentcategory = photoData[0].DocumentCategory;\r\n setPhotoObj(photoCopy);\r\n }\r\n\r\n if (panData.length) {\r\n let panCopy = { ...panObj };\r\n panCopy.documentCategoryId = panData[0].DocumentCategoryId;\r\n panCopy.documentId = panData[0].DocumentId;\r\n panCopy.documentcategory = panData[0].DocumentCategory;\r\n setPanObj(panCopy);\r\n }\r\n\r\n if (firstBankObjlist.length) {\r\n let firstBankCopy = { ...firstBankObj };\r\n firstBankCopy.documentCategoryId =\r\n firstBankObjlist[0].DocumentCategoryId;\r\n firstBankCopy.documentcategory = firstBankObjlist[0].DocumentCategory;\r\n setFirstBankObj(firstBankCopy);\r\n }\r\n\r\n if (SecondBankObjlist.length) {\r\n let secondBankCopy = { ...secondBankObj };\r\n secondBankCopy.documentCategoryId =\r\n SecondBankObjlist[0].DocumentCategoryId;\r\n secondBankCopy.documentcategory =\r\n SecondBankObjlist[0].DocumentCategory;\r\n setSecondBankObj(secondBankCopy);\r\n }\r\n\r\n if (thirdBankObjlist.length) {\r\n let thirdBankCopy = { ...thirdBankObj };\r\n thirdBankCopy.documentCategoryId =\r\n thirdBankObjlist[0].DocumentCategoryId;\r\n thirdBankCopy.documentcategory = thirdBankObjlist[0].DocumentCategory;\r\n setThirdBankObj(thirdBankCopy);\r\n }\r\n\r\n if (fourthBankObjlist.length) {\r\n let fourthBankCopy = { ...fourthBankObj };\r\n fourthBankCopy.documentCategoryId =\r\n fourthBankObjlist[0].DocumentCategoryId;\r\n fourthBankCopy.documentcategory =\r\n fourthBankObjlist[0].DocumentCategory;\r\n setFourthBankObj(fourthBankCopy);\r\n }\r\n\r\n if (fifthBankObjlist.length) {\r\n let fifthBankCopy = { ...fifthBankObj };\r\n fifthBankCopy.documentCategoryId =\r\n fifthBankObjlist[0].DocumentCategoryId;\r\n fifthBankCopy.documentcategory = fifthBankObjlist[0].DocumentCategory;\r\n setFifthBankObj(fifthBankCopy);\r\n }\r\n\r\n if (permAddObjlist.length) {\r\n let permAddressCopy = { ...permAddressObj };\r\n permAddressCopy.documentcategory = \"Address Proof Permanent\";\r\n permAddressCopy.documentCategoryId =\r\n permAddObjlist[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressCopy);\r\n }\r\n\r\n if (corrAddObjlist.length) {\r\n let corrAddressCopy = { ...corrAddressObj };\r\n corrAddressCopy.documentcategory = \"Address Proof Correspondance\";\r\n corrAddressCopy.documentCategoryId =\r\n corrAddObjlist[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressCopy);\r\n }\r\n\r\n if (signatureData.length) {\r\n let signatureCopy = { ...signatureObj };\r\n signatureCopy.documentcategory = \"Signature\";\r\n signatureCopy.documentCategoryId =\r\n signatureData[0].DocumentCategoryId;\r\n signatureCopy.documentId = signatureData[0].DocumentId;\r\n setSignatureObj(signatureCopy);\r\n }\r\n\r\n if (incomeObjlist.length) {\r\n let incomeCopy = { ...incomeObj };\r\n incomeCopy.documentcategory = \"Income Proof\";\r\n incomeCopy.documentCategoryId = incomeObjlist[0].DocumentCategoryId;\r\n incomeCopy.documentId = incomeObjlist[0].DocumentId;\r\n setIncomeObj(incomeCopy);\r\n }\r\n setErrCode(errCode);\r\n setFirstBankList(firstBankObjlist);\r\n setSecondBankList(SecondBankObjlist);\r\n setThirdBankList(thirdBankObjlist);\r\n setFourthBankList(fourthBankObjlist);\r\n setFifthBankList(fifthBankObjlist);\r\n setPermAddList(permAddObjlist);\r\n setCorrAddList(corrAddObjlist);\r\n setIncomeList(incomeObjlist);\r\n setNomineeFirstList(nomineeFirstList);\r\n setNomineeSecondList(nomineeSecondList);\r\n setNomineeThirdList(nomineeThirdList);\r\n setGuardianFirstList(guardianFirstList);\r\n setGuardianSecondList(guardianSecondList);\r\n setGuardianThirdList(guardianThirdList);\r\n } else {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR121-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getUploadedDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data) {\r\n const uplDoc = JSON.parse(res.data);\r\n const isPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategory === \"Photograph\" && x.DocumentId === photographId\r\n );\r\n\r\n const isPANCard = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"PAN Card\"\r\n );\r\n const isFirstBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 9\r\n );\r\n const isSecondBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 60\r\n );\r\n const isThirdBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 61\r\n );\r\n const isFourthBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 70\r\n );\r\n const isFifthBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 71\r\n );\r\n const isCorrAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const isPermAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n const isSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategory === \"Signature\" &&\r\n x.DocumentId == signatureDocumentId\r\n );\r\n const isIncomeProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n const isNomineeFirstPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId\r\n );\r\n const isNomineeFirstSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId\r\n );\r\n const isNomineeSecondPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId\r\n );\r\n const isNomineeSecondSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId\r\n );\r\n const isNomineeThirdPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId\r\n );\r\n const isNomineeThirdSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId\r\n );\r\n const isGuardianFirstPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId\r\n );\r\n const isGuardianFirstSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId\r\n );\r\n const isGuardianSecondPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId\r\n );\r\n const isGuardianSecondSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId\r\n );\r\n const isGuardianThirdPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId\r\n );\r\n\r\n const isGuardianThirdSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n\r\n if (isNomineeFirstPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeFirstPhoto = [...nomineeFirstObj];\r\n nomineeFirstPhoto[0].id = \"photo\";\r\n nomineeFirstPhoto[0].disable = false;\r\n nomineeFirstPhoto[0].uploadPer = 100;\r\n nomineeFirstPhoto[0].fileName = isNomineeFirstPhoto[0].FileName;\r\n nomineeFirstPhoto[0].showFile = false;\r\n nomineeFirstPhoto[0].hideProgress = false;\r\n nomineeFirstPhoto[0].mimeType = isNomineeFirstPhoto[0].MimeType;\r\n nomineeFirstPhoto[0].documentCategoryId =\r\n isNomineeFirstPhoto[0].DocumentCategoryId;\r\n nomineeFirstPhoto[0].documentId = isNomineeFirstPhoto[0].DocumentId;\r\n nomineeFirstPhoto[0].documentcategory =\r\n isNomineeFirstPhoto[0].DocumentCategory;\r\n setNomineeFirstObj(nomineeFirstPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeFirstImage(res, \"photo\"),\r\n isNomineeFirstPhoto[0].FileName,\r\n isNomineeFirstPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeFirstSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeFirstSignature = [...nomineeFirstObj];\r\n\r\n nomineeFirstSignature[1].id = \"signature\";\r\n nomineeFirstSignature[1].disable = false;\r\n nomineeFirstSignature[1].uploadPer = 100;\r\n nomineeFirstSignature[1].fileName = isNomineeFirstSignature[0].FileName;\r\n nomineeFirstSignature[1].showFile = false;\r\n nomineeFirstSignature[1].hideProgress = false;\r\n nomineeFirstSignature[1].mimeType = isNomineeFirstSignature[0].MimeType;\r\n nomineeFirstSignature[1].documentCategoryId =\r\n isNomineeFirstSignature[0].DocumentCategoryId;\r\n nomineeFirstSignature[1].documentId =\r\n isNomineeFirstSignature[0].DocumentId;\r\n nomineeFirstSignature[1].documentcategory =\r\n isNomineeFirstSignature[0].DocumentCategory;\r\n setNomineeFirstObj(nomineeFirstSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeFirstImage(res, \"signature\"),\r\n isNomineeFirstSignature[0].FileName,\r\n isNomineeFirstSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeSecondPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeSecondPhoto = [...nomineeSecondObj];\r\n\r\n nomineeSecondPhoto[0].id = \"photo\";\r\n nomineeSecondPhoto[0].disable = false;\r\n nomineeSecondPhoto[0].uploadPer = 100;\r\n nomineeSecondPhoto[0].fileName = isNomineeSecondPhoto[0].FileName;\r\n nomineeSecondPhoto[0].showFile = false;\r\n nomineeSecondPhoto[0].hideProgress = false;\r\n nomineeSecondPhoto[0].mimeType = isNomineeSecondPhoto[0].MimeType;\r\n nomineeSecondPhoto[0].documentCategoryId =\r\n isNomineeSecondPhoto[0].DocumentCategoryId;\r\n nomineeSecondPhoto[0].documentId = isNomineeSecondPhoto[0].DocumentId;\r\n nomineeSecondPhoto[0].documentcategory =\r\n isNomineeSecondPhoto[0].DocumentCategory;\r\n setNomineeSecondObj(nomineeSecondPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeSecondImage(res, \"photo\"),\r\n isNomineeSecondPhoto[0].FileName,\r\n isNomineeSecondPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeSecondSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeSecondSignature = [...nomineeSecondObj];\r\n\r\n nomineeSecondSignature[1].id = \"signature\";\r\n nomineeSecondSignature[1].disable = false;\r\n nomineeSecondSignature[1].uploadPer = 100;\r\n nomineeSecondSignature[1].fileName =\r\n isNomineeSecondSignature[0].FileName;\r\n nomineeSecondSignature[1].showFile = false;\r\n nomineeSecondSignature[1].hideProgress = false;\r\n nomineeSecondSignature[1].mimeType =\r\n isNomineeSecondSignature[0].MimeType;\r\n nomineeSecondSignature[1].documentCategoryId =\r\n isNomineeSecondSignature[0].DocumentCategoryId;\r\n nomineeSecondSignature[1].documentId =\r\n isNomineeSecondSignature[0].DocumentId;\r\n nomineeSecondSignature[1].documentcategory =\r\n isNomineeSecondSignature[0].DocumentCategory;\r\n setNomineeSecondObj(nomineeSecondSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeSecondImage(res, \"signature\"),\r\n isNomineeSecondSignature[0].FileName,\r\n isNomineeSecondSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeThirdPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeThirdPhoto = [...nomineeThirdObj];\r\n\r\n nomineeThirdPhoto[0].id = \"photo\";\r\n nomineeThirdPhoto[0].disable = false;\r\n nomineeThirdPhoto[0].uploadPer = 100;\r\n nomineeThirdPhoto[0].fileName = isNomineeThirdPhoto[0].FileName;\r\n nomineeThirdPhoto[0].showFile = false;\r\n nomineeThirdPhoto[0].hideProgress = false;\r\n nomineeThirdPhoto[0].mimeType = isNomineeThirdPhoto[0].MimeType;\r\n nomineeThirdPhoto[0].documentCategoryId =\r\n isNomineeThirdPhoto[0].DocumentCategoryId;\r\n nomineeThirdPhoto[0].documentId = isNomineeThirdPhoto[0].DocumentId;\r\n nomineeThirdPhoto[0].documentcategory =\r\n isNomineeThirdPhoto[0].DocumentCategory;\r\n setNomineeThirdObj(nomineeThirdPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeThirdImage(res, \"photo\"),\r\n isNomineeThirdPhoto[0].FileName,\r\n isNomineeThirdPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeThirdSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeThirdSignature = [...nomineeThirdObj];\r\n\r\n nomineeThirdSignature[1].id = \"signature\";\r\n nomineeThirdSignature[1].disable = false;\r\n nomineeThirdSignature[1].uploadPer = 100;\r\n nomineeThirdSignature[1].fileName = isNomineeThirdSignature[0].FileName;\r\n nomineeThirdSignature[1].showFile = false;\r\n nomineeThirdSignature[1].hideProgress = false;\r\n nomineeThirdSignature[1].mimeType = isNomineeThirdSignature[0].MimeType;\r\n nomineeThirdSignature[1].documentCategoryId =\r\n isNomineeThirdSignature[0].DocumentCategoryId;\r\n nomineeThirdSignature[1].documentId =\r\n isNomineeThirdSignature[0].DocumentId;\r\n nomineeThirdSignature[1].documentcategory =\r\n isNomineeThirdSignature[0].DocumentCategory;\r\n setNomineeThirdObj(nomineeThirdSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeThirdImage(res, \"signature\"),\r\n isNomineeThirdSignature[0].FileName,\r\n isNomineeThirdSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n // guardian start\r\n if (isGuardianFirstPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianFirstPhoto = [...guardianFirstObj];\r\n\r\n guardianFirstPhoto[0].id = \"photo\";\r\n guardianFirstPhoto[0].disable = false;\r\n guardianFirstPhoto[0].uploadPer = 100;\r\n guardianFirstPhoto[0].fileName = isGuardianFirstPhoto[0].FileName;\r\n guardianFirstPhoto[0].showFile = false;\r\n guardianFirstPhoto[0].hideProgress = false;\r\n guardianFirstPhoto[0].mimeType = isGuardianFirstPhoto[0].MimeType;\r\n guardianFirstPhoto[0].documentCategoryId =\r\n isGuardianFirstPhoto[0].DocumentCategoryId;\r\n guardianFirstPhoto[0].documentId = isGuardianFirstPhoto[0].DocumentId;\r\n guardianFirstPhoto[0].documentcategory =\r\n isGuardianFirstPhoto[0].DocumentCategory;\r\n setGuardianFirstObj(guardianFirstPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianFirstImage(res, \"photo\"),\r\n isGuardianFirstPhoto[0].FileName,\r\n isGuardianFirstPhoto[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianFirstSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianFirstSignature = [...guardianFirstObj];\r\n\r\n guardianFirstSignature[1].id = \"signature\";\r\n guardianFirstSignature[1].disable = false;\r\n guardianFirstSignature[1].uploadPer = 100;\r\n guardianFirstSignature[1].fileName =\r\n isGuardianFirstSignature[0].FileName;\r\n guardianFirstSignature[1].showFile = false;\r\n guardianFirstSignature[1].hideProgress = false;\r\n guardianFirstSignature[1].mimeType =\r\n isGuardianFirstSignature[0].MimeType;\r\n guardianFirstSignature[1].documentCategoryId =\r\n isGuardianFirstSignature[0].DocumentCategoryId;\r\n guardianFirstSignature[1].documentId =\r\n isGuardianFirstSignature[0].DocumentId;\r\n guardianFirstSignature[1].documentcategory =\r\n isGuardianFirstSignature[0].DocumentCategory;\r\n setGuardianFirstObj(guardianFirstSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianFirstImage(res, \"signature\"),\r\n isGuardianFirstSignature[0].FileName,\r\n isGuardianFirstSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianSecondPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianSecondPhoto = [...guardianSecondObj];\r\n\r\n guardianSecondPhoto[0].id = \"photo\";\r\n guardianSecondPhoto[0].disable = false;\r\n guardianSecondPhoto[0].uploadPer = 100;\r\n guardianSecondPhoto[0].fileName = isGuardianSecondPhoto[0].FileName;\r\n guardianSecondPhoto[0].showFile = false;\r\n guardianSecondPhoto[0].hideProgress = false;\r\n guardianSecondPhoto[0].mimeType = isGuardianSecondPhoto[0].MimeType;\r\n guardianSecondPhoto[0].documentCategoryId =\r\n isGuardianSecondPhoto[0].DocumentCategoryId;\r\n guardianSecondPhoto[0].documentId = isGuardianSecondPhoto[0].DocumentId;\r\n guardianSecondPhoto[0].documentcategory =\r\n isGuardianSecondPhoto[0].DocumentCategory;\r\n setGuardianSecondObj(guardianSecondPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianSecondImage(res, \"photo\"),\r\n isGuardianSecondPhoto[0].FileName,\r\n isGuardianSecondPhoto[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianSecondSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianSecondSignature = [...guardianSecondObj];\r\n\r\n guardianSecondSignature[1].id = \"signature\";\r\n guardianSecondSignature[1].disable = false;\r\n guardianSecondSignature[1].uploadPer = 100;\r\n guardianSecondSignature[1].fileName =\r\n isGuardianSecondSignature[0].FileName;\r\n guardianSecondSignature[1].showFile = false;\r\n guardianSecondSignature[1].hideProgress = false;\r\n guardianSecondSignature[1].mimeType =\r\n isGuardianSecondSignature[0].MimeType;\r\n guardianSecondSignature[1].documentCategoryId =\r\n isGuardianSecondSignature[0].DocumentCategoryId;\r\n guardianSecondSignature[1].documentId =\r\n isGuardianSecondSignature[0].DocumentId;\r\n guardianSecondSignature[1].documentcategory =\r\n isGuardianSecondSignature[0].DocumentCategory;\r\n setGuardianSecondObj(guardianSecondSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianSecondImage(res, \"signature\"),\r\n isGuardianSecondSignature[0].FileName,\r\n isGuardianSecondSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isGuardianThirdPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianThirdPhoto = [...guardianThirdObj];\r\n\r\n guardianThirdPhoto[0].id = \"photo\";\r\n guardianThirdPhoto[0].disable = false;\r\n guardianThirdPhoto[0].uploadPer = 100;\r\n guardianThirdPhoto[0].fileName = isGuardianThirdPhoto[0].FileName;\r\n guardianThirdPhoto[0].showFile = false;\r\n guardianThirdPhoto[0].hideProgress = false;\r\n guardianThirdPhoto[0].mimeType = isGuardianThirdPhoto[0].MimeType;\r\n guardianThirdPhoto[0].documentCategoryId =\r\n isGuardianThirdPhoto[0].DocumentCategoryId;\r\n guardianThirdPhoto[0].documentId = isGuardianThirdPhoto[0].DocumentId;\r\n guardianThirdPhoto[0].documentcategory =\r\n isGuardianThirdPhoto[0].DocumentCategory;\r\n setGuardianThirdObj(guardianThirdPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianThirdImage(res, \"photo\"),\r\n isGuardianThirdPhoto[0].FileName,\r\n isGuardianThirdPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isGuardianThirdSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianThirdSignature = [...guardianThirdObj];\r\n\r\n guardianThirdSignature[1].id = \"signature\";\r\n guardianThirdSignature[1].disable = false;\r\n guardianThirdSignature[1].uploadPer = 100;\r\n guardianThirdSignature[1].fileName =\r\n isGuardianThirdSignature[0].FileName;\r\n guardianThirdSignature[1].showFile = false;\r\n guardianThirdSignature[1].hideProgress = false;\r\n guardianThirdSignature[1].mimeType =\r\n isGuardianThirdSignature[0].MimeType;\r\n guardianThirdSignature[1].documentCategoryId =\r\n isGuardianThirdSignature[0].DocumentCategoryId;\r\n guardianThirdSignature[1].documentId =\r\n isGuardianThirdSignature[0].DocumentId;\r\n guardianThirdSignature[1].documentcategory =\r\n isGuardianThirdSignature[0].DocumentCategory;\r\n setGuardianThirdObj(guardianThirdSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianThirdImage(res, \"signature\"),\r\n isGuardianThirdSignature[0].FileName,\r\n isGuardianThirdSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n // guardian end\r\n if (isPhoto.length > 0) {\r\n setIsLoading(true);\r\n photoObj.id = \"photo\";\r\n photoObj.disable = false;\r\n photoObj.uploadPer = 100;\r\n photoObj.fileName = isPhoto[0].FileName;\r\n photoObj.showFile = false;\r\n photoObj.hideProgress = false;\r\n photoObj.mimeType = isPhoto[0].MimeType;\r\n photoObj.documentCategoryId = isPhoto[0].DocumentCategoryId;\r\n photoObj.documentId = isPhoto[0].DocumentId;\r\n photoObj.documentcategory = isPhoto[0].DocumentCategory;\r\n setPhotoObj(photoObj);\r\n ADownloadDocument(\r\n getPhotoImage,\r\n isPhoto[0].FileName,\r\n isPhoto[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isPANCard.length > 0) {\r\n setIsLoading(true);\r\n panObj.id = \"panCard\";\r\n panObj.disable = false;\r\n panObj.uploadPer = 100;\r\n panObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n panObj.showFile = false;\r\n panObj.hideProgress = false;\r\n panObj.mimeType = isPANCard[0].MimeType;\r\n panObj.documentCategoryId = isPANCard[0].DocumentCategoryId;\r\n panObj.documentId = isPANCard[0].DocumentId;\r\n panObj.documentcategory = isPANCard[0].DocumentCategory;\r\n setPanObj(panObj);\r\n ADownloadDocument(\r\n getPanImage,\r\n isPANCard[0].FileName,\r\n isPANCard[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isFirstBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFirstBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFirstBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFirstBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFirstBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n firstBankObj.id = \"firstBankDoc\";\r\n firstBankObj.disable = false;\r\n firstBankObj.uploadPer = 100;\r\n firstBankObj.fileName = `${GlobalStore.applicationID}_First Bank`;\r\n firstBankObj.showFile = false;\r\n firstBankObj.hideProgress = false;\r\n firstBankObj.documentId = isFirstBankDocument[0].DocumentId;\r\n firstBankObj.mimeType = isFirstBankDocument[0].MimeType;\r\n firstBankObj.documentcategory = isFirstBankDocument[0].DocumentCategory;\r\n firstBankObj.documentCategoryId =\r\n isFirstBankDocument[0].DocumentCategoryId;\r\n setFirstBankObj(firstBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFirstBankDocument[0].FileName,\r\n isFirstBankDocument[0].UploadedDocPath\r\n );\r\n let firstBankDetails: any = {};\r\n firstBankDetails.BankName = isFirstBankDocument[0].BankName;\r\n firstBankDetails.AccountType = isFirstBankDocument[0].AccountType;\r\n setFirstBankDetails(firstBankDetails);\r\n }\r\n\r\n if (isSecondBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isSecondBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultSecondBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isSecondBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultSecondBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n secondBankObj.id = \"secondBankDoc\";\r\n secondBankObj.disable = false;\r\n secondBankObj.uploadPer = 100;\r\n secondBankObj.fileName = `${GlobalStore.applicationID}_Second Bank`;\r\n secondBankObj.showFile = false;\r\n secondBankObj.hideProgress = false;\r\n secondBankObj.documentId = isSecondBankDocument[0].DocumentId;\r\n secondBankObj.mimeType = isSecondBankDocument[0].MimeType;\r\n secondBankObj.documentcategory =\r\n isSecondBankDocument[0].DocumentCategory;\r\n secondBankObj.documentCategoryId =\r\n isSecondBankDocument[0].DocumentCategoryId;\r\n setSecondBankObj(secondBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isSecondBankDocument[0].FileName,\r\n isSecondBankDocument[0].UploadedDocPath\r\n );\r\n let secondBankDetails: any = {};\r\n secondBankDetails.BankName = isSecondBankDocument[0].BankName;\r\n secondBankDetails.AccountType = isSecondBankDocument[0].AccountType;\r\n setSecondBankDetails(secondBankDetails);\r\n }\r\n\r\n if (isThirdBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isThirdBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultThirdBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isThirdBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultThirdBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n thirdBankObj.id = \"thirdBankDoc\";\r\n thirdBankObj.disable = false;\r\n thirdBankObj.uploadPer = 100;\r\n thirdBankObj.fileName = `${GlobalStore.applicationID}_Third Bank`;\r\n thirdBankObj.showFile = false;\r\n thirdBankObj.hideProgress = false;\r\n thirdBankObj.documentId = isThirdBankDocument[0].DocumentId;\r\n thirdBankObj.mimeType = isThirdBankDocument[0].MimeType;\r\n thirdBankObj.documentcategory = isThirdBankDocument[0].DocumentCategory;\r\n thirdBankObj.documentCategoryId =\r\n isThirdBankDocument[0].DocumentCategoryId;\r\n setThirdBankObj(thirdBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isThirdBankDocument[0].FileName,\r\n isThirdBankDocument[0].UploadedDocPath\r\n );\r\n let thirdBankDetails: any = {};\r\n thirdBankDetails.BankName = isThirdBankDocument[0].BankName;\r\n thirdBankDetails.AccountType = isThirdBankDocument[0].AccountType;\r\n setThirdBankDetails(thirdBankDetails);\r\n }\r\n\r\n if (isFourthBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFourthBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFourthBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFourthBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFourthBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n fourthBankObj.id = \"fourthBankDoc\";\r\n fourthBankObj.disable = false;\r\n fourthBankObj.uploadPer = 100;\r\n fourthBankObj.fileName = `${GlobalStore.applicationID}_Fourth Bank`;\r\n fourthBankObj.showFile = false;\r\n fourthBankObj.hideProgress = false;\r\n fourthBankObj.documentId = isFourthBankDocument[0].DocumentId;\r\n fourthBankObj.mimeType = isFourthBankDocument[0].MimeType;\r\n fourthBankObj.documentcategory =\r\n isFourthBankDocument[0].DocumentCategory;\r\n fourthBankObj.documentCategoryId =\r\n isFourthBankDocument[0].DocumentCategoryId;\r\n setFourthBankObj(fourthBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFourthBankDocument[0].FileName,\r\n isFourthBankDocument[0].UploadedDocPath\r\n );\r\n let fourthBankDetails: any = {};\r\n fourthBankDetails.BankName = isFourthBankDocument[0].BankName;\r\n fourthBankDetails.AccountType = isFourthBankDocument[0].AccountType;\r\n setFourthBankDetails(fourthBankDetails);\r\n }\r\n\r\n if (isFifthBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFifthBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFifthBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFifthBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFifthBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n fifthBankObj.id = \"fifthBankDoc\";\r\n fifthBankObj.disable = false;\r\n fifthBankObj.uploadPer = 100;\r\n fifthBankObj.fileName = `${GlobalStore.applicationID}_Fifth Bank`;\r\n fifthBankObj.showFile = false;\r\n fifthBankObj.hideProgress = false;\r\n fifthBankObj.documentId = isFifthBankDocument[0].DocumentId;\r\n fifthBankObj.mimeType = isFifthBankDocument[0].MimeType;\r\n fifthBankObj.documentcategory = isFifthBankDocument[0].DocumentCategory;\r\n fifthBankObj.documentCategoryId =\r\n isFifthBankDocument[0].DocumentCategoryId;\r\n setFifthBankObj(fifthBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFifthBankDocument[0].FileName,\r\n isFifthBankDocument[0].UploadedDocPath\r\n );\r\n let fifthBankDetails: any = {};\r\n fifthBankDetails.BankName = isFifthBankDocument[0].BankName;\r\n fifthBankDetails.AccountType = isFifthBankDocument[0].AccountType;\r\n setFifthBankDetails(fifthBankDetails);\r\n }\r\n\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n setDefaultPermAddressProof(true);\r\n if (isPermAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultAddress(\"Aadhaar Card\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultAddress(\"Passport\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultAddress(\"Voter ID\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n\r\n permAddressObj.id = \"permAddress\";\r\n permAddressObj.disable = blockAadhar;\r\n permAddressObj.uploadPer = 100;\r\n permAddressObj.fileName = `${GlobalStore.applicationID}_Permanent Address`;\r\n permAddressObj.showFile = false;\r\n permAddressObj.hideProgress = false;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n permAddressObj.documentcategory =\r\n isPermAddressProof[0].DocumentCategory;\r\n permAddressObj.documentId = isPermAddressProof[0].DocumentId;\r\n permAddressObj.mimeType = isPermAddressProof[0].MimeType;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressObj);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isCorrAddressProof.length > 0) {\r\n setIsLoading(true);\r\n if (isCorrAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultCorrAddress(\"Aadhaar Card\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultCorrAddress(\"Passport\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultCorrAddress(\"Voter ID\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n\r\n corrAddressObj.id = \"corrAddress\";\r\n corrAddressObj.disable = false;\r\n corrAddressObj.uploadPer = 100;\r\n corrAddressObj.fileName = `${GlobalStore.applicationID}_Corrospondance Address`;\r\n corrAddressObj.showFile = false;\r\n corrAddressObj.hideProgress = false;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n corrAddressObj.documentcategory =\r\n isCorrAddressProof[0].DocumentCategory;\r\n corrAddressObj.documentId = isCorrAddressProof[0].DocumentId;\r\n corrAddressObj.mimeType = isCorrAddressProof[0].MimeType;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressObj);\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n console.log(\"isSignature\", isSignature);\r\n if (isSignature.length > 0) {\r\n setIsLoading(true);\r\n signatureObj.id = \"signature\";\r\n signatureObj.disable = false;\r\n signatureObj.uploadPer = 100;\r\n signatureObj.fileName = `${GlobalStore.applicationID}_Signature`;\r\n signatureObj.showFile = false;\r\n signatureObj.hideProgress = false;\r\n signatureObj.mimeType = isSignature[0].MimeType;\r\n signatureObj.documentCategoryId = isSignature[0].DocumentCategoryId;\r\n signatureObj.documentId = isSignature[0].DocumentId;\r\n setSignatureObj(signatureObj);\r\n ADownloadDocument(\r\n getSignatureImage,\r\n isSignature[0].FileName,\r\n isSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isIncomeProof.length > 0) {\r\n setIsLoading(true);\r\n if (isIncomeProof[0].DocumentName === \"Form 16\") {\r\n setDefaultIncomeDoc(\"Form 16\");\r\n } else if (isIncomeProof[0].DocumentName === \"Salary Slip\") {\r\n setDefaultIncomeDoc(\"Salary Slip\");\r\n } else if (isIncomeProof[0].DocumentName === \"ITR Acknowledgement\") {\r\n setDefaultIncomeDoc(\"ITR Acknowledgement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Bank Statement\") {\r\n setDefaultIncomeDoc(\"Bank Statement\");\r\n } else if (\r\n isIncomeProof[0].DocumentName === \"Demat Holding Statement\"\r\n ) {\r\n setDefaultIncomeDoc(\"Demat Holding Statement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Networth Certificate\") {\r\n setDefaultIncomeDoc(\"Networth Certificate\");\r\n }\r\n\r\n incomeObj.id = \"incomeDoc\";\r\n incomeObj.disable = false;\r\n incomeObj.uploadPer = 100;\r\n incomeObj.fileName = `${GlobalStore.applicationID}_Income`;\r\n incomeObj.showFile = false;\r\n incomeObj.hideProgress = false;\r\n incomeObj.mimeType = isIncomeProof[0].MimeType;\r\n incomeObj.documentId = isIncomeProof[0].DocumentId;\r\n incomeObj.documentCategoryId = isIncomeProof[0].DocumentCategoryId;\r\n setIncomeObj(incomeObj);\r\n ADownloadDocument(\r\n getIncomeImage,\r\n isIncomeProof[0].FileName,\r\n isIncomeProof[0].UploadedDocPath\r\n );\r\n }\r\n } else {\r\n setPanObj(panObj);\r\n setFirstBankObj(firstBankObj);\r\n setPermAddressObj(permAddressObj);\r\n setCorrAddressObj(corrAddressObj);\r\n setSignatureObj(signatureObj);\r\n setIncomeObj(incomeObj);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124-S\" });\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n // NomineeSecondImage\r\n const NomineeFirstImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(res.data.base64document, nomineeFirstObj[0]);\r\n let imageOBJ = [...nomineeFirstObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeFirstObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(res.data.base64document, nomineeFirstObj[1]);\r\n let imageOBJ = [...nomineeFirstObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeFirstObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const NomineeSecondImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n nomineeSecondObj[0]\r\n );\r\n let imageOBJ = [...nomineeSecondObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeSecondObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n nomineeSecondObj[1]\r\n );\r\n let imageOBJ = [...nomineeSecondObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeSecondObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const NomineeThirdImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(res.data.base64document, nomineeThirdObj[0]);\r\n let imageOBJ = [...nomineeThirdObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeThirdObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(res.data.base64document, nomineeThirdObj[1]);\r\n let imageOBJ = [...nomineeThirdObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeThirdObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const GuardianFirstImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianFirstObj[0]\r\n );\r\n let imageOBJ = [...guardianFirstObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianFirstObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianFirstObj[1]\r\n );\r\n let imageOBJ = [...guardianFirstObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianFirstObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const GuardianSecondImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianSecondObj[0]\r\n );\r\n let imageOBJ = [...guardianSecondObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianSecondObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianSecondObj[1]\r\n );\r\n let imageOBJ = [...guardianSecondObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianSecondObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const GuardianThirdImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianThirdObj[0]\r\n );\r\n let imageOBJ = [...guardianThirdObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianThirdObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianThirdObj[1]\r\n );\r\n let imageOBJ = [...guardianThirdObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianThirdObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const getPhotoImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR126\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setPhotoBase64(res.data.base64document);\r\n const base64 = getbase64(res.data.base64document, photoObj);\r\n let imageOBJ = { ...photoObj };\r\n imageOBJ.imgUrl = base64;\r\n setPhotoObj(imageOBJ);\r\n console.log(\"setPhotoObj\", photoObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR126-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getPanImage = (res: any) => {\r\n console.log(\"getPanImage called\", res);\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR127\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setPanBase64(res.data.base64document);\r\n setPanButDisable(false);\r\n const base64 = getbase64(res.data.base64document, panObj);\r\n panObj.imgUrl = base64;\r\n panObj.imgUrl = base64;\r\n setPanObj(panObj);\r\n console.log(\"getPanImage base64\", panObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR127-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getBankImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR128\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, firstBankObj);\r\n firstBankObj.imgUrl = base64;\r\n setFirstBankObj(firstBankObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR128-S\",\r\n });\r\n }\r\n }\r\n };\r\n const getAddressImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, permAddressObj);\r\n permAddressObj.imgUrl = base64;\r\n permAddressObj.base64 = base64!.split(\",\")[1];\r\n\r\n setPermAddressObj(permAddressObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getCorrAddressImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, corrAddressObj);\r\n corrAddressObj.imgUrl = base64;\r\n setCorrAddressObj(corrAddressObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getSignatureImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR131\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, signatureObj);\r\n signatureObj.imgUrl = base64;\r\n setSignatureObj(signatureObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR131-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getIncomeImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR132\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, incomeObj);\r\n incomeObj.imgUrl = base64;\r\n setIncomeObj(incomeObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR132-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getPendingDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR122\" });\r\n } else {\r\n if (res.data) {\r\n const penDoc = JSON.parse(res.data);\r\n const isPhotoPending = penDoc.filter(\r\n // prev api response\r\n // (x: any) => x.documentcategory === \"Photograph\"\r\n (x: any) =>\r\n x.DocumentCategory == \"Photograph\" &&\r\n x.DocumentCategoryId == DocumentCategoryIdForphotographId\r\n );\r\n const isCorrPending = penDoc.filter(\r\n // (x: any) => x.documentcategory === \"Address Proof Correspondence\"\r\n (x: any) => x.DocumentCategory == \"Address Proof Correspondence\"\r\n );\r\n\r\n const firstBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 9\r\n );\r\n const secondBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 60\r\n );\r\n const thirdBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 61\r\n );\r\n const fourthBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 70\r\n );\r\n const fifthBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 71\r\n );\r\n console.log(firstBankDetails);\r\n setFirstBankDetails(firstBankDetails[0]);\r\n console.log(secondBankDetails);\r\n setSecondBankDetails(secondBankDetails[0]);\r\n console.log(thirdBankDetails);\r\n setThirdBankDetails(thirdBankDetails[0]);\r\n console.log(fourthBankDetails);\r\n setFourthBankDetails(fourthBankDetails[0]);\r\n console.log(fifthBankDetails);\r\n setFifthBankDetails(fifthBankDetails[0]);\r\n\r\n if (isCorrPending.length > 0) {\r\n setShowCorr(true);\r\n }\r\n if (isPhotoPending.length === 0) {\r\n setIsPhotoPendingFlag(true);\r\n videoRefElement.current!.hidden = true;\r\n uploadedPhotoRefElement.current!.hidden = false;\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n setShowRetake(true);\r\n } else {\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n turnOnCamera();\r\n }\r\n if (penDoc.length > 0) {\r\n if (penDoc[0].Count === 0 && signatureObj.iscropped === true) {\r\n // const sendDataObjForQC = {\r\n // \"applicationid\": GlobalStore.applicationID\r\n // }\r\n // ASendApplicationForQC(postQCData, sendDataObjForQC);\r\n } else {\r\n // const appTicketObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // stageinfoid: 6,\r\n // };\r\n // AcreateApplicationTicket(applicationTicketforDocuments, appTicketObj);\r\n }\r\n }\r\n const mandPenDoc = penDoc.filter(\r\n (x: any) =>\r\n // x.mandatory === true && x.documentcategory !== \"Photograph\"\r\n (x.Mandatory === true && x.DocumentCategory === \"Photograph\") ||\r\n (x.Mandatory === true && x.DocumentCategory === \"Signature\")\r\n );\r\n\r\n setPendingDocObj(\r\n mandPenDoc.filter(\r\n (y: any) => y.DocumentCategory !== \"In Person Verification\"\r\n )\r\n );\r\n if (GlobalStore.isDigiLocker) {\r\n setPendingDocObj(\r\n mandPenDoc.filter(\r\n (y: any) => y.DocumentCategory !== \"Address Proof Permanent\"\r\n )\r\n );\r\n }\r\n } else {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR122-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const applicationTicketforDocuments = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(148);\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n console.log(res.data);\r\n }\r\n };\r\n\r\n const capturePhoto = () => {\r\n if (location !== \"\" || location !== undefined) {\r\n setIsLoading(true);\r\n setIsNewPhoto(true);\r\n setShowRetake(true);\r\n showPhotoPreview(true);\r\n let canvasPic: HTMLCanvasElement = document.getElementById(\r\n \"capture\"\r\n ) as HTMLCanvasElement;\r\n let videoPic: HTMLVideoElement = document.getElementById(\r\n \"videoPersonal\"\r\n ) as HTMLVideoElement;\r\n captureScreenShot(canvasPic, videoPic, getscreenShotURL);\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n } else {\r\n setBrowserPermission(false);\r\n }\r\n };\r\n\r\n function captureScreenShot(\r\n canvas: HTMLCanvasElement,\r\n video: HTMLVideoElement,\r\n callback: CallableFunction\r\n ) {\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n canvas\r\n .getContext(\"2d\")!\r\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n canvas.toBlob((blob) => {\r\n callback(blob);\r\n });\r\n }\r\n\r\n const retakePhoto = () => {\r\n if (location !== \"\" || location !== undefined) {\r\n setIsNewPhoto(false);\r\n turnOnCamera();\r\n showPhotoPreview(false);\r\n setShowRetake(false);\r\n setIsPhotoPendingFlag(false);\r\n videoRefElement.current!.hidden = false;\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n } else {\r\n setBrowserPermission(false);\r\n }\r\n };\r\n\r\n const getscreenShotURL = async (blob: Blob) => {\r\n const new_File = new File([blob as BlobPart], \"personalPhoto.jpeg\", {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size < 1000) {\r\n alert(\"video size should be greater than 1KB. Please upload it again\");\r\n return false;\r\n }\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n let base64 = (e.target && e.target.result)?.toString();\r\n photoObj.imgUrl = \"\";\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(base64!.split(\",\")[1]);\r\n if (base64?.toString()) {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: base64!.split(\",\")[1],\r\n filename: new_File.name,\r\n };\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n base64!.split(\",\")[1],\r\n GlobalStore.leadId\r\n );\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, new_File.name),\r\n uploadObj\r\n );\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n // geo_location: location,\r\n latitude: location.lat,\r\n longitude: location.long,\r\n ipaddress: \"192.168.200.80\",\r\n };\r\n ASaveIPVerificationDetails((res: any) => iPVerificationSaved(res, ipvObj),ipvObj);\r\n }\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n };\r\n\r\n const iPVerificationSaved = async (res: any, ipvObj: any) => {\r\n console.log(\"CALLEDDDDD\");\r\n if (!res || res.error) {\r\n //setErrCode('Error in saving geo-location details');\r\n //setIsLoading(false);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR143\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR143-S\",\r\n });\r\n }\r\n };\r\n const getExtractPhotoLiveness = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setPhotoErrorMsg(\"\");\r\n setLoaderSign(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n setIsLoading(false);\r\n gtmService({ action: \"checkPhotoLiveness\", label: \"ERROR || ERR998\" });\r\n } else {\r\n if (res.data && res.data.IsLive) {\r\n setPhotoErrorMsg(res.data.Message);\r\n liveLocationCheck.checkPhotoLiveness = false;\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: false,\r\n });\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n setPhotoErrorMsg(res.data.Message);\r\n // if (errCode !== res.data.Message)\r\n // setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n };\r\n const getFetchResponse = (res: any, fileName: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR139\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n console.log(\"getFetchResponse\", res.data);\r\n setIsLoading(false);\r\n photoObj.fileName = res.data.Guid;\r\n photoObj.mimeType = res.data.Guid.split(\".\")[1];\r\n if (photoBase64 !== undefined && panBase64 !== undefined) {\r\n // setErrCode(errCode);\r\n }\r\n } else {\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR139-S\",\r\n });\r\n }\r\n }\r\n };\r\n function onRemove(doc: any, docType: string) {\r\n if (docType === \"panObj\") {\r\n console.log(\"pan64 call\");\r\n setPanBase64(\"\");\r\n setPanButDisable(true);\r\n } else if (docType === \"permAddressObj\") {\r\n console.log(\"perm call\");\r\n permAddressObj.base64 = \"\";\r\n permAddressObj.imgUrl = \"\";\r\n setPermAddressObj(permAddressObj);\r\n setPermAddButDisable(true);\r\n }\r\n }\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n // console.log(\"current panObj\", panObj);\r\n console.log(\"Response from Browse document val\", val);\r\n // console.log(\"Response from Browse document val\", fileName);\r\n // console.log(\"Response from Browse document val\", id);\r\n // console.log(\"Response from Browse document val\", type);\r\n setIsLoading(true);\r\n panObj.imgUrl = \"\";\r\n setPanObj(panObj);\r\n setPanBase64(val!.split(\",\")[1]);\r\n setPanButDisable(false);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFirstBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n firstBankObj.imgUrl = \"\";\r\n setFirstBankObj(firstBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onSecondBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n secondBankObj.imgUrl = \"\";\r\n setSecondBankObj(secondBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onThirdBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n thirdBankObj.imgUrl = \"\";\r\n setThirdBankObj(thirdBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFourthBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n fourthBankObj.imgUrl = \"\";\r\n setFourthBankObj(fourthBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFifthBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n fifthBankObj.imgUrl = \"\";\r\n setFifthBankObj(fifthBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFirstPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permAddressObj.imgUrl = val;\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n setPermAddressObj(permAddressObj);\r\n console.log(permAddressObj, \"==>PERM-ADD-OBJ\");\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n // permAddressObj.base64 = val!.split(',')[1];\r\n // permAddressObj.fileName = fileName;\r\n\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setSecondDoc(true);\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n }\r\n }\r\n\r\n function onFirstCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n setCorrAddressObj(corrAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && corrAddressObj.documentId !== 133) {\r\n setCorrSecondDoc(true);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrSecondAddressObj.imgUrl = \"\";\r\n corrSecondAddressObj.fileName = fileName;\r\n corrSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.documentId !== 133\r\n ) {\r\n setCorrSecondDoc(true);\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: corrSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n }\r\n\r\n const maskedAadhar = (\r\n res: any,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Aadhar number masking failed\");\r\n setIsLoading(false);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR138\" });\r\n if (res.data.error) {\r\n setErrCode(errCode + \"Aadhar Masking failed: \" + res.error);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n } else if (res.data) {\r\n if (res.data.error) {\r\n setErrCode(errCode + \"Aadhar Masking failed: \" + res.error);\r\n setIsLoading(false);\r\n } else {\r\n // Masking API returns only JPG images, even if input is PDF.\r\n let uploadObj: uploadDocObj;\r\n if (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permAddressObj.base64 = res.data.result.base64_image;\r\n permAddressObj.mimeType = \"image/jpeg\";\r\n permAddressObj.fileName =\r\n permAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermAddressObj(permAddressObj);\r\n setPermAddButDisable(false);\r\n }\r\n\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n };\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permSecondAddressObj.base64 = res.data.result.base64_image;\r\n permSecondAddressObj.mimeType = \"image/jpeg\";\r\n permSecondAddressObj.fileName =\r\n permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n };\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n corrAddressObj.base64 = res.data.result.base64_image;\r\n corrAddressObj.mimeType = \"image/jpeg\";\r\n corrAddressObj.fileName =\r\n corrAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrAddressObj(corrAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n };\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n corrSecondAddressObj.base64 = res.data.result.base64_image;\r\n corrSecondAddressObj.mimeType = \"image/jpeg\";\r\n corrSecondAddressObj.fileName =\r\n corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n };\r\n }\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, uploadObj.base64document, uploadObj.filename),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n gtmService({\r\n action: \"ExtractDocumentData\",\r\n label: \"ERROR || ERR138-S\",\r\n });\r\n }\r\n };\r\n\r\n const getPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(137);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR136\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setAddressName(res.data.Guid);\r\n permAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR136-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getCorrPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(137);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setCorrAddressName(res.data.Guid);\r\n corrAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137-S\",\r\n });\r\n }\r\n }\r\n };\r\n function onNomineeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string,\r\n index: number\r\n ) {\r\n switch (id) {\r\n case \"nomFirstPhotoId\":\r\n console.log(\"filename:\", fileName);\r\n let fnpext = fileName.split(\".\").pop();\r\n console.log(\"extension:\", fnpext);\r\n let fnpnewfileName = \"firstNominee_Photo.\" + fnpext;\r\n console.log(\"newfileName:\", fnpnewfileName);\r\n let nomFirstPhotCopy = [...nomineeFirstObj];\r\n nomFirstPhotCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId.toString();\r\n nomFirstPhotCopy[0].documentId =\r\n nomineeDocsIds.nomineeOne.photo.documentId;\r\n nomFirstPhotCopy[0].documentcategory = \"Photograph\";\r\n nomFirstPhotCopy[0].imgUrl = val;\r\n setNomineeFirstObj(nomFirstPhotCopy);\r\n let nomFirstPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fnpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomFirstSignature\":\r\n let fnsext = fileName.split(\".\").pop();\r\n let fnsnewfileName = \"firstNominee_Signature.\" + fnsext;\r\n let nomFirstSignatureCopy = [...nomineeFirstObj];\r\n nomFirstSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId.toString();\r\n nomFirstSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeOne.signature.documentId;\r\n nomFirstSignatureCopy[1].documentcategory = \"Signature\";\r\n nomFirstSignatureCopy[1].imgUrl = val;\r\n setNomineeFirstObj(nomFirstSignatureCopy);\r\n let nomFirstSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fnsnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomSecondPhotoId\":\r\n let snpext = fileName.split(\".\").pop();\r\n let snpnewfileName = \"secondNominee_Photo.\" + snpext;\r\n let nomSecondPhotoCopy = [...nomineeSecondObj];\r\n nomSecondPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId.toString();\r\n nomSecondPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeTwo.photo.documentId;\r\n nomSecondPhotoCopy[0].documentcategory = \"Photograph\";\r\n nomSecondPhotoCopy[0].imgUrl = val;\r\n setNomineeSecondObj(nomSecondPhotoCopy);\r\n let nomSecondPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: snpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomSecondSignature\":\r\n let nssext = fileName.split(\".\").pop();\r\n let nssnewfileName = \"secondNominee_Signature.\" + nssext;\r\n let nomSecondSignatureCopy = [...nomineeSecondObj];\r\n nomSecondSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId.toString();\r\n nomSecondSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeTwo.signature.documentId;\r\n nomSecondSignatureCopy[1].documentcategory = \"Signature\";\r\n nomSecondSignatureCopy[1].imgUrl = val;\r\n setNomineeSecondObj(nomSecondSignatureCopy);\r\n let nomSecondSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: nssnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomThirdPhotoId\":\r\n let ntpext = fileName.split(\".\").pop();\r\n let ntpnewfileName = \"thirdNominee_Photo.\" + ntpext;\r\n let nomThirdPhotoCopy = [...nomineeThirdObj];\r\n nomThirdPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId.toString();\r\n nomThirdPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeThree.photo.documentId;\r\n nomThirdPhotoCopy[0].documentcategory = \"Photograph\";\r\n nomThirdPhotoCopy[0].imgUrl = val;\r\n setNomineeThirdObj(nomThirdPhotoCopy);\r\n let nomThirdPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: ntpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomThirdSignature\":\r\n let ntsext = fileName.split(\".\").pop();\r\n let ntsnewfileName = \"thirdNominee_Signature.\" + ntsext;\r\n let nomThirdSignatureCopy = [...nomineeThirdObj];\r\n nomThirdSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId.toString();\r\n nomThirdSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeThree.signature.documentId;\r\n nomThirdSignatureCopy[1].documentcategory = \"Signature\";\r\n nomThirdSignatureCopy[1].imgUrl = val;\r\n setNomineeThirdObj(nomThirdSignatureCopy);\r\n let nomThirdSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: ntsnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n\r\n case \"guardianFirstPhotoId\":\r\n let guardFirstPhotoCopy = [...guardianFirstObj];\r\n guardFirstPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId.toString();\r\n guardFirstPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId;\r\n guardFirstPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardFirstPhotoCopy[0].imgUrl = val;\r\n setGuardianFirstObj(guardFirstPhotoCopy);\r\n let guardianFirstPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianFirstSignature\":\r\n let guardFirstSignatureCopy = [...guardianFirstObj];\r\n guardFirstSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId.toString();\r\n guardFirstSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId;\r\n guardFirstSignatureCopy[1].documentcategory = \"Signature\";\r\n guardFirstSignatureCopy[1].imgUrl = val;\r\n setGuardianFirstObj(guardFirstSignatureCopy);\r\n let guardianFirstSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianSecondPhotoId\":\r\n let guardSecondPhotoCopy = [...guardianSecondObj];\r\n guardSecondPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId.toString();\r\n guardSecondPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId;\r\n guardSecondPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardSecondPhotoCopy[0].imgUrl = val;\r\n setGuardianSecondObj(guardSecondPhotoCopy);\r\n let guardianSecondPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianSecondSignature\":\r\n let guardSecondSignatureCopy = [...guardianSecondObj];\r\n guardSecondSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId.toString();\r\n guardSecondSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId;\r\n guardSecondSignatureCopy[1].documentcategory = \"Signature\";\r\n guardSecondSignatureCopy[1].imgUrl = val;\r\n setGuardianSecondObj(guardSecondSignatureCopy);\r\n let guardianSecondSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianThirdPhotoId\":\r\n let guardThirdPhotoCopy = [...guardianThirdObj];\r\n guardThirdPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId.toString();\r\n guardThirdPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId;\r\n guardThirdPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardThirdPhotoCopy[0].imgUrl = val;\r\n setGuardianThirdObj(guardThirdPhotoCopy);\r\n let guardianThirdPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianThirdSignature\":\r\n let guardThirdSignatureCopy = [...guardianThirdObj];\r\n guardThirdSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId.toString();\r\n guardThirdSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId;\r\n guardThirdSignatureCopy[1].documentcategory = \"Signature\";\r\n guardThirdSignatureCopy[1].imgUrl = val;\r\n setGuardianThirdObj(guardThirdSignatureCopy);\r\n let guardianThirdSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function handleRemoveDoc(index: number, id: string, docObj: any) {\r\n switch (id) {\r\n case \"nomFirstPhotoId\":\r\n let nomFirstPhotCopy = [...nomineeFirstObj];\r\n nomFirstPhotCopy[0].imgUrl = \"\";\r\n nomFirstPhotCopy[0].fileName = \"\";\r\n setNomineeFirstObj(nomFirstPhotCopy);\r\n break;\r\n case \"nomFirstSignature\":\r\n let nomFirstSignatureCopy = [...nomineeFirstObj];\r\n nomFirstSignatureCopy[1].imgUrl = \"\";\r\n nomFirstSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeFirstObj(nomFirstSignatureCopy);\r\n break;\r\n case \"nomSecondPhotoId\":\r\n let nomSecondPhotoCopy = [...nomineeSecondObj];\r\n nomSecondPhotoCopy[0].imgUrl = \"\";\r\n nomSecondPhotoCopy[0].fileName = \"\";\r\n\r\n setNomineeSecondObj(nomSecondPhotoCopy);\r\n break;\r\n case \"nomSecondSignature\":\r\n let nomSecondSignatureCopy = [...nomineeSecondObj];\r\n nomSecondSignatureCopy[1].imgUrl = \"\";\r\n nomSecondSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeSecondObj(nomSecondSignatureCopy);\r\n break;\r\n case \"nomThirdPhotoId\":\r\n let nomThirdPhotoCopy = [...nomineeThirdObj];\r\n\r\n nomThirdPhotoCopy[0].imgUrl = \"\";\r\n nomThirdPhotoCopy[0].fileName = \"\";\r\n\r\n setNomineeThirdObj(nomThirdPhotoCopy);\r\n break;\r\n case \"nomThirdSignature\":\r\n let nomThirdSignatureCopy = [...nomineeThirdObj];\r\n nomThirdSignatureCopy[1].documentCategoryId =\r\n nomThirdSignatureCopy[1].imgUrl = \"\";\r\n nomThirdSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeThirdObj(nomThirdSignatureCopy);\r\n break;\r\n case \"guardianFirstPhotoId\":\r\n let guardFirstPhotoCopy = [...guardianFirstObj];\r\n guardFirstPhotoCopy[0].imgUrl = \"\";\r\n guardFirstPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianFirstObj(guardFirstPhotoCopy);\r\n break;\r\n case \"guardianFirstSignature\":\r\n let guardFirstSignatureCopy = [...guardianFirstObj];\r\n guardFirstSignatureCopy[1].imgUrl = \"\";\r\n guardFirstSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianFirstObj(guardFirstSignatureCopy);\r\n break;\r\n case \"guardianSecondPhotoId\":\r\n let guardSecondPhotoCopy = [...guardianSecondObj];\r\n guardSecondPhotoCopy[0].imgUrl = \"\";\r\n guardSecondPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianSecondObj(guardSecondPhotoCopy);\r\n break;\r\n case \"guardianSecondSignature\":\r\n let guardSecondSignatureCopy = [...guardianSecondObj];\r\n guardSecondSignatureCopy[1].imgUrl = \"\";\r\n guardSecondSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianSecondObj(guardSecondSignatureCopy);\r\n break;\r\n case \"guardianThirdPhotoId\":\r\n let guardThirdPhotoCopy = [...guardianThirdObj];\r\n guardThirdPhotoCopy[0].imgUrl = \"\";\r\n guardThirdPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianThirdObj(guardThirdPhotoCopy);\r\n break;\r\n case \"guardianThirdSignature\":\r\n let guardThirdSignatureCopy = [...guardianThirdObj];\r\n guardThirdSignatureCopy[1].imgUrl = \"\";\r\n guardThirdSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianThirdObj(guardThirdSignatureCopy);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n function onSignatureUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n console.log(\"onSignatureUploadComplete\", val);\r\n setIsLoading(true);\r\n signatureObj.imgUrl = \"\";\r\n setSignatureObj(signatureObj);\r\n let fileNameCheck = fileName.includes(\".\") ? true : false;\r\n let typeCreater = type.includes(\"/\") ? type.split(\"/\")[1] : type;\r\n\r\n if (signatureObj.base64 !== (undefined || \"\")) {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: signatureObj.base64!.split(\",\")[1],\r\n filename: fileNameCheck\r\n ? `${GlobalStore.applicationID}_Signature.${typeCreater}`\r\n : `${GlobalStore.applicationID}_Signature}.${typeCreater}`,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: `${GlobalStore.applicationID}_Signature.${\r\n type!.split(\"/\")[1]\r\n }`,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n\r\n function onIncomeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n incomeObj.imgUrl = \"\";\r\n setIncomeObj(incomeObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function handErrorForFileUpload(id: string, res: any) {\r\n if (id === \"firstBankDoc\") {\r\n setFirstBankListError(res.error);\r\n }\r\n if (id === \"secondBankDoc\") {\r\n setSecondBankListError(res.error);\r\n }\r\n if (id === \"thirdBankDoc\") {\r\n setThirdBankListError(res.error);\r\n }\r\n if (id === \"fourthBankDoc\") {\r\n setFourthBankListError(res.error);\r\n }\r\n if (id === \"fifthBankDoc\") {\r\n setFifthBankListError(res.error);\r\n }\r\n if (id === \"permAddress\") {\r\n setPermAddListError(res.error);\r\n }\r\n if (id === \"corrAddress\") {\r\n setCorrAddListError(res.error);\r\n }\r\n if (id === \"signature\") {\r\n setSignatureListError(res.error);\r\n }\r\n if (id === \"incomeDoc\") {\r\n setIncomeListError(res.error);\r\n }\r\n if (id === \"permSecondAddress\") {\r\n setSecondDocError(res.error);\r\n }\r\n if (id === \"corrSecondAddress\") {\r\n setCorrSecondDocError(res.error);\r\n }\r\n\r\n if (id === \"nomFirstPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomFirstSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstSignature: res.error,\r\n });\r\n }\r\n if (id === \"nomSecondPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomSecondSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondSignature: res.error,\r\n });\r\n }\r\n if (id === \"nomThirdPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomThirdSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianFirstPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianFirstSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianSecondPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianSecondSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianThirdPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianThirdSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdSignature: res.error,\r\n });\r\n }\r\n }\r\n\r\n const getUploadRes = (res: any, id: string, val: any, fileName: string) => {\r\n if (!res || res.error) {\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n setIsLoading(false);\r\n // setErrCode(\"1361- Error in uploading the file.\");\\\r\n handErrorForFileUpload(id, res);\r\n console.log(res, \"ERRCODE\");\r\n if (!res?.errorCode?.includes(\"C11BE292\")) {\r\n console.log(\"here ERRCODE\", typeof res.errorCode);\r\n setErrCode(errCode + res.error);\r\n }\r\n } else {\r\n if (res.data) {\r\n setErrCode(errCode);\r\n if (id === \"panCard\") {\r\n setIsLoading(true);\r\n setIsNewPan(true);\r\n setPanName(res.data.Guid);\r\n panObj.documentId = panDocumentId;\r\n const panOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"PAN Card\",\r\n documentid: panObj.documentId,\r\n source: DIY,\r\n };\r\n\r\n AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n if (photoBase64 !== undefined && panBase64 !== undefined) {\r\n setErrCode(errCode);\r\n }\r\n } else if (id === \"firstBankDoc\") {\r\n setIsLoading(false);\r\n setFirstBankListError(\"\");\r\n setIsNewFirstBank(true);\r\n setFirstBankName(res.data.Guid);\r\n\r\n const firstBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: firstBankObj.documentcategory,\r\n documentid: firstBankObj.documentId,\r\n source: DIY,\r\n bankName: firstBankDetails.BankName,\r\n accountType: firstBankDetails.AccountType,\r\n };\r\n if (firstBankObj.documentId === firstChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, firstBankOCR),\r\n firstBankOCR\r\n );\r\n } else if (firstBankObj.documentId === firstBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, firstBankOCR),\r\n firstBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"secondBankDoc\") {\r\n setIsLoading(false);\r\n setSecondBankListError(\"\");\r\n setIsNewSecondBank(true);\r\n setSecondBankName(res.data.Guid);\r\n\r\n const secondBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: secondBankObj.documentcategory,\r\n documentid: secondBankObj.documentId,\r\n source: DIY,\r\n bankName: secondBankDetails.BankName,\r\n accountType: secondBankDetails.AccountType,\r\n };\r\n if (secondBankObj.documentId === secondChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, secondBankOCR),\r\n secondBankOCR\r\n );\r\n } else if (\r\n secondBankObj.documentId === secondBankStatementDocumnetId\r\n ) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, secondBankOCR),\r\n secondBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"thirdBankDoc\") {\r\n setIsLoading(false);\r\n setThirdBankListError(\"\");\r\n setIsNewThirdBank(true);\r\n setThirdBankName(res.data.Guid);\r\n\r\n const thirdBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: thirdBankObj.documentcategory,\r\n documentid: thirdBankObj.documentId,\r\n source: DIY,\r\n bankName: thirdBankDetails.BankName,\r\n accountType: thirdBankDetails.AccountType,\r\n };\r\n if (thirdBankObj.documentId === thirdChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, thirdBankOCR),\r\n thirdBankOCR\r\n );\r\n } else if (thirdBankObj.documentId === thirdBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, thirdBankOCR),\r\n thirdBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"fourthBankDoc\") {\r\n setIsLoading(false);\r\n setFourthBankListError(\"\");\r\n setIsNewFourthBank(true);\r\n setFourthBankName(res.data.Guid);\r\n const fourthBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: fourthBankObj.documentcategory,\r\n documentid: fourthBankObj.documentId,\r\n source: DIY,\r\n bankName: fourthBankDetails.BankName,\r\n accountType: fourthBankDetails.AccountType,\r\n };\r\n if (fourthBankObj.documentId === fourthChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, fourthBankOCR),\r\n fourthBankOCR\r\n );\r\n } else if (\r\n fourthBankObj.documentId === fourthBankStatementDocumnetId\r\n ) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, fourthBankOCR),\r\n fourthBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"fifthBankDoc\") {\r\n setIsLoading(false);\r\n setFifthBankListError(\"\");\r\n setIsNewFifthBank(true);\r\n setFifthBankName(res.data.Guid);\r\n const fifthBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: fifthBankObj.documentcategory,\r\n documentid: fifthBankObj.documentId,\r\n source: DIY,\r\n bankName: fifthBankDetails.BankName,\r\n accountType: fifthBankDetails.AccountType,\r\n };\r\n if (fifthBankObj.documentId === fifthChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, fifthBankOCR),\r\n fifthBankOCR\r\n );\r\n } else if (fifthBankObj.documentId === fifthBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, fifthBankOCR),\r\n fifthBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n const aadharOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, aadharOCR),\r\n aadharOCR\r\n );\r\n } else setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setSecondDocError(\"\");\r\n setIsLoading(true);\r\n setIsNewPermAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: permAddressObj.base64,\r\n image2: permSecondAddressObj.base64,\r\n imagename1: permAddressObj.fileName,\r\n imagename2: permSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getPDFData, uploadImageObj);\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n setCorrAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n const aadharOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, aadharOCR),\r\n aadharOCR\r\n );\r\n } else setIsLoading(false);\r\n } else if (\r\n id === \"corrAddress\" &&\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.base64 !== undefined\r\n ) {\r\n setIsLoading(true);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(true);\r\n setCorrSecondDocError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"signature\") {\r\n setIsLoading(false);\r\n setSignatureListError(\"\");\r\n setIsNewSignature(true);\r\n setSignatureName(res.data.Guid);\r\n signatureObj.documentId = signatureDocumentId;\r\n } else if (id === \"incomeDoc\") {\r\n setIsLoading(false);\r\n setIncomeListError(\"\");\r\n setIsNewIncome(true);\r\n setIncomeName(res.data.Guid);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n nomineeOneCopy[0].fileName = res.data.Guid;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomFirstPhoto: true,\r\n });\r\n } else if (id === \"nomFirstSignature\") {\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n nomineeOneCopy[1].fileName = res.data.Guid;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomFirstSignature: true,\r\n });\r\n } else if (id === \"nomSecondPhotoId\") {\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n nomineeTwoCopy[0].fileName = res.data.Guid;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomSecondPhoto: true,\r\n });\r\n } else if (id === \"nomSecondSignature\") {\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n nomineeTwoCopy[1].fileName = res.data.Guid;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomSecondSignature: true,\r\n });\r\n } else if (id === \"nomThirdPhotoId\") {\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n nomineeThreeCopy[0].fileName = res.data.Guid;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomThirdPhoto: true,\r\n });\r\n } else if (id === \"nomThirdSignature\") {\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n nomineeThreeCopy[1].fileName = res.data.Guid;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomThirdSignature: true,\r\n });\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n GuardianOneCopy[0].fileName = res.data.Guid;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianFirstPhoto: true,\r\n });\r\n } else if (id === \"guardianFirstSignature\") {\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n GuardianOneCopy[1].fileName = res.data.Guid;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianFirstSignature: true,\r\n });\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n GuardianTwoCopy[0].fileName = res.data.Guid;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianSecondPhoto: true,\r\n });\r\n } else if (id === \"guardianSecondSignature\") {\r\n setIsLoading(false);\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n GuardianTwoCopy[1].fileName = res.data.Guid;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianSecondSignature: true,\r\n });\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n GuardianThreeCopy[0].fileName = res.data.Guid;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianThirdPhoto: true,\r\n });\r\n } else if (id === \"guardianThirdSignature\") {\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n GuardianThreeCopy[1].fileName = res.data.Guid;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianThirdSignature: true,\r\n });\r\n }\r\n } else {\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR140-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...panObj };\r\n let firstBankCopy = { ...firstBankObj };\r\n let secondBankCopy = { ...secondBankObj };\r\n let thirdBankCopy = { ...thirdBankObj };\r\n let fourthBankCopy = { ...fourthBankObj };\r\n let fifthBankCopy = { ...fifthBankObj };\r\n let permAddressCopy = { ...permAddressObj };\r\n let permSecondAddressCopy = { ...permSecondAddressObj };\r\n let corrAddressCopy = { ...corrAddressObj };\r\n let corrSecondAddressCopy = { ...corrSecondAddressObj };\r\n let signatureCopy = { ...signatureObj };\r\n let incomeCopy = { ...incomeObj };\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n\r\n if (percentage < 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setPanObj(panCopy);\r\n } else if (id === \"firstBankDoc\") {\r\n firstBankCopy.id = id;\r\n firstBankCopy.disable = false;\r\n firstBankCopy.uploadPer = percentage;\r\n firstBankCopy.hideProgress = true;\r\n firstBankCopy.showFile = false;\r\n setFirstBankObj(firstBankCopy);\r\n } else if (id === \"secondBankDoc\") {\r\n secondBankCopy.id = id;\r\n secondBankCopy.disable = false;\r\n secondBankCopy.uploadPer = percentage;\r\n secondBankCopy.hideProgress = true;\r\n secondBankCopy.showFile = false;\r\n setSecondBankObj(secondBankCopy);\r\n } else if (id === \"thirdBankDoc\") {\r\n thirdBankCopy.id = id;\r\n thirdBankCopy.disable = false;\r\n thirdBankCopy.uploadPer = percentage;\r\n thirdBankCopy.hideProgress = true;\r\n thirdBankCopy.showFile = false;\r\n setThirdBankObj(thirdBankCopy);\r\n } else if (id === \"fourthBankDoc\") {\r\n fourthBankCopy.id = id;\r\n fourthBankCopy.disable = false;\r\n fourthBankCopy.uploadPer = percentage;\r\n fourthBankCopy.hideProgress = true;\r\n fourthBankCopy.showFile = false;\r\n setFourthBankObj(fourthBankCopy);\r\n } else if (id === \"fifthBankDoc\") {\r\n fifthBankCopy.id = id;\r\n fifthBankCopy.disable = false;\r\n fifthBankCopy.uploadPer = percentage;\r\n fifthBankCopy.hideProgress = true;\r\n fifthBankCopy.showFile = false;\r\n setFifthBankObj(fifthBankCopy);\r\n } else if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.hideProgress = true;\r\n permAddressCopy.showFile = false;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.hideProgress = true;\r\n permSecondAddressCopy.showFile = false;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.hideProgress = true;\r\n corrAddressCopy.showFile = false;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.hideProgress = true;\r\n corrSecondAddressCopy.showFile = false;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n } else if (id === \"signature\") {\r\n signatureCopy.id = id;\r\n signatureCopy.disable = false;\r\n signatureCopy.uploadPer = percentage;\r\n signatureCopy.hideProgress = true;\r\n signatureCopy.showFile = false;\r\n setSignatureObj(signatureCopy);\r\n } else if (id === \"incomeDoc\") {\r\n incomeCopy.id = id;\r\n incomeCopy.disable = false;\r\n incomeCopy.uploadPer = percentage;\r\n incomeCopy.hideProgress = true;\r\n incomeCopy.showFile = false;\r\n setIncomeObj(incomeCopy);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n nomineeOneCopy[0].disable = false;\r\n nomineeOneCopy[0].uploadPer = percentage;\r\n nomineeOneCopy[0].hideProgress = true;\r\n nomineeOneCopy[0].showFile = false;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomFirstSignature\") {\r\n nomineeOneCopy[1].disable = false;\r\n nomineeOneCopy[1].uploadPer = percentage;\r\n nomineeOneCopy[1].hideProgress = true;\r\n nomineeOneCopy[1].showFile = false;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomSecondPhotoId\") {\r\n nomineeTwoCopy[0].disable = false;\r\n nomineeTwoCopy[0].uploadPer = percentage;\r\n nomineeTwoCopy[0].hideProgress = true;\r\n nomineeTwoCopy[0].showFile = false;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomSecondSignature\") {\r\n nomineeTwoCopy[1].disable = false;\r\n nomineeTwoCopy[1].uploadPer = percentage;\r\n nomineeTwoCopy[1].hideProgress = true;\r\n nomineeTwoCopy[1].showFile = false;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomThirdPhotoId\") {\r\n nomineeThreeCopy[0].disable = false;\r\n nomineeThreeCopy[0].uploadPer = percentage;\r\n nomineeThreeCopy[0].hideProgress = true;\r\n nomineeThreeCopy[0].showFile = false;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"nomThirdSignature\") {\r\n nomineeThreeCopy[1].disable = false;\r\n nomineeThreeCopy[1].uploadPer = percentage;\r\n nomineeThreeCopy[1].hideProgress = true;\r\n nomineeThreeCopy[1].showFile = false;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n GuardianOneCopy[0].disable = false;\r\n GuardianOneCopy[0].uploadPer = percentage;\r\n GuardianOneCopy[0].hideProgress = true;\r\n GuardianOneCopy[0].showFile = false;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianFirstSignature\") {\r\n GuardianOneCopy[1].disable = false;\r\n GuardianOneCopy[1].uploadPer = percentage;\r\n GuardianOneCopy[1].hideProgress = true;\r\n GuardianOneCopy[1].showFile = false;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n GuardianTwoCopy[0].disable = false;\r\n GuardianTwoCopy[0].uploadPer = percentage;\r\n GuardianTwoCopy[0].hideProgress = true;\r\n GuardianTwoCopy[0].showFile = false;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianSecondSignature\") {\r\n GuardianTwoCopy[1].disable = false;\r\n GuardianTwoCopy[1].uploadPer = percentage;\r\n GuardianTwoCopy[1].hideProgress = true;\r\n GuardianTwoCopy[1].showFile = false;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n GuardianThreeCopy[0].disable = false;\r\n GuardianThreeCopy[0].uploadPer = percentage;\r\n GuardianThreeCopy[0].hideProgress = true;\r\n GuardianThreeCopy[0].showFile = false;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n } else if (id === \"guardianThirdSignature\") {\r\n GuardianThreeCopy[1].disable = false;\r\n GuardianThreeCopy[1].uploadPer = percentage;\r\n GuardianThreeCopy[1].hideProgress = true;\r\n GuardianThreeCopy[1].showFile = false;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.showFile = false;\r\n panCopy.hideProgress = false;\r\n panCopy.fileName = fileName;\r\n panCopy.mimeType = type;\r\n setPanObj(panCopy);\r\n } else if (id === \"firstBankDoc\") {\r\n firstBankCopy.id = id;\r\n firstBankCopy.disable = false;\r\n firstBankCopy.uploadPer = percentage;\r\n firstBankCopy.fileName = fileName;\r\n firstBankCopy.showFile = false;\r\n firstBankCopy.hideProgress = false;\r\n firstBankCopy.mimeType = type;\r\n setFirstBankObj(firstBankCopy);\r\n } else if (id === \"secondBankDoc\") {\r\n secondBankCopy.id = id;\r\n secondBankCopy.disable = false;\r\n secondBankCopy.uploadPer = percentage;\r\n secondBankCopy.fileName = fileName;\r\n secondBankCopy.showFile = false;\r\n secondBankCopy.hideProgress = false;\r\n secondBankCopy.mimeType = type;\r\n setSecondBankObj(secondBankCopy);\r\n } else if (id === \"thirdBankDoc\") {\r\n thirdBankCopy.id = id;\r\n thirdBankCopy.disable = false;\r\n thirdBankCopy.uploadPer = percentage;\r\n thirdBankCopy.fileName = fileName;\r\n thirdBankCopy.showFile = false;\r\n thirdBankCopy.hideProgress = false;\r\n thirdBankCopy.mimeType = type;\r\n setThirdBankObj(thirdBankCopy);\r\n } else if (id === \"fourthBankDoc\") {\r\n fourthBankCopy.id = id;\r\n fourthBankCopy.disable = false;\r\n fourthBankCopy.uploadPer = percentage;\r\n fourthBankCopy.fileName = fileName;\r\n fourthBankCopy.showFile = false;\r\n fourthBankCopy.hideProgress = false;\r\n fourthBankCopy.mimeType = type;\r\n setFourthBankObj(fourthBankCopy);\r\n } else if (id === \"fifthBankDoc\") {\r\n fifthBankCopy.id = id;\r\n fifthBankCopy.disable = false;\r\n fifthBankCopy.uploadPer = percentage;\r\n fifthBankCopy.fileName = fileName;\r\n fifthBankCopy.showFile = false;\r\n fifthBankCopy.hideProgress = false;\r\n fifthBankCopy.mimeType = type;\r\n setFifthBankObj(fifthBankCopy);\r\n } else if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.showFile = false;\r\n permAddressCopy.hideProgress = false;\r\n permAddressCopy.mimeType = type;\r\n permAddressCopy.fileName = fileName;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.showFile = false;\r\n permSecondAddressCopy.hideProgress = false;\r\n permSecondAddressCopy.mimeType = type;\r\n permSecondAddressCopy.fileName = fileName;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.showFile = false;\r\n corrAddressCopy.hideProgress = false;\r\n corrAddressCopy.mimeType = type;\r\n corrAddressCopy.fileName = fileName;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.showFile = false;\r\n corrSecondAddressCopy.hideProgress = false;\r\n corrSecondAddressCopy.mimeType = type;\r\n corrSecondAddressCopy.fileName = fileName;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n } else if (id === \"signature\") {\r\n signatureCopy.id = id;\r\n signatureCopy.disable = false;\r\n signatureCopy.uploadPer = percentage;\r\n signatureCopy.showFile = false;\r\n signatureCopy.hideProgress = false;\r\n signatureCopy.mimeType = type;\r\n signatureCopy.fileName = fileName;\r\n setSignatureObj(signatureCopy);\r\n } else if (id === \"incomeDoc\") {\r\n incomeCopy.id = id;\r\n incomeCopy.disable = false;\r\n incomeCopy.uploadPer = percentage;\r\n incomeCopy.showFile = false;\r\n incomeCopy.hideProgress = false;\r\n incomeCopy.mimeType = type;\r\n incomeCopy.fileName = fileName;\r\n setIncomeObj(incomeCopy);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n nomineeOneCopy[0].disable = false;\r\n nomineeOneCopy[0].uploadPer = percentage;\r\n nomineeOneCopy[0].showFile = false;\r\n nomineeOneCopy[0].hideProgress = false;\r\n nomineeOneCopy[0].mimeType = type;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomFirstSignature\") {\r\n nomineeOneCopy[1].disable = false;\r\n nomineeOneCopy[1].uploadPer = percentage;\r\n nomineeOneCopy[1].showFile = false;\r\n nomineeOneCopy[1].hideProgress = false;\r\n nomineeOneCopy[1].mimeType = type;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomSecondPhotoId\") {\r\n nomineeTwoCopy[0].disable = false;\r\n nomineeTwoCopy[0].uploadPer = percentage;\r\n nomineeTwoCopy[0].showFile = false;\r\n nomineeTwoCopy[0].hideProgress = false;\r\n nomineeTwoCopy[0].mimeType = type;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomSecondSignature\") {\r\n nomineeTwoCopy[1].disable = false;\r\n nomineeTwoCopy[1].uploadPer = percentage;\r\n nomineeTwoCopy[1].showFile = false;\r\n nomineeTwoCopy[1].hideProgress = false;\r\n nomineeTwoCopy[1].mimeType = type;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomThirdPhotoId\") {\r\n nomineeThreeCopy[0].disable = false;\r\n nomineeThreeCopy[0].uploadPer = percentage;\r\n nomineeThreeCopy[0].showFile = false;\r\n nomineeThreeCopy[0].hideProgress = false;\r\n nomineeThreeCopy[0].mimeType = type;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"nomThirdSignature\") {\r\n nomineeThreeCopy[1].disable = false;\r\n nomineeThreeCopy[1].uploadPer = percentage;\r\n nomineeThreeCopy[1].showFile = false;\r\n nomineeThreeCopy[1].hideProgress = false;\r\n nomineeThreeCopy[1].mimeType = type;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n GuardianOneCopy[0].disable = false;\r\n GuardianOneCopy[0].uploadPer = percentage;\r\n GuardianOneCopy[0].showFile = false;\r\n GuardianOneCopy[0].hideProgress = false;\r\n GuardianOneCopy[0].mimeType = type;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianFirstSignature\") {\r\n GuardianOneCopy[1].disable = false;\r\n GuardianOneCopy[1].uploadPer = percentage;\r\n GuardianOneCopy[1].showFile = false;\r\n GuardianOneCopy[1].hideProgress = false;\r\n GuardianOneCopy[1].mimeType = type;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n GuardianTwoCopy[0].disable = false;\r\n GuardianTwoCopy[0].uploadPer = percentage;\r\n GuardianTwoCopy[0].showFile = false;\r\n GuardianTwoCopy[0].hideProgress = false;\r\n GuardianTwoCopy[0].mimeType = type;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianSecondSignature\") {\r\n GuardianTwoCopy[1].disable = false;\r\n GuardianTwoCopy[1].uploadPer = percentage;\r\n GuardianTwoCopy[1].showFile = false;\r\n GuardianTwoCopy[1].hideProgress = false;\r\n GuardianTwoCopy[1].mimeType = type;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n GuardianThreeCopy[0].disable = false;\r\n GuardianThreeCopy[0].uploadPer = percentage;\r\n GuardianThreeCopy[0].showFile = false;\r\n GuardianThreeCopy[0].hideProgress = false;\r\n GuardianThreeCopy[0].mimeType = type;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n } else if (id === \"guardianThirdSignature\") {\r\n GuardianThreeCopy[1].disable = false;\r\n GuardianThreeCopy[1].uploadPer = percentage;\r\n GuardianThreeCopy[1].showFile = false;\r\n GuardianThreeCopy[1].hideProgress = false;\r\n GuardianThreeCopy[1].mimeType = type;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n }\r\n }\r\n };\r\n\r\n const storeOcrData = (res: any, id: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Invalid Image\");\r\n setRemovePanImg(true);\r\n setIsNewPan(false);\r\n // setErrCode(res.data.message);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134\" });\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setErrCode(errCode);\r\n setIsLoading(false);\r\n if (id.documentid === panDocumentId) {\r\n setRemovePanImg(false);\r\n setIsNewPan(true);\r\n setPanCardError(\"\");\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n clientPartialDetails_ao.pan !==\r\n res.data.result.extraction_output.id_number &&\r\n moment(clientPartialDetails_ao.birthDate).format(\"YYYY-MM-DD\") !==\r\n res.data.result.extraction_output.date_of_birth\r\n ) {\r\n setIsPanAndDobMatch(false);\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n setPanCardError(errorMessage.imgNotMatchWithPan);\r\n } else {\r\n setIsPanAndDobMatch(true);\r\n setPanCardError(\"\");\r\n setErrCode(\"\");\r\n }\r\n\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n } else if (\r\n id.documentid === firstChequeDocumnetId ||\r\n id.documentid === firstBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === secondChequeDocumnetId ||\r\n id.documentid === secondBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === thirdChequeDocumnetId ||\r\n id.documentid === thirdBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === fourthChequeDocumnetId ||\r\n id.documentid === fourthBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === fifthChequeDocumnetId ||\r\n id.documentid === fifthBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (id.documentid === aadhaarDocumnetId) {\r\n setAadharAddress(false);\r\n // if (anotherFile)\r\n // GlobalStore.aadhaarOCRObj = { ...GlobalStore.aadhaarOCRObj, ...res.data.result.extraction_output };\r\n // else\r\n GlobalStore.aadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n // console.log('GlobalStore.aadhaarOCRObj: ', GlobalStore.aadhaarOCRObj);\r\n if (!GlobalStore.aadhaarOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n } else {\r\n setAadharAddress(true);\r\n }\r\n } else if (id.documentid === passportDocumnetId) {\r\n GlobalStore.passportOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === voterIdDocumentId) {\r\n GlobalStore.voterIdOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === dlDocumentId) {\r\n GlobalStore.dlOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrAadhaarDocumnetId) {\r\n setCorrAadharAddress(false);\r\n // if (corrAnotherFile)\r\n // GlobalStore.corrAadhaarOCRObj = {\r\n // ...GlobalStore.corrAadhaarOCRObj,\r\n // ...res.data.result.extraction_output,\r\n // };\r\n // else\r\n GlobalStore.corrAadhaarOCRObj = res.data.result.extraction_output;\r\n // console.log('GlobalStore.corrAadhaarOCRObj: ', GlobalStore.corrAadhaarOCRObj);\r\n if (!GlobalStore.corrAadhaarOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n } else {\r\n setCorrAadharAddress(true);\r\n }\r\n } else if (id.documentid === corrPassportDocumnetId) {\r\n GlobalStore.corrPassportOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrVoterIdDocumentId) {\r\n GlobalStore.corrVoterIdOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrDlDocumentId) {\r\n GlobalStore.corrDlOCRObj = res.data.result.extraction_output;\r\n }\r\n } else {\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134-S\" });\r\n }\r\n };\r\n\r\n const uploadDoc = () => {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"DOCUMENT_UPLOAD | UPLOAD\",\r\n });\r\n setUploadDocFlag(true);\r\n setUploadViaWatsAppFlag(false);\r\n };\r\n\r\n const uploadViaWatsApp = () => {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"DOCUMENT_UPLOAD | WHATSAPP\",\r\n });\r\n setUploadDocFlag(false);\r\n setUploadViaWatsAppFlag(true);\r\n };\r\n\r\n const saveViaWatsApp = () => {\r\n const saveDetails = [];\r\n if (photoObj && photoObj.fileName === \"\") {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: autoQc,\r\n iskycdocument: false,\r\n isWatsappFlag: true,\r\n };\r\n saveDetails.push(savePhotoObj);\r\n }\r\n\r\n if (\r\n photoObj &&\r\n isNewPhoto &&\r\n (photoObj.fileName !== \"\" || photoObj.fileName !== undefined)\r\n ) {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: photoObj.fileName,\r\n isfilecropped: true,\r\n mimeType: photoObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: autoQc,\r\n iskycdocument: false,\r\n isWatsappFlag: false,\r\n };\r\n saveDetails.push(savePhotoObj);\r\n }\r\n if (panObj && panObj.fileName === \"\") {\r\n console.log(\"panObj && panObj.fileName === \");\r\n let savePanObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(savePanObj);\r\n console.log(\"savePanObj\", savePanObj);\r\n }\r\n\r\n if (\r\n firstBankObj &&\r\n firstBankObj.fileName === \"\" &&\r\n firstBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(firstBanObj);\r\n }\r\n\r\n if (\r\n secondBankObj &&\r\n secondBankObj.fileName === \"\" &&\r\n secondBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveSecondBankObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveSecondBankObj);\r\n }\r\n\r\n if (\r\n thirdBankObj &&\r\n thirdBankObj.fileName === \"\" &&\r\n thirdBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveThirdBankObj = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveThirdBankObj);\r\n }\r\n\r\n if (\r\n fourthBankObj &&\r\n fourthBankObj.fileName === \"\" &&\r\n fourthBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveFourthBankObj = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveFourthBankObj);\r\n }\r\n\r\n if (\r\n fifthBankObj &&\r\n fifthBankObj.fileName === \"\" &&\r\n fifthBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveFifthBankObj = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveFifthBankObj);\r\n }\r\n\r\n if (\r\n permAddressObj &&\r\n permAddressObj.fileName === \"\" &&\r\n permAddressObj.documentCategoryId !== \"\"\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n corrAddressObj &&\r\n corrAddressObj.fileName === \"\" &&\r\n corrAddressObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n\r\n if (\r\n signatureObj &&\r\n signatureObj.fileName === \"\" &&\r\n signatureObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveSignatureObj);\r\n }\r\n\r\n if (\r\n incomeObj &&\r\n incomeObj.fileName === \"\" &&\r\n incomeObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: incomeObj.documentCategoryId?.toString(),\r\n documentId: incomeObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n console.log(\"LineNO-2698 saveObj\", saveObj);\r\n ASaveDocumentDetails(getSaveStatus, saveObj);\r\n };\r\n\r\n const sendViaWatsapp = (val: string) => {\r\n if (val === \"Pan\") {\r\n if (togPAN === true) {\r\n setTogPAN(false);\r\n } else {\r\n panObj.isWatsappFlag = true;\r\n panObj.fileName = \".\";\r\n panObj.mimeType = \".\";\r\n setTogPAN(true);\r\n }\r\n } else if (val === \"FirstBank\") {\r\n if (togFirstBank === true) {\r\n setTogFirstBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFirstBank(true);\r\n }\r\n } else if (val === \"SecondBank\") {\r\n if (togSecondBank === true) {\r\n setTogSecondBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogSecondBank(true);\r\n }\r\n } else if (val === \"ThirdBank\") {\r\n if (togFirstBank === true) {\r\n setTogThirdBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogThirdBank(true);\r\n }\r\n } else if (val === \"FourthBank\") {\r\n if (togFourthBank === true) {\r\n setTogFourthBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFourthBank(true);\r\n }\r\n } else if (val === \"FifthBank\") {\r\n if (togFifthBank === true) {\r\n setTogFirstBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFifthBank(true);\r\n }\r\n } else if (val === \"PermAddress\") {\r\n if (togPermAdd === true) {\r\n setTogPermAdd(false);\r\n } else {\r\n permAddressObj.isWatsappFlag = true;\r\n permAddressObj.fileName = \".\";\r\n permAddressObj.mimeType = \".\";\r\n setTogPermAdd(true);\r\n }\r\n } else if (val === \"CorrAddress\") {\r\n if (togCorrAdd === true) {\r\n setTogCorrAdd(false);\r\n } else {\r\n corrAddressObj.isWatsappFlag = true;\r\n corrAddressObj.fileName = \".\";\r\n corrAddressObj.mimeType = \".\";\r\n setTogCorrAdd(true);\r\n }\r\n } else if (val === \"Signature\") {\r\n if (togSig === true) {\r\n setTogSig(false);\r\n } else {\r\n signatureObj.isWatsappFlag = true;\r\n signatureObj.fileName = \".\";\r\n signatureObj.mimeType = \".\";\r\n setTogSig(true);\r\n }\r\n } else if (val === \"Income\") {\r\n if (togIncome === true) {\r\n setTogIncome(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogIncome(true);\r\n }\r\n } else if (val === \"nomineeFirst\") {\r\n if (nomineeGuardianTog.nomineeFirst === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeFirst: false });\r\n } else {\r\n let nomineeFirst = [...nomineeFirstObj];\r\n nomineeFirst[0].isWatsappFlag = true;\r\n nomineeFirst[0].fileName = \".\";\r\n nomineeFirst[0].mimeType = \".\";\r\n nomineeFirst[1].isWatsappFlag = true;\r\n nomineeFirst[1].fileName = \".\";\r\n nomineeFirst[1].mimeType = \".\";\r\n setNomineeFirstObj(nomineeFirst);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeFirst: true });\r\n }\r\n } else if (val === \"nomineeSecond\") {\r\n if (nomineeGuardianTog.nomineeSecond === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeSecond: false });\r\n } else {\r\n let nomineeSecond = [...nomineeSecondObj];\r\n nomineeSecond[0].isWatsappFlag = true;\r\n nomineeSecond[0].fileName = \".\";\r\n nomineeSecond[0].mimeType = \".\";\r\n nomineeSecond[1].isWatsappFlag = true;\r\n nomineeSecond[1].fileName = \".\";\r\n nomineeSecond[1].mimeType = \".\";\r\n setNomineeSecondObj(nomineeSecond);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeSecond: true });\r\n }\r\n } else if (val === \"nomineeThree\") {\r\n if (nomineeGuardianTog.nomineeThree === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeThree: false });\r\n } else {\r\n let nomineeThree = [...nomineeSecondObj];\r\n nomineeThree[0].isWatsappFlag = true;\r\n nomineeThree[0].fileName = \".\";\r\n nomineeThree[0].mimeType = \".\";\r\n nomineeThree[1].isWatsappFlag = true;\r\n nomineeThree[1].fileName = \".\";\r\n nomineeThree[1].mimeType = \".\";\r\n setNomineeSecondObj(nomineeThree);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeThree: true });\r\n }\r\n } else if (val === \"guardianFirst\") {\r\n if (nomineeGuardianTog.guardianFirst === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianFirst: false });\r\n } else {\r\n let guardianFirst = [...guardianFirstObj];\r\n guardianFirst[0].isWatsappFlag = true;\r\n guardianFirst[0].fileName = \".\";\r\n guardianFirst[0].mimeType = \".\";\r\n guardianFirst[1].isWatsappFlag = true;\r\n guardianFirst[1].fileName = \".\";\r\n guardianFirst[1].mimeType = \".\";\r\n setGuardianFirstObj(guardianFirst);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianFirst: true });\r\n }\r\n } else if (val === \"guardianSecond\") {\r\n if (nomineeGuardianTog.guardianSecond === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianSecond: false });\r\n } else {\r\n let guardianSecond = [...guardianSecondObj];\r\n guardianSecond[0].isWatsappFlag = true;\r\n guardianSecond[0].fileName = \".\";\r\n guardianSecond[0].mimeType = \".\";\r\n guardianSecond[1].isWatsappFlag = true;\r\n guardianSecond[1].fileName = \".\";\r\n guardianSecond[1].mimeType = \".\";\r\n setGuardianSecondObj(guardianSecond);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianSecond: true });\r\n }\r\n } else if (val === \"guardianThird\") {\r\n if (nomineeGuardianTog.guardianThird === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianThird: false });\r\n } else {\r\n let guardianThird = [...guardianSecondObj];\r\n guardianThird[0].isWatsappFlag = true;\r\n guardianThird[0].fileName = \".\";\r\n guardianThird[0].mimeType = \".\";\r\n guardianThird[1].isWatsappFlag = true;\r\n guardianThird[1].fileName = \".\";\r\n guardianThird[1].mimeType = \".\";\r\n setGuardianThirdObj(guardianThird);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianThird: true });\r\n }\r\n }\r\n };\r\n const handleBankDoc = (val: any) => {\r\n console.log(\"handleBankDoc\", val);\r\n if (val) {\r\n if (val.DocumentCategoryId === 9) {\r\n firstBankObj.disable = false;\r\n firstBankObj.documentId = val.DocumentId;\r\n setFirstBankObj(firstBankObj);\r\n setDefaultFirstBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 60) {\r\n secondBankObj.disable = false;\r\n secondBankObj.documentId = val.DocumentId;\r\n setSecondBankObj(secondBankObj);\r\n setDefaultSecondBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 61) {\r\n thirdBankObj.disable = false;\r\n thirdBankObj.documentId = val.DocumentId;\r\n setThirdBankObj(thirdBankObj);\r\n setDefaultThirdBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 70) {\r\n fourthBankObj.disable = false;\r\n fourthBankObj.documentId = val.DocumentId;\r\n setFourthBankObj(fourthBankObj);\r\n setDefaultFourthBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 71) {\r\n fifthBankObj.disable = false;\r\n fifthBankObj.documentId = val.DocumentId;\r\n setFifthBankObj(fifthBankObj);\r\n setDefaultFifthBankDoc(val.DocumentName);\r\n }\r\n }\r\n };\r\n\r\n const handlePermanentAddress = (val: any) => {\r\n console.log(\"handlePermanentAddress\", val);\r\n if (val) {\r\n if (\r\n val.DocumentId === 125 ||\r\n permAddressObj.mimeType === \"application/pdf\"\r\n ) {\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n } else {\r\n setSecondDoc(true);\r\n }\r\n // setIsFirstAdd(false);\r\n permAddressObj.disable = blockAadhar;\r\n permAddressObj.documentId = val.DocumentId;\r\n setPermAddressObj(permAddressObj);\r\n setDefaultAddress(val.DocumentName);\r\n }\r\n };\r\n\r\n const handleCorrespondenceAddress = (val: any) => {\r\n if (val) {\r\n if (\r\n val.DocumentId === 133 ||\r\n corrAddressObj.mimeType === \"application/pdf\"\r\n ) {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n } else {\r\n setCorrSecondDoc(true);\r\n }\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.DocumentId;\r\n setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.DocumentName);\r\n }\r\n };\r\n\r\n const handleIncomeProof = (val: any) => {\r\n console.log(\"handleIncomeProof\", val);\r\n if (val !== \"\") {\r\n incomeObj.disable = false;\r\n incomeObj.documentId = val.DocumentId;\r\n setIncomeObj(incomeObj);\r\n setDefaultIncomeDoc(val.DocumentName);\r\n }\r\n };\r\n\r\n const addDocument = () => {\r\n if (secondDoc) {\r\n setAnotherFile(true);\r\n } else {\r\n setAnotherFile(false);\r\n }\r\n };\r\n\r\n const addCorrDocument = () => {\r\n if (corrSecondDoc) {\r\n setCorrAnotherFile(true);\r\n } else {\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n\r\n const handleSubmit = () => {\r\n setLoaderSign(true);\r\n setIsLoading(true);\r\n // let listOfAutoQcDocumentObj: any = [];\r\n // if (photoObj && (photoObj.imgUrl || photoBase64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: photoObj.imgUrl\r\n // ? photoObj.imgUrl.val!.split(\",\")[1]\r\n // : photoBase64,\r\n // DocumentId: photographId,\r\n // });\r\n // }\r\n // if (panObj && (panObj.imgUrl || panBase64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: panObj.imgUrl ? panObj.imgUrl.split(\",\")[1] : panBase64,\r\n // DocumentId: panDocumentId,\r\n // });\r\n // }\r\n // if (permAddressObj && (permAddressObj.imgUrl || permAddressObj.base64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: permAddressObj.imgUrl\r\n // ? permAddressObj.imgUrl.split(\",\")[1]\r\n // : permAddressObj.base64,\r\n // DocumentId: permAddressObj.documentId,\r\n // });\r\n // }\r\n saveDocument();\r\n\r\n // AgetDocumentAutoQcDetails(\r\n // (res: any) => getDocumentAutoQcRes(res),\r\n // listOfAutoQcDocumentObj,\r\n // GlobalStore.applicationID,\r\n // \"Selfie\"\r\n // );\r\n // }\r\n\r\n // if (location !== undefined && location !== \"\") {\r\n // if (\r\n // photoBase64 !== undefined &&\r\n // photoBase64 !== \"\" &&\r\n // panBase64 !== undefined &&\r\n // panBase64 !== \"\"\r\n // ) {\r\n // const faceObj = {\r\n // base64document1: photoBase64,\r\n // base64document2: panBase64,\r\n // source: \"DIY\",\r\n // };\r\n // if (!isPhotoPendingFlag) {\r\n // Afacecompare(getFaceCompareResponse, faceObj);\r\n // } else {\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // setBrowserPermission(false);\r\n // }\r\n };\r\n const getDocumentAutoQcRes = (res: any) => {\r\n // saveDocument(true,\"1\");\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR135\" });\r\n setIsLoading(false);\r\n if (!panObj.isWatsappFlag) {\r\n // setErrCode(\"Please Upload Pan Card and take selfie\");\r\n setErrCode(errCode + res.error);\r\n }\r\n setLoaderSign(false);\r\n } else {\r\n let resObj = res.data;\r\n if (resObj && resObj.IsAutoQC) {\r\n saveDocument(resObj.IsAutoQC, res.data.AutoQcWithDocumentId);\r\n } else {\r\n setErrCode(res.data.Message);\r\n }\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n };\r\n // const getFaceCompareResponse = (res: any) => {\r\n // if (!res || res.error) {\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR135\" });\r\n // setIsLoading(false);\r\n // if (!panObj.isWatsappFlag) {\r\n // // setErrCode(\"Please Upload Pan Card and take selfie\");\r\n // setErrCode(res.error);\r\n // }\r\n // setLoaderSign(false);\r\n // saveDocument();\r\n // //setErrCode(155);\r\n // } else {\r\n // if (res.data) {\r\n // if (res.data.result !== undefined) {\r\n // if (res.data.result.match_score > 60) {\r\n // setAutoQc(true);\r\n // saveDocument();\r\n // } else if (\r\n // res.data.result.match_score > 40 &&\r\n // res.data.result.match_score <= 60\r\n // ) {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // } else {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR135-S\",\r\n // });\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n const saveDocument = (autoQc?: boolean, autoQcWithDocumentId?: string) => {\r\n const saveDetails = [];\r\n if (photoObj && isNewPhoto) {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: photoObj.fileName,\r\n isfilecropped: true,\r\n mimeType: photoObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n isWatsappFlag: false,\r\n // \"autoqc\": autoQc\r\n AutoQcWithDocumentId: autoQcWithDocumentId,\r\n };\r\n if (!autoQcWithDocumentId) {\r\n delete savePhotoObj.AutoQcWithDocumentId;\r\n }\r\n saveDetails.push(savePhotoObj);\r\n }\r\n\r\n if ((panObj.uploadPer === 100 && isNewPan) || panObj.isWatsappFlag) {\r\n let savePanObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: panName || panObj.fileName,\r\n isfilecropped: true,\r\n mimeType: panObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: panObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(savePanObj);\r\n }\r\n console.log(\"LineNo-2977 saveDetails\", saveDetails);\r\n\r\n if (\r\n (firstBankObj.uploadPer === 100 && isNewFirstBank) ||\r\n firstBankObj.isWatsappFlag\r\n ) {\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: firstBankName || firstBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: firstBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: firstBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(firstBanObj);\r\n }\r\n\r\n if (\r\n (secondBankObj.uploadPer === 100 && isNewSecondBank) ||\r\n secondBankObj.isWatsappFlag\r\n ) {\r\n let saveSecondBankObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: secondBankName || secondBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: secondBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: secondBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveSecondBankObj);\r\n }\r\n\r\n if (\r\n (thirdBankObj.uploadPer === 100 && isNewThirdBank) ||\r\n thirdBankObj.isWatsappFlag\r\n ) {\r\n let saveThirdBankObj = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: thirdBankName || thirdBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: thirdBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: thirdBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveThirdBankObj);\r\n }\r\n\r\n if (\r\n (fourthBankObj.uploadPer === 100 && isNewFourthBank) ||\r\n fourthBankObj.isWatsappFlag\r\n ) {\r\n let saveFourthBankObj = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fourthBankName || fourthBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: fourthBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fourthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveFourthBankObj);\r\n }\r\n\r\n if (\r\n (fifthBankObj.uploadPer === 100 && isNewFifthBank) ||\r\n fifthBankObj.isWatsappFlag\r\n ) {\r\n let saveFifthBankObj = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fifthBankName || fifthBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: fifthBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fifthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveFifthBankObj);\r\n }\r\n console.log(\"LineNo-3072 saveDetails\", saveDetails);\r\n\r\n if (\r\n (permAddressObj.uploadPer === 100 && isNewPermAddress) ||\r\n permAddressObj.isWatsappFlag\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: addressName || permAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: permAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n (corrAddressObj.uploadPer === 100 && isNewCorrAddress) ||\r\n corrAddressObj.isWatsappFlag\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressName || corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: corrAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n console.log(\"LineNo-3110 saveDetails\", saveDetails);\r\n\r\n if (\r\n (signatureObj.uploadPer === 100 && isNewSignature) ||\r\n signatureObj.isWatsappFlag\r\n ) {\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: signatureName || signatureObj.fileName,\r\n isfilecropped: true,\r\n mimeType: signatureObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: signatureObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveSignatureObj);\r\n }\r\n console.log(\"LineNo-3130 saveDetails\", saveDetails);\r\n\r\n if (\r\n (incomeObj.uploadPer === 100 && isNewIncome) ||\r\n incomeObj.isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: incomeObj.documentCategoryId?.toString(),\r\n documentId: incomeObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: incomeName || incomeObj.fileName,\r\n isfilecropped: true,\r\n mimeType: incomeObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: incomeObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeFirstObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomFirstPhoto) ||\r\n nomineeFirstObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeFirstObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeFirstObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeFirstObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeFirstObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeFirstObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeFirstObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomFirstSignature) ||\r\n nomineeFirstObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeFirstObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeFirstObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeFirstObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeFirstObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeFirstObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeSecondObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomSecondPhoto) ||\r\n nomineeSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeSecondObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeSecondObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeSecondObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeSecondObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeSecondObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeSecondObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomSecondSignature) ||\r\n nomineeSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeSecondObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeSecondObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeSecondObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeSecondObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeSecondObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeThirdObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomThirdPhoto) ||\r\n nomineeThirdObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeThirdObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeThirdObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeThirdObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeThirdObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeThirdObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeThirdObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomThirdSignature) ||\r\n nomineeThirdObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeThirdObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeThirdObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeThirdObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeThirdObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeThirdObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianFirstObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianFirstPhoto) ||\r\n guardianFirstObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianFirstObj[0].documentCategoryId?.toString(),\r\n documentId: guardianFirstObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianFirstObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianFirstObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianFirstObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianFirstObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianFirstSignature) ||\r\n guardianFirstObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianFirstObj[1].documentCategoryId?.toString(),\r\n documentId: guardianFirstObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianFirstObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianFirstObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianFirstObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianSecondObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianSecondPhoto) ||\r\n guardianSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianSecondObj[0].documentCategoryId?.toString(),\r\n documentId: guardianSecondObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianSecondObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianSecondObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianSecondObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianSecondObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianSecondSignature) ||\r\n guardianSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianSecondObj[1].documentCategoryId?.toString(),\r\n documentId: guardianSecondObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianSecondObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianSecondObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianSecondObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n\r\n if (\r\n (guardianThirdObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianThirdPhoto) ||\r\n guardianSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianThirdObj[0].documentCategoryId?.toString(),\r\n documentId: guardianThirdObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianThirdObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianThirdObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianThirdObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianThirdObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianThirdSignature) ||\r\n guardianSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianThirdObj[1].documentCategoryId?.toString(),\r\n documentId: guardianThirdObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianThirdObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianThirdObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianThirdObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n setIsLoading(true);\r\n ASaveDocumentDetails(getSaveStatus, saveObj);\r\n };\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133\",\r\n });\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(true);\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage\r\n .CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE || \"\",\r\n UTM_MEDIUM: props.UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: \"\",\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADDRESS_PROOF_SUBMITTED_VIA: uploadVaiWatsAppFlag\r\n ? \"whattsapp\"\r\n : \"upload_now\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.documentVerificationPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n } else {\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function pendingDocQC(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"1456- Error in fetching pending documents list.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR123\" });\r\n setIsLoading(false);\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj && responseObj.length > 0) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker ||\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA\r\n ) {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"Step_Complete\",\r\n });\r\n completeModuleStatus(dashboardUrl.doc);\r\n history.push(incompleteStageNavigation(dashboardUrl.doc));\r\n } else {\r\n const onlyIpvPending: Array = responseObj.filter(\r\n (item: any) =>\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // // item.documentcategoryid !== 62\r\n // item.DocumentCategoryId !== 36 &&\r\n // item.DocumentCategoryId !== 30 &&\r\n // item.DocumentCategoryId !== 62\r\n item.Mandatory === true\r\n );\r\n if (onlyIpvPending.length === 0) {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"Step_Complete\",\r\n });\r\n } else if (onlyIpvPending.length > 0) {\r\n let isIpvExist = GlobalStore.leftNavBarState.filter(\r\n (data: any) => data.navUrl === \"/ipv\"\r\n );\r\n if (isIpvExist.length === 0) {\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n }\r\n completeModuleStatus(dashboardUrl.doc);\r\n history.push(incompleteStageNavigation(dashboardUrl.doc));\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR123-S\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n const checkFilledForm = () => {\r\n // Check if photo is taken\r\n if (!photoObj.imgUrl && !isNewPhoto) {\r\n return true;\r\n } else if ((!panObj.imgUrl && !isNewPan) || !isPanAndDobMatch) {\r\n return true;\r\n }\r\n if (!permAddressObj.base64 || !permAddressObj.imgUrl) {\r\n return true;\r\n }\r\n\r\n // Checking if Address field is present in the uploaded Aadhar files\r\n else if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n return aadharAddress ? false : true;\r\n } else if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n return corrAadharAddress ? false : true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n // const actObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // account_number: GlobalStore.account_no || clientPartialDetails_ao.account_no,\r\n // ifsc: GlobalStore.ifsc_code || clientPartialDetails_ao.ifsc_code,\r\n // name: GlobalStore.personaldetails.PANName\r\n // };\r\n // const actObj = {\r\n // \"panno\": clientPartialDetails_ao.pan\r\n // }\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n // AgetBeneficiaryName(getAccountHolderName, actObj);\r\n };\r\n\r\n // const getSeedingData = (res: any) => {\r\n // if (!res || res.error) {\r\n // // setErrCode(\"170 - Error in fetching Pan details from PAN UTI system.\");\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data) {\r\n // setIsLoading(false);\r\n // let responseObj = res.data.panDetails;\r\n\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // setSeedingPopup(true);\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // setSeedingPopup(false);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getSeedingData = (res: any) => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n //if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n clientPartialDetails_ao.pan,\r\n clientPartialDetails_ao.aadharNo\r\n );\r\n setSeedingPopup(true);\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n } else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(false);\r\n }\r\n } else {\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142-S\" });\r\n }\r\n }\r\n };\r\n\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n isPanLinkedToAadhar = res.data.islinked == true ? true : false;\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n console.log(nomineeFirstObj, \"nomineeFirstObj works\");\r\n console.log(nomineeSecondObj, \"nomineeSecondObj works\");\r\n console.log(nomineeThirdObj, \"nomineeThirdObj works\");\r\n console.log(guardianFirstObj, \"guardianFirstObj works\");\r\n console.log(guardianSecondObj, \"guardianSecondObj works\");\r\n console.log(guardianThirdObj, \"guardianThirdObj works\");\r\n console.log(isNomineeGuardian, \"key works\");\r\n console.log(isManual, \"Manual check\");\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
\r\n {/* {DeviceContext().isMobile && } */}\r\n \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n <>\r\n \r\n \r\n
\r\n \r\n {!showRetake &&
}\r\n {!showRetake &&
}\r\n {!showBrowserPermissionModal && (\r\n
\r\n {!showRetake && !isGeoError ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n {showRetake && !isGeoError ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n )}\r\n \r\n
\r\n \"photograph\"\r\n
\r\n
\r\n {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, plesae wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the\r\n page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n \r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any, index: number) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentType === \"PHOTOGRAPH\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n {uploadDocFlag ? (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n onRemove(docObj, \"panObj\")}\r\n />\r\n {panCardError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"Pan\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togPAN && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any, index: number) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentType === \"PAN CARD\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n {firstBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {firstBankListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"FirstBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFirstBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n firstBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {secondBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {secondBankListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"SecondBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togSecondBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n secondBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {thirdBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {thirdBankListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"ThirdBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togThirdBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n thirdBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {fourthBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {fourthBankListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"FourthBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFourthBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n fourthBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {fifthBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {fifthBankListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"FifthBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFifthBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n fifthBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {/* {!GlobalStore.isDigiLocker && ( */}\r\n {!GlobalStore.isDigiLocker &&\r\n // For full CKYC cases without permenant address document\r\n (!GlobalStore.isKYC ||\r\n !GlobalStore.isKRA ||\r\n !defaultPermAddressProof) &&\r\n !isManual && (\r\n
\r\n \r\n handlePermanentAddress(val)}\r\n />\r\n \r\n
\r\n {(permAddressObj.disable = blockAadhar)}\r\n \r\n onRemove(docOj, \"permAddressObj\")\r\n }\r\n />\r\n {permAddListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {anotherFile && (\r\n
\r\n
\r\n \r\n {secondDocError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n addDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"PermAddress\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togPermAdd && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n \"PROOF OF ADDRESS PERMANENT\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n\r\n {corrAddList.length !== 0 && showCorr ? (\r\n
\r\n \r\n handleCorrespondenceAddress(val)}\r\n />\r\n \r\n
\r\n \r\n {corrAddListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {corrAnotherFile && (\r\n
\r\n
\r\n \r\n {corrSecondDocError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n addCorrDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"CorrAddress\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togCorrAdd && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n ) : null}\r\n\r\n {incomeList.length !== 0 ? (\r\n
\r\n \r\n handleIncomeProof(val)}\r\n />\r\n \r\n
\r\n \r\n {incomeListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"Income\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togIncome && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType === \"PROOF OF INCOME\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n {signatureListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"Signature\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togSig && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentType === \"SIGNATURE\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n {/* nomineefirst Start */}\r\n {nomineeFirstList && nomineeFirstList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeFirstList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomFirstPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomFirstPhotoId != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomFirstSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomFirstSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"nomineeFirst\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeFirst && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* nomineeFirst End */}\r\n {/* GuardianFirst Start */}\r\n\r\n {guardianFirstList && guardianFirstList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianFirstList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianFirstPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianFirstPhotoId !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianFirstSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianFirstSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne\r\n .guardianDetails.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"guardianFirst\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianFirst && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* GuardianFirst End */}\r\n\r\n {/* nomineeSecond start */}\r\n {nomineeSecondList && nomineeSecondList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeSecondList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSecondPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomSecondPhotoId != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSecondSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomSecondSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"nomineeSecond\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeSecond && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* nomineeSecond End */}\r\n {/* GuardianSecond Start */}\r\n {guardianSecondList && guardianSecondList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianSecondList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSecondPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianSecondPhotoId !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSecondSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianSecondSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo\r\n .guardianDetails.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"guardianSecond\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianSecond && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* GuardianSecond End */}\r\n {/* nomineeThird */}\r\n {nomineeThirdList && nomineeThirdList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeThirdList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomThirdPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomThirdPhotoId != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomThirdSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomThirdSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"nomineeThree\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeThree && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* NomineeThird Start */}\r\n\r\n {/* GuardianThird Start */}\r\n {guardianThirdList && guardianThirdList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianThirdList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianThirdPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianThirdPhotoId !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails\r\n .signature.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianThirdSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianThirdSignature !=\r\n \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree\r\n .guardianDetails.signature\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n sendViaWatsapp(\"guardianThird\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianThird && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n )}\r\n {/* GuardianThird End */}\r\n\r\n {/* {DeviceContext().isMobile && (togPAN || togFirstBank || togSecondBank || togThirdBank || togFourthBank || togFifthBank || togPermAdd || togCorrAdd || togSig || togIncome) &&
\r\n \r\n
\r\n \r\n \r\n
\r\n
} */}\r\n\r\n {/* Rejection Error Msg Start*/}\r\n {/* {\r\n regectedDocStatus && regectedDocStatus.map((item: any, index: number) =>
\r\n \r\n <>\r\n \r\n \r\n \r\n
)\r\n } */}\r\n {/* Rejection Error Msg End*/}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {/* Photo Error Msg Start*/}\r\n {/* {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )} */}\r\n {/* Photo Error Msg End*/}\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n ) : uploadVaiWatsAppFlag ? (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n saveViaWatsApp()}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n \r\n \r\n
    \r\n {pendingDocObj &&\r\n pendingDocObj.map((item: any, index: number) => {\r\n return
  • {item.DocumentCategory}
  • ;\r\n })}\r\n
\r\n
\r\n {/*
\r\n uploadViaWatsApp()}\r\n isWhatsapp={true}Nomi\r\n />\r\n
*/}\r\n
\r\n uploadDoc()}\r\n isUpload={true}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DocVerifcationForm;\r\n","import React, { useState } from \"react\";\r\nimport regbanner from \"../../../assets/icons/panDob.svg\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport watsAppIcon from \"../../../assets/icons/watsapp.png\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport {\r\n aadhaarDocumnetId,\r\n containerUrl,\r\n corrAadhaarDocumnetId,\r\n dashboardUrl,\r\n DIY,\r\n employeeAccCategory,\r\n retailAccCategory,\r\n statusUrl,\r\n watsappNo,\r\n geoLocationConfig,\r\n} from \"../../utils/constants\";\r\nimport { pan, alphaNumExp, betweenNChars } from \"../../utils/regex\";\r\nimport \"./PANInfo.scss\";\r\nimport {\r\n ACheckPanIbeats,\r\n AGetPanUtiData,\r\n AGetClientDetailsByPan,\r\n AGetClientDetailsByLeadId,\r\n AWhatsappCom,\r\n AIsPANExists,\r\n ASavePanDobDetails,\r\n AGetCkycNumber,\r\n AGetKraDetails,\r\n AGetEmployeeByPan,\r\n AGetCkycDetails,\r\n APanLinkedWithAadhar,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n ACreateLead,\r\n ACreateLeadSource,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n clientContinue,\r\n utmDurationInfoObj,\r\n updateUtmInfo,\r\n setStageData,\r\n ageCalculator,\r\n splitFullName,\r\n} from \"../../Services/globalService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { ARedisDigilockerDoc } from \"../../Services/dashboard/profileApiService\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport CheckDigilockerPopup from \"./CheckDigilockerPopup/CheckDigilockerPopup\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport moment from \"moment\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport {\r\n initialDocObj,\r\n initialPanDocObj,\r\n} from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport {\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n AextractAadhaar,\r\n AextractPan,\r\n AmaskAadhaar,\r\n ASaveDocumentDetails,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport {\r\n ASaveIPVerificationDetails,\r\n ASendSms,\r\n} from \"../../Services/dashboard/ipvApiServices\";\r\nimport useGeoLocation from \"../../../customHooks/useGeoLocation\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport Loader from \"../../UI/Loader/Loader\";\r\n\r\nexport interface IPanDobFields {\r\n pan: string;\r\n dob: Date | null;\r\n aadharLinked: \"No\" | \"Yes\" | \"Not Sure\";\r\n aadhaarNo: string;\r\n}\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport type saveDocumentObj = {\r\n documentCategoryId?: string;\r\n documentId?: string;\r\n fileName: string;\r\n isfilecropped: boolean;\r\n mimeType: string | undefined;\r\n panno: string;\r\n personaldetailsid: string;\r\n autoqc: boolean;\r\n iskycdocument: boolean;\r\n documentNumber?:string;\r\n};\r\n\r\nexport interface PANInfoProps {}\r\nlet isPanLinkedToAadhar: boolean;\r\nconst PANInfo: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [values, setValues] = React.useState({\r\n pan: \"\",\r\n aadharLinked: \"No\",\r\n dob: null,\r\n aadhaarNo: \"\",\r\n });\r\n const [validPan, setValidPan] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n const [showDigiRedirection, setShowDigiRedirection] =\r\n React.useState(false);\r\n let isEmployee: boolean = false;\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IPanDobFields]?: string;\r\n }>({\r\n pan: undefined,\r\n dob: undefined,\r\n aadharLinked: undefined,\r\n aadhaarNo: undefined,\r\n });\r\n const history = useHistory();\r\n const [removePanImg, setRemovePanImg] = React.useState(false);\r\n const [utmObj, setUtmObj] = React.useState(null);\r\n const [panObj, setPanObj] = React.useState({\r\n ...initialPanDocObj,\r\n });\r\n const [signatureObj, setSignatureObj] = React.useState({\r\n ...initialPanDocObj,\r\n });\r\n const [photoObj, setPhotoObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [permAddressObj, setPermAddressObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [consent, setConsent] = React.useState(true);\r\n const videoRefElement = React.useRef(null);\r\n const canvasRefElement = React.useRef(null);\r\n const [showRetake, setShowRetake] = React.useState(false);\r\n const [panBase64, setPanBase64] = React.useState(\"\");\r\n const [togPhoto, setTogPhoto] = React.useState(false);\r\n const [streams, setStreams] = React.useState();\r\n const [hasPhoto, setHasPhoto] = React.useState(false);\r\n const [panNumberMatched, setPanNumberMatched] = React.useState(false);\r\n const [dobChecked, setDobChecked] = React.useState(false);\r\n const [isNormalClient, setIsNormalClient] = React.useState(false);\r\n const [panDobState, setPanDobState] = React.useState(\"\");\r\n const [panValState, setPanValState] = React.useState(\"\");\r\n const [location, setLocation] = useState(\"\");\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n\r\n const [panUploadObject, setPanUploadObject] = React.useState(\"\");\r\n const [panUploaded, setPanUploaded] = React.useState(false);\r\n\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: false,\r\n checkLocation: false,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n const [seedingPopup, setSeedingPopup] = React.useState(false);\r\n const [checkpanaaddharflag, setCheckpanaaddharflag] = React.useState(\r\n GlobalStore.stageStatus.checkpanaaddharflag === false ? true : false\r\n );\r\n\r\n let watchPositionId: number;\r\n let panDob: string;\r\n const saveDetails: saveDocumentObj[] = [];\r\n const saveKraDetails: saveDocumentObj[] = [];\r\n\r\n let base64String: string;\r\n let docCount = 0;\r\n let ckycDocs = 0;\r\n let kraDocCount = 0;\r\n let kraDocs = 0;\r\n\r\n let isPanLinkedToAadhar: boolean;\r\n\r\n React.useEffect(() => {\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n\r\n // Assign utm object into local state\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n setUtmObj(objUtm);\r\n\r\n if (\r\n containerUrl.continue === clientContinue() &&\r\n !GlobalStore.isPartialFilledClient\r\n ) {\r\n history.push(containerUrl.continue);\r\n } else {\r\n if (!GlobalStore.leadId || GlobalStore.leadId === \"\") {\r\n history.push(containerUrl.registration);\r\n } else {\r\n init();\r\n window.scroll(0, 0);\r\n }\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n } else {\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission]);\r\n\r\n React.useEffect(() => {\r\n if (\r\n moment(values.dob).format(\"YYYY-MM-DD\") == panDobState &&\r\n values.pan == panValState\r\n ) {\r\n GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n GlobalStore.dob = moment(values.dob).format(\"DD/MM/YYYY\");\r\n GlobalStore.birthDate = moment(values.dob).format(\"MM/DD/YYYY\");\r\n\r\n if (panUploaded == false) {\r\n setRemovePanImg(false);\r\n setDobChecked(true);\r\n panUploadObject.savePanObj.autoqc = true;\r\n AUploadDocument(\r\n (res: any) => getPanUploadRes(res, panUploadObject.savePanObj),\r\n panUploadObject.uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(\r\n event,\r\n panUploadObject.id,\r\n panUploadObject.fileName,\r\n panUploadObject.type\r\n )\r\n );\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n let objAccType = window.sessionStorage.getItem(\"objAccType\") || \"\"; // only demat getting parameter type\r\n const panDobObj = {\r\n leadId: GlobalStore.leadId,\r\n emailID: GlobalStore.user.email,\r\n mobileno: GlobalStore.user.mobile,\r\n isemployeepan: isEmployee,\r\n panNo: values.pan,\r\n dob: GlobalStore.dateofbirth,\r\n aadhaar: values.aadhaarNo,\r\n ispanaadhaarlinked: isPanLinkedToAadhar,\r\n platform: 1,\r\n relationship: false,\r\n relationName: \"\",\r\n others: \"\",\r\n objUTM_Info: objUTM_Info,\r\n response: \"\",\r\n TransactionId: \"\",\r\n kycverified: \"\",\r\n product: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n ASavePanDobDetails((res: any) => {\r\n if (res && res.data) {\r\n GlobalStore.token = res.data?.token;\r\n }\r\n }, panDobObj);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n }\r\n }, [values.dob, values.pan]);\r\n\r\n // Clervertap event: pan screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.panPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: \"\",\r\n };\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n canvasRefElement.current!.hidden = true;\r\n // initiateCamera();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n // initiateCamera();\r\n if (location && location.length > 0) {\r\n const locationString = location.split(\",\");\r\n const locationObj = {\r\n lat: locationString[0].trimStart(),\r\n lng: locationString[1].trimStart(),\r\n };\r\n setIsLoading(true);\r\n ACheckLocation((res: any) => checkLocationRes(res), locationObj);\r\n }\r\n }, [location]);\r\n const checkLocationRes = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n });\r\n //setPhotoErrorMsg(res.data.Message);\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n //setPhotoErrorMsg(res.data.Message);\r\n if (errCode !== res.data.Message)\r\n setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const getLocation = async () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n // setLocation(`${geoLoc.coordinates.lat}, ${geoLoc.coordinates.lng}`);\r\n setLocation({\r\n lat: geoLoc.coordinates.lat,\r\n long: geoLoc.coordinates.lng,\r\n });\r\n } else {\r\n // navigator.geolocation.watchPosition(successPosition, errorPosition)\r\n if (navigator && navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(saveLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n } else {\r\n alert(\"Geo location is not supported by this browser\");\r\n }\r\n }\r\n };\r\n\r\n function successPosition(data: any) {\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n // setLocation(`${data.coords.latitude}, ${data.coords.longitude}`);\r\n setLocation({\r\n lat: data.coords.latitude,\r\n long: data.coords.longitude,\r\n });\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n }\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n\r\n const saveLocation = (position: { coords: any }) => {\r\n // setLocation(`${position.coords.latitude}, ${position.coords.longitude}`);\r\n setLocation({\r\n lat: position.coords.latitude,\r\n long: position.coords.longitude,\r\n });\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n };\r\n\r\n const errorLocation = (err: any) => {\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation();\r\n };\r\n\r\n const iPVerificationSaved = (res: any,kycobj: any,applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Error in saving geo-location details\");\r\n\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR114-1\",\r\n });\r\n setIsLoading(false);\r\n }\r\n else\r\n {\r\n uploadSelfie(applicationIdExists);\r\n nextprocess(kycobj);\r\n }\r\n };\r\n\r\n const registerCleverTapEventAfterProceed = () => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.panPage.CLICK_ON_PROCEED,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n };\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on pan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.panPage.CLICK_ON_PROCEED\r\n );\r\n };\r\n\r\n function init() {\r\n //CleverTap log start\r\n /*\r\n var data = {\r\n CurrentPage: $location.path(),\r\n Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n EventName: 'Pan_dob_view'\r\n };\r\n clevertap.event.push(data.EventName, data);\r\n */\r\n //CleverTap log end\r\n\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n window.localStorage.removeItem(\"isAadhaarVerified\");\r\n GlobalStore.personaldetails = {\r\n firstname: GlobalStore.user.firstname,\r\n lastname: GlobalStore.user.lastName,\r\n middlename: \"\",\r\n mobile: GlobalStore.user.mobile,\r\n emailId: GlobalStore.user.email,\r\n aadhaar: \"\",\r\n pan: \"\",\r\n gender: \"\",\r\n dob: \"\",\r\n additionalemail: \"\",\r\n additionalmobile: \"\",\r\n PANName: \"\",\r\n adrLine1: \"\",\r\n adrLine2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n pincode: \"\",\r\n };\r\n }\r\n\r\n function onChange(key: keyof IPanDobFields, value: string | Date) {\r\n if (key === \"pan\" && typeof value === \"string\" && !alphaNumExp.test(value))\r\n value = values[key];\r\n if (key === \"pan\") setValidPan(false);\r\n if (key === \"aadharLinked\" && typeof value === \"string\")\r\n gtmService({\r\n action: \"PAN_DOB\",\r\n label: `AADHAR_LINK | ${value.toUpperCase()}`,\r\n });\r\n if (key === \"dob\" && typeof value !== \"string\") {\r\n setErrCode(errCode);\r\n if (ageCalculator(value) >= 60)\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n else window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n console.log(moment(value).format(\"YYYY-MM-DD\"), \" || \", panDobState);\r\n if (moment(value).format(\"YYYY-MM-DD\") === panDobState) {\r\n setDobChecked(true);\r\n setRemovePanImg(false);\r\n setErrCode(\"\");\r\n console.log(\"onChange 2\");\r\n } else {\r\n console.log(\"onChange 3\");\r\n setDobChecked(false);\r\n }\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n setValues({ ...values, [key]: value });\r\n }\r\n\r\n function onBlurPan(error: any) {\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE07),\r\n });\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE09),\r\n });\r\n if (error.pattern) {\r\n setValidPan(true);\r\n } else {\r\n setValidPan(false);\r\n }\r\n }\r\n\r\n function onBlurDob(event: React.FocusEvent) {\r\n if (!values.dob) {\r\n // setErrors({ ...errors, dob: 'Please select a valid date' });\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE10) });\r\n }\r\n }\r\n\r\n function onBlurAadhaar(error: any) {\r\n setErrors({\r\n ...errors,\r\n aadhaarNo: error.pattern ? \"\" : errorMsg(errorCode.FE46),\r\n });\r\n }\r\n\r\n function handleSubmit() {\r\n //GA Code\r\n /*\r\n var data = {\r\n category: 'ACCOUNT_OPENING',\r\n action: 'STEP-2',\r\n label: 'CONTINUE',\r\n event: 'event account opening'\r\n }\r\n \r\n dataLayer.push(data);\r\n */\r\n setErrCode(\"\");\r\n setIsLoading(true);\r\n let isValidPan = pan.test(values.pan);\r\n if ((values.pan !== \"\" || values.pan !== undefined) && isValidPan) {\r\n AGetEmployeeByPan(checkIsPanEmployee, values.pan);\r\n // ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n setErrors({\r\n ...errors,\r\n pan: isValidPan ? \"\" : errorMsg(errorCode.FE09),\r\n });\r\n setIsLoading(false);\r\n }\r\n }\r\n function checkIsPanEmployee(res: any) {\r\n if (res && res.status) {\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\") isEmployee = true;\r\n } else {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetEmployeeDetailsByPAN\",\r\n label: \"ERROR || ERR109\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n function checkedPanInIbeats(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n gtmService({ action: \"CheckPanInSystem\", label: \"ERROR || ERR100\" });\r\n } else {\r\n if (res.data) {\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n history.push(containerUrl.accexists);\r\n setIsLoading(false);\r\n } else {\r\n if (isPanLinkedToAadhar != true) {\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n values.pan,\r\n values.aadhaarNo\r\n );\r\n // isPanLinkedToAadhar = false;\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n AGetClientDetailsByPan(searchByPan, values.pan);\r\n }\r\n }\r\n }\r\n }\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n isPanLinkedToAadhar = res.data.islinked == true ? true : false;\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n AGetClientDetailsByPan(searchByPan, values.pan);\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function isPANExists(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('117 - Error in fetching Pan details from our system.');\r\n // setErrCode(errorMessage.panExist);\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n gtmService({ action: \"CheckPanInSystem\", label: \"ERROR || ERR105\" });\r\n } else {\r\n let isValidPan = pan.test(values.pan);\r\n if (\r\n res.data !== undefined &&\r\n (values.pan !== \"\" || values.pan !== undefined) &&\r\n isValidPan\r\n ) {\r\n console.log(\"isPANExists\", res);\r\n if (res.data == false) {\r\n AGetPanUtiData(validatePAN, values.pan);\r\n } else if (res.data == true) {\r\n setErrCode(errorMessage.ApplicationInProcess);\r\n setIsLoading(false);\r\n }\r\n } else {\r\n setErrors({\r\n ...errors,\r\n pan: isValidPan ? \"\" : errorMsg(errorCode.FE09),\r\n });\r\n }\r\n }\r\n }\r\n\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR101\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n console.log(responseObj, \" RESP }}\");\r\n setIsLoading(true);\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n setSeedingPopup(!isPanLinkedToAadhar);\r\n setIsLoading(false);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(!isPanLinkedToAadhar);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }\r\n // ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n\r\n //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n\r\n setErrCode(errCode + (res.error || \"\"));\r\n setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n setErrCode(errCode + (res.error || \"\"));\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n // // setErrCode(errorMessage.validatePAN);\r\n // setErrCode(res.error);\r\n // console.log(res.errMsg);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // //CleverTap log Start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_success',\r\n // // CTA: 'Continue'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log End\r\n\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n\r\n // let responseObj = res.data.panDetails;\r\n\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n\r\n // //-------- After Pan validation Navigate to DigiLocker Page-------\r\n\r\n // //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else {\r\n // // setErrCode('PAN UTI server down');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n // function validatePAN(res: any) {\r\n // console.log(\"validatePAN\", res);\r\n // if (!res || res.error) {\r\n // // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n // setErrCode(errorMessage.validatePAN);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Existing and Valid\") !== -1\r\n // ) {\r\n // //CleverTap log Start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_success',\r\n // // CTA: 'Continue'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log End\r\n\r\n // let PANFirstName =\r\n // res.data.panDetails.split(\"^\")[1].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[1].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[1].trim()\r\n // : \"\";\r\n // let PANMiddleName =\r\n // res.data.panDetails.split(\"^\")[2].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[2].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[2].trim()\r\n // : \"\";\r\n // let PANlastName =\r\n // res.data.panDetails.split(\"^\")[3].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[3].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[3].trim()\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n\r\n // //-------- After Pan validation Navigate to DigiLocker Page-------\r\n\r\n // //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Not in ITD Database\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else {\r\n // // setErrCode('PAN UTI server down');\r\n // setErrCode(errorMessage.clientDetailsByPanServerDown);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function searchByPan(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('118 - Error in fetching Client details from our system.');\r\n // setErrCode(errorMessage.searchByPan);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR102\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data && res.data != \"Records Not Found\") {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n\r\n // GlobalStore.personaldetails.pan = res.data.data.pan;\r\n // GlobalStore.token = res.data.data.token;\r\n // GlobalStore.applicationID = res.data.data.applicatoinId;\r\n // GlobalStore.leadId = res.data.data.leadId;\r\n // GlobalStore.clientPrimaryDetailId =\r\n // res.data.data.clientprimarydetailid;\r\n // console.log(\"GlobalStore====> \", GlobalStore);\r\n\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else if (res.data == \"Records Not Found\") {\r\n AGetClientDetailsByLeadId(searchByLeadId, GlobalStore.leadId);\r\n }\r\n } else {\r\n // setErrCode('1182 - Error in fetching Client details from our system.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function searchByLeadId(res: any) {\r\n \r\n if (!res || res.error) {\r\n // setErrCode('119 - Error in fetching Client details from our system.');\r\n // setErrCode(errorMessage.searchByLeadId);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR103\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data != null) {\r\n if (\r\n GlobalStore.personaldetails.pan.toUpperCase().trim() ===\r\n res.data.PAN.toUpperCase().trim()\r\n ) {\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else {\r\n console.log(\"DUP block\");\r\n // create Lead without dudupe\r\n // GlobalStore.createLeadDudupeParam.byPassDedupe = true;\r\n // ACreateLead(leadCreated, GlobalStore.createLeadDudupeParam);\r\n ACreateLeadSource(leadCreated, GlobalStore.createLeadDudupeParam);\r\n // savePanDob();\r\n }\r\n } else if (res.data == null) {\r\n savePanDob();\r\n } else {\r\n // setErrCode('1192 - Error in fetching Client details from our system.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function leadCreated(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n gtmService({ action: \"CreateLead\", label: \"ERROR || ERR111\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n const response = JSON.parse(res.data);\r\n if (response && response.LeadId) {\r\n GlobalStore.leadId = response.LeadId;\r\n savePanDob();\r\n }\r\n } else {\r\n // setErrCode('104 - Error in generating new Lead.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function savePanDob(applicationIdExists?: boolean) {\r\n \r\n console.log(\"panlink log\", isPanLinkedToAadhar);\r\n if (\r\n applicationIdExists &&\r\n (GlobalStore.stageStatus.ispersonaldetailscompleted ||\r\n GlobalStore.stageStatus.isprofiledetailscompleted)\r\n ) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo = GlobalStore.stageStatus.ckycnumber;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n clientPartialDetails_ao.isKRA = GlobalStore.stageStatus.iskra;\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n GlobalStore.dob = moment(values.dob).format(\"DD/MM/YYYY\");\r\n GlobalStore.birthDate = moment(values.dob).format(\"MM/DD/YYYY\");\r\n\r\n if (isPanLinkedToAadhar == true) {\r\n AGetCkycNumber(\r\n (res: any) => getCkycNumber(res, applicationIdExists),\r\n values.pan\r\n );\r\n } else {\r\n GlobalStore.isKYC = false;\r\n GlobalStore.isKRA = false;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n dobMatched({});\r\n }\r\n }\r\n }\r\n\r\n function getCkycNumber(res: any, applicationIdExists?: boolean) {\r\n if (!res || res.error) {\r\n // setErrCode('1223 - Error in fetching CKYC Number.');\r\n // setErrCode(errorMessage.getCkycNumber);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetCkycNumber\", label: \"ERROR || ERR107\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n if (res.data) {\r\n // const responseObj = JSON.parse(res.data);\r\n const reqObj = {\r\n dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n panno: values.pan,\r\n applicationId: GlobalStore.applicationID,\r\n };\r\n \r\n AGetKraDetails(\r\n (res: any) => kraDobCheck(res, applicationIdExists),\r\n reqObj\r\n );\r\n // if (responseObj?.CKYC_NO !== \"\") {\r\n // // const reqObj = {\r\n // // applicationid: values.pan,\r\n // // dob: `${moment(values.dob).format(\"DD-MM-YYYY\")}`,\r\n // // panno: values.pan,\r\n // // };\r\n // // AGetCkycDetails(\r\n // // (res: any) => getCkycDetails(res, applicationIdExists),\r\n // // reqObj\r\n // // );\r\n // const reqObj = {\r\n // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // panno: values.pan,\r\n // applicationId: GlobalStore.applicationID,\r\n // };\r\n // AGetKraDetails(\r\n // (res: any) => kraDobCheck(res, applicationIdExists),\r\n // reqObj\r\n // );\r\n // } else {\r\n // const reqObj = {\r\n // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // panno: values.pan,\r\n // applicationId: GlobalStore.applicationID,\r\n // };\r\n // AGetKraDetails(\r\n // (res: any) => kraDobCheck(res, applicationIdExists),\r\n // reqObj\r\n // );\r\n // // dobMatched(res.data, applicationIdExists); //By passing DoB check\r\n // }\r\n } else {\r\n // setErrCode('1224 - Error in fetching CKYC Number.');\r\n setErrCode(errCode + res.error);\r\n navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n // function getCkycDetails(res: any, applicationIdExists?: boolean) {\r\n // if (!res || res.error) {\r\n\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n // gtmService({ action: \"GetCKYCDetails\", label: \"ERROR || ERR110\" });\r\n // navigate(applicationIdExists);\r\n // } else {\r\n // if (res.data && res.data.PersonalDetails) {\r\n // dobMatched(res.data, applicationIdExists);\r\n // } else {\r\n // setIsLoading(false);\r\n // alert(\"Date of Birth is not matching with the PAN.\");\r\n // GlobalStore.isKYC = false;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n // dobMatched(res.data, applicationIdExists);\r\n // }\r\n // }\r\n // }\r\n\r\n const kraDobCheck = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetKraDetails\", label: \"ERROR || ERR108\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n const responseObj = res.data;\r\n if (responseObj.AppErrorDesc?.includes(\"INVALID DOB\")) {\r\n setIsLoading(false);\r\n alert(\"Date of Birth is not matching with the PAN.\");\r\n // setErrCode(errorMessage.newKraError);\r\n setErrors({ ...errors, dob: \"Wrong DoB\" });\r\n dobMatched(responseObj, applicationIdExists);\r\n } else {\r\n dobMatched(responseObj, applicationIdExists);\r\n }\r\n }\r\n };\r\n\r\n function dobMatched(kycobj: any, applicationIdExists?: boolean) {\r\n \r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n let objAccType = window.sessionStorage.getItem(\"objAccType\") || \"\"; // only demat getting parameter type\r\n const panDobObj = {\r\n leadId: GlobalStore.leadId,\r\n emailID: GlobalStore.user.email,\r\n mobileno: GlobalStore.user.mobile,\r\n isemployeepan: isEmployee,\r\n panNo: values.pan,\r\n dob: GlobalStore.dateofbirth,\r\n // static data need to remove later\r\n aadhaar: values.aadhaarNo,\r\n ispanaadhaarlinked: isPanLinkedToAadhar,\r\n relationship: false,\r\n relationName: \"\",\r\n others: \"\",\r\n objUTM_Info: objUTM_Info,\r\n response: \"\",\r\n TransactionId: \"\",\r\n kycverified: \"\",\r\n product: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n platform: 1,\r\n };\r\n ASavePanDobDetails(\r\n (res: any) => applicationInitialized(res, kycobj, applicationIdExists),\r\n panDobObj\r\n );\r\n }\r\n\r\n function applicationInitialized(\r\n res: any,\r\n kycobj: any,\r\n applicationIdExists?: boolean\r\n ) {\r\n \r\n if (!res || res.error) {\r\n // setErrCode('121 - Error in Application initialization.');\r\n // setErrCode(errorMessage.applicationInitialized);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"SavePanDobDetails\", label: \"ERROR || ERR106\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.LeadId) {\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicationID;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n GlobalStore.aadharLinkedChoice =\r\n values.aadharLinked === \"Yes\" ? true : false;\r\n GlobalStore.personaldetails.pan = values.pan;\r\n GlobalStore.personaldetails.aadharNo = values.aadhaarNo.slice(-4);\r\n // Create link for capturing selfie from mobile\r\n const encodedPan = btoa(`${values.pan}`);\r\n const stringParams = `selfie?id=${encodedPan}`;\r\n const selfieUrl = `${config.root}${stringParams}`;\r\n GlobalStore.selfieUrl = selfieUrl;\r\n const clientObj = {\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n applicationId: GlobalStore.applicationID,\r\n };\r\n window.sessionStorage.setItem(\r\n \"clientDetails\",\r\n JSON.stringify(clientObj)\r\n );\r\n\r\n const clientPartialDetails_ao = {\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n token: GlobalStore.token,\r\n applicationId: GlobalStore.applicationID,\r\n dob: GlobalStore.dob,\r\n birthDate: GlobalStore.birthDate,\r\n pan: values.pan,\r\n aadharLinkedChoice: GlobalStore.aadharLinkedChoice,\r\n leadID: GlobalStore.leadId,\r\n emailID: GlobalStore.user.email,\r\n mobile: GlobalStore.user.mobile,\r\n panDetails: GlobalStore.personaldetails.panDetails,\r\n PANName: GlobalStore.personaldetails.PANName,\r\n isSeniorCitizen:\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false,\r\n isDigiLocker: GlobalStore.isDigiLocker,\r\n isKRA: false,\r\n isKYC: false,\r\n isSeeding: GlobalStore.isSeeding,\r\n selfieUrl: GlobalStore.selfieUrl,\r\n isManual: false,\r\n aadharNo: GlobalStore.personaldetails.aadharNo,\r\n };\r\n window.localStorage.setItem(\r\n \"aadharNumber\",\r\n GlobalStore.personaldetails.aadharNo\r\n );\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n const whatsappReq = {\r\n message: [\r\n {\r\n appId: res.data.ApplicationID,\r\n recipient_whatsapp: GlobalStore.user.mobile,\r\n usrNm: GlobalStore.personaldetails.PANName,\r\n },\r\n ],\r\n };\r\n if (photoObj.base64) {\r\n if (location !== undefined && location !== \"\") {\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n longitude: location.long,\r\n latitude: location.lat,\r\n ipaddress: \"192.168.200.80\",\r\n };\r\n \r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response,kycobj,applicationIdExists), ipvObj);\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n else\r\n {\r\n \r\n nextprocess(kycobj);\r\n }\r\n // updateUtmInfo(() => {}); // here updating utmcreative and content.\r\n // //commented due to whatsapp diable requirements on 20-1-23\r\n // // AWhatsappCom(whatsappCom, whatsappReq);\r\n\r\n // // Send link for capturing selfie from mobile\r\n // if (togPhoto) {\r\n // const smsBody = {\r\n // mobNo: GlobalStore.user.mobile,\r\n // // selfieLinkText: `Give a Smile and complete your Selfie process for Online Account Opening, click here ${selfieUrl} to complete the process. Regards, Nuvama`,\r\n // selfieLinkText: selfieUrl,\r\n // };\r\n // ASendSms((res: any) => {\r\n // if (!res || res.error) {\r\n // setErrCode(errCode + res.error);\r\n // } else {\r\n // if (res && res.data) {\r\n // }\r\n // }\r\n // }, smsBody);\r\n // }\r\n\r\n // // Storing CKYC details & Documents begin here\r\n // // if (kycobj.PersonalDetails) {\r\n // // // AGetCkycNumber((res: any) => getCkycNumber(res, applicationIdExists), values.pan);\r\n // // const kycDetails = kycobj.PersonalDetails;\r\n\r\n // // GlobalStore.ckycNo = kycDetails.CkycNumber;\r\n // // GlobalStore.isKYC = true;\r\n // // GlobalStore.personaldetails.fsfullName = `${kycDetails.FatherFName} ${kycDetails.FatherMName} ${kycDetails.FatherLName}`;\r\n // // GlobalStore.personaldetails.motherfullName = `${kycDetails.MotherFName} ${kycDetails.MotherMName} ${kycDetails.MotherLName}`;\r\n // // if (GlobalStore.personaldetails.fsfullName.trim() === \"\")\r\n // // GlobalStore.personaldetails.fsfullName = \"\";\r\n // // if (GlobalStore.personaldetails.motherfullName.trim() === \"\")\r\n // // GlobalStore.personaldetails.motherfullName = \"\";\r\n // // GlobalStore.ckycInfoObject.addressLine1 =\r\n // // `${kycDetails.PermLine1}` +\r\n // // \" \" +\r\n // // `${kycDetails.PermLine2 || \"\"}` +\r\n // // \" \" +\r\n // // `${kycDetails.PermLine3 || \"\"}`;\r\n // // GlobalStore.ckycInfoObject.sameAsPermanent =\r\n // // kycDetails.PermanentSameAsCorrespondaceFlag === \"N\" ? false : true;\r\n // // GlobalStore.ckycInfoObject.corrAddress =\r\n // // `${kycDetails.CorresLine1}` +\r\n // // \" \" +\r\n // // `${kycDetails.CorresLine2 || \"\"}` +\r\n // // \" \" +\r\n // // `${kycDetails.CorresLine3 || \"\"}`;\r\n // // GlobalStore.ckycInfoObject.pincode = kycDetails.PermPin;\r\n // // GlobalStore.ckycInfoObject.corrPincode = kycDetails.CorresPin;\r\n // // GlobalStore.personaldetails.gender = kycDetails.Gender;\r\n // // const clientPartialDetails_ao = JSON.parse(\r\n // // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // // );\r\n // // clientPartialDetails_ao.ckycNo = GlobalStore.ckycNo;\r\n // // clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n // // clientPartialDetails_ao.fsfullName =\r\n // // GlobalStore.personaldetails.fsfullName;\r\n // // clientPartialDetails_ao.motherfullName =\r\n // // GlobalStore.personaldetails.motherfullName;\r\n // // clientPartialDetails_ao.addressLine1 =\r\n // // GlobalStore.ckycInfoObject.addressLine1;\r\n // // clientPartialDetails_ao.sameAsPermanent =\r\n // // GlobalStore.ckycInfoObject.sameAsPermanent;\r\n // // clientPartialDetails_ao.corrAddress =\r\n // // GlobalStore.ckycInfoObject.corrAddress;\r\n // // clientPartialDetails_ao.pincode = GlobalStore.ckycInfoObject.pincode;\r\n // // clientPartialDetails_ao.corrPincode =\r\n // // GlobalStore.ckycInfoObject.corrPincode;\r\n // // window.localStorage.setItem(\r\n // // \"clientPartialDetails_ao\",\r\n // // JSON.stringify(clientPartialDetails_ao)\r\n // // );\r\n // // // If no images from CKYC\r\n // // }\r\n // if (isPanLinkedToAadhar == true) {\r\n // // const reqObj = {\r\n // // applicationid: GlobalStore.applicationID,\r\n // // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // // panno: values.pan,\r\n // // };\r\n // // AGetKraDetails(\r\n // // (res: any) => getKraDetails(res, applicationIdExists),\r\n // // reqObj\r\n // // );\r\n // getKraDetails(kycobj);\r\n // } else {\r\n // setIsNormalClient(true);\r\n // GlobalStore.isNormalClient = true;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n // setIsLoading(false);\r\n // }\r\n } else {\r\n // setErrCode('120 - Error in Application initialization.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('1221 - Error in fetching pending document upload list.');\r\n // setErrCode(errorMessage.checkPendingUpload);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR112\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n\r\n // Current Api response\r\n item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n const redisReqObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailsId: GlobalStore.clientPrimaryDetailId,\r\n };\r\n ARedisDigilockerDoc(\r\n (res: any) => getRedisData(res, isUploadDocumentsCompleted),\r\n redisReqObj\r\n );\r\n } else {\r\n // setErrCode('1222 - Error in fetching pending document upload list.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getRedisData(res: any, isUploadDocumentsCompleted: boolean) {\r\n if (!res || res.error) {\r\n // setErrCode('66341- Error in fetching Digilocker document.');\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SavePersonalProfileDetails\",\r\n label: \"ERROR || ERR114\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.coresAddress) {\r\n GlobalStore.isDigiLocker = true;\r\n } else {\r\n GlobalStore.isDigiLocker = false;\r\n }\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n }\r\n }\r\n\r\n function getClientStageDetails(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean\r\n ) {\r\n if (!res || res.error) {\r\n // setErrCode('1061 - Error in fetching stage completion details.');\r\n // setErrCode(errorMessage.getClientStageDetails);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR113\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n setCheckpanaaddharflag(responseObj.checkpanaaddharflag);\r\n\r\n if (responseObj.isdigilockercompleted) GlobalStore.isDigiLocker = true;\r\n if (responseObj.iskra) GlobalStore.isKRA = true;\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n //route according to stage api response\r\n // if (\r\n // !responseObj.isdigilockercompleted &&\r\n // values.aadharLinked === 'Yes' &&\r\n // !GlobalStore.isDigiLocker &&\r\n // !responseObj.ispersonaldetailscompleted\r\n // )\r\n // GlobalStore.nextIncompleteStage = containerUrl.dgLocker;\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n else if (!responseObj.isbankdetailscompleted) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n } else if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.plan;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.ipv;\r\n else if (responseObj.isagentvisitcompleted)\r\n GlobalStore.nextIncompleteStage = containerUrl.ocv;\r\n else if (!responseObj.isesigncompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.eSign;\r\n else if (responseObj.bpm_pd_status === 0)\r\n history.push(statusUrl.docVerificationInProgress);\r\n else if (responseObj.bpm_pd_status === 1)\r\n history.push(containerUrl.poa);\r\n\r\n savePanDob(true);\r\n } else {\r\n // setErrCode('1062 - Error in fetching stage completion details.');\r\n setErrCode(errCode + res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function whatsappCom(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('1241 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"WhatsUpAppInitiateCommunication\",\r\n label: \"ERROR || ERR104\",\r\n });\r\n } else {\r\n if (res.data) {\r\n } else {\r\n // setErrCode('1242 - Failed to provide consent for WhatsApp Notifications.');\r\n setErrCode(errCode + res.error);\r\n }\r\n }\r\n }\r\n\r\n const maskedAadhar = (\r\n res: any,\r\n savePermAddressObj: any,\r\n aadharOCR: any,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('Error in masking Aadhar number of the uploaded file.');\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-4\" });\r\n // setErrCode(res.error);\r\n } else if (res.data) {\r\n if (res.data.result.id_number_found) {\r\n // Masking API returns only JPG images, even if input is PDF.\r\n aadharOCR.base64document = res.data.result.base64_image;\r\n savePermAddressObj.mimeType = \"image/jpeg\";\r\n savePermAddressObj.fileName = permAddressObj.fileName + \".jpg\";\r\n }\r\n AextractAadhaar(\r\n (res: any) =>\r\n storeAadharData(\r\n res,\r\n savePermAddressObj,\r\n aadharOCR,\r\n applicationIdExists\r\n ),\r\n aadharOCR\r\n );\r\n }\r\n };\r\n\r\n const storeAadharData = (\r\n res: any,\r\n savePermAddressObj: any,\r\n aadharOCR: any,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('Error in reading Aadhar details of the uploaded file.');\r\n // setErrCode(errorMessage.storeAadharData);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-2\" });\r\n } else if (res.data) {\r\n if (res.data.result)\r\n GlobalStore.aadhaarOCRObj = res.data.result.extraction_output;\r\n const addressUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: aadharOCR.base64document,\r\n filename: savePermAddressObj.fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadResponse(res, savePermAddressObj, applicationIdExists),\r\n addressUploadObj\r\n );\r\n }\r\n };\r\n\r\n const getSelfieUploadResponse = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('1361- Error in uploading the file.');\r\n // setErrCode(errorMessage.getUploadResponse);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-7\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result == true) {\r\n uploadObj.fileName = res.data.Guid;\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n }\r\n const selfieDetails = [];\r\n selfieDetails.push(uploadObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n let objAccType = window.sessionStorage.getItem(\"objAccType\") || \"\";\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: selfieDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASaveDocumentDetails(\r\n () => documentDetailsSaved(res, applicationIdExists),\r\n saveObj\r\n );\r\n };\r\n\r\n const getUploadResponse = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-6\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result == true) {\r\n uploadObj.fileName = res.data.Guid;\r\n docCount += 1;\r\n } else {\r\n // setErrCode('1361- Error in uploading the file.');\r\n setErrCode(errCode + res.error);\r\n }\r\n }\r\n saveDetails.push(uploadObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n if (ckycDocs === docCount) {\r\n ASaveDocumentDetails(\r\n () => documentDetailsSaved(res, applicationIdExists),\r\n saveObj\r\n );\r\n }\r\n };\r\n const getUploadKraResponse = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-6\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result == true) {\r\n uploadObj.fileName = res.data.Guid;\r\n kraDocCount += 1;\r\n } else {\r\n // setErrCode('1361- Error in uploading the file.');\r\n setErrCode(errorMessage.getUploadResponse);\r\n }\r\n }\r\n saveKraDetails.push(uploadObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveKraDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n if (kraDocs === kraDocCount) {\r\n ASaveDocumentDetails(\r\n (res: any) => kraDocumentDetailsSaved(res, applicationIdExists),\r\n saveObj\r\n );\r\n }\r\n };\r\n const kraDocumentDetailsSaved = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode('1641- Error in saving document details of the application.');\r\n // setErrCode(errorMessage.documentDetailsSaved);\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR114-5\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n }\r\n };\r\n const documentDetailsSaved = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode('1641- Error in saving document details of the application.');\r\n // setErrCode(errorMessage.documentDetailsSaved);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR114-5\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n panno: values.pan,\r\n };\r\n \r\n AGetKraDetails(\r\n (res: any) => getKraDetails(res, applicationIdExists),\r\n reqObj\r\n );\r\n }\r\n };\r\n function getKraDocumentUpload(kraRes: any, applicationIdExists?: boolean) {\r\n kraDocs = kraRes.ImageDetails.length;\r\n const images = kraRes?.ImageDetails?.map((image: any) => {\r\n switch (image.ImageCode) {\r\n case \"31\":\r\n case \"00\":\r\n const savePermAddressObj: saveDocumentObj = {\r\n documentCategoryId: image.DocumentCategoryId?.toString(),\r\n documentId: image.DocumentId?.toString(),\r\n fileName:\r\n `${GlobalStore.applicationID}_Permanent_Address` +\r\n (image.MimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: true,\r\n mimeType: image.MimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: true,\r\n iskycdocument: false,\r\n documentNumber:image.DocumentNumber,\r\n };\r\n const addressUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: image.Image,\r\n filename: savePermAddressObj.fileName,\r\n };\r\n\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadKraResponse(\r\n res,\r\n savePermAddressObj,\r\n applicationIdExists\r\n ),\r\n addressUploadObj\r\n );\r\n break;\r\n\r\n default:\r\n const savePermAddressDefaultObj: saveDocumentObj = {\r\n documentCategoryId: image.DocumentCategoryId?.toString(),\r\n documentId: image.DocumentId?.toString(),\r\n fileName:\r\n `${GlobalStore.applicationID}_Permanent_Address` +\r\n (image.MimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: true,\r\n mimeType: image.MimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: true,\r\n iskycdocument: false,\r\n documentNumber:image.DocumentNumber,\r\n };\r\n const addressUploadDefaultObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: image.Image,\r\n filename: savePermAddressDefaultObj.fileName,\r\n };\r\n\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadKraResponse(\r\n res,\r\n savePermAddressDefaultObj,\r\n applicationIdExists\r\n ),\r\n addressUploadDefaultObj\r\n );\r\n\r\n break;\r\n }\r\n });\r\n }\r\n function getKraDetails(res: any, applicationIdExists?: boolean) {\r\n console.log(\"KRA console\", res);\r\n if (!res || res.error) {\r\n // setErrCode('1227- Error in fetching details from KRA portal.');\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetKraDetails\", label: \"ERROR || ERR108-1\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n !responseObj.ErrorCode &&\r\n (responseObj.AppStatus === \"02\" || responseObj.AppStatus === \"07\")\r\n ) {\r\n GlobalStore.isKRA = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail\r\n ? responseObj.KraEmail\r\n : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile\r\n ? responseObj.KraMobile\r\n : \"\";\r\n GlobalStore.KRA_mode = responseObj.kra_mode ? responseObj.kra_mode : 0;\r\n\r\n // if (!GlobalStore.isKYC) {\r\n const resultObj = responseObj;\r\n GlobalStore.kraInfoObject.addressLine1 = `${resultObj.AppPerAdd1} ${\r\n resultObj.AppPerAdd2 || \"\"\r\n } ${resultObj.AppPerAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;//.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n\r\n GlobalStore.kraInfoObject.corrAddress = `${resultObj.AppCorAdd1} ${\r\n resultObj.AppCorAdd2 || \"\"\r\n } ${resultObj.AppCorAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress;//.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n GlobalStore.kraInfoObject.pincode = resultObj.AppPerPincd;\r\n GlobalStore.kraInfoObject.corrPincode = resultObj.AppCorPincd;\r\n GlobalStore.personaldetails.fsfullName = resultObj.FatherName\r\n ? resultObj.FatherName\r\n : GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode =\r\n GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName =\r\n GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent=GlobalStore.kraInfoObject.addressLine1==GlobalStore.kraInfoObject.corrAddress? true:false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\r\n getKraDocumentUpload(responseObj);\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n \r\n if (applicationIdExists) history.push(GlobalStore.nextIncompleteStage);\r\n else history.push(dashboardUrl.profile);\r\n } else {\r\n if (!GlobalStore.isKRA) {\r\n setIsNormalClient(true);\r\n GlobalStore.isNormalClient = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setIsLoading(false);\r\n } else navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n function navigate(applicationIdExists: boolean | undefined) {\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n \r\n if (\r\n (!clientPartialDetails_ao.ckycNo ||\r\n clientPartialDetails_ao.ckycNo === \"\") &&\r\n !clientPartialDetails_ao.isKRA\r\n ) {\r\n \r\n history.push(containerUrl.dgLocker);\r\n } else if (applicationIdExists) {\r\n \r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n // else if (values.aadharLinked !== 'No') history.push(containerUrl.dgLocker);\r\n else {\r\n if (!errCode && errCode.length === 0) history.push(dashboardUrl.profile);\r\n }\r\n }\r\n\r\n const handleConsent = () => {\r\n // console.log('Checked');\r\n // setConsent(!consent);\r\n };\r\n\r\n const sendFromMobile = (val: string) => {\r\n if (val === \"Photo\") {\r\n if (togPhoto === true) {\r\n setTogPhoto(false);\r\n } else {\r\n photoObj.isWatsappFlag = true;\r\n photoObj.fileName = \".\";\r\n photoObj.mimeType = \".\";\r\n setTogPhoto(true);\r\n }\r\n }\r\n };\r\n\r\n const initiateCamera = async () => {\r\n if (location == \"\") {\r\n getLocation();\r\n }\r\n\r\n canvasRefElement.current!.hidden = true;\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n try {\r\n const userMedia = await navigator.mediaDevices.getUserMedia(constraints);\r\n const video = videoRefElement.current;\r\n if (video) {\r\n video.srcObject = userMedia;\r\n await video.play();\r\n setStreams(userMedia);\r\n }\r\n } catch (err) {\r\n alert(err);\r\n }\r\n setShowRetake(true);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: false,\r\n });\r\n };\r\n\r\n const takePhoto = async () => {\r\n canvasRefElement.current!.hidden = false;\r\n\r\n let video = videoRefElement.current;\r\n let canvas = canvasRefElement.current;\r\n\r\n if (canvas && video) {\r\n // console.log('If canvas');\r\n const width = video.videoWidth;\r\n const height = video.videoHeight;\r\n canvas.width = width;\r\n canvas.height = height;\r\n let ctx = canvas.getContext(\"2d\");\r\n\r\n videoRefElement.current!.hidden = true;\r\n ctx?.drawImage(video, 0, 0, width, height);\r\n\r\n canvas.toBlob((blob) => storePhoto(blob));\r\n\r\n closePhoto();\r\n }\r\n setHasPhoto(true);\r\n };\r\n\r\n const closePhoto = () => {\r\n streams?.getTracks().forEach((track: { stop(): any }) => {\r\n track.stop();\r\n });\r\n };\r\n\r\n const storePhoto = (blob: Blob | null) => {\r\n const new_File = new File([blob as BlobPart], \"personalPhoto.jpeg\", {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size < 1000) {\r\n alert(\"video size should be greater than 1KB. Please upload it again\");\r\n return false;\r\n }\r\n\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(new_File);\r\n fileReader.onload = function (event) {\r\n const base64 = (event.target && event.target.result)?.toString();\r\n base64String = base64!.split(\",\")[1];\r\n photoObj.base64 = base64String;\r\n // console.log(base64String);\r\n setIsLoading(true);\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n base64String,\r\n GlobalStore.leadId\r\n );\r\n };\r\n };\r\n const getExtractPhotoLiveness = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setPhotoErrorMsg(\"\");\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n gtmService({ action: \"checkPhotoLiveness\", label: \"ERROR || ERR998\" });\r\n } else {\r\n if (res.data && res.data.IsLive) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: false,\r\n });\r\n setPhotoErrorMsg(res.data.Message);\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n setPhotoErrorMsg(res.data.Message);\r\n // if (errCode !== res.data.Message)\r\n // setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const uploadSelfie = (applicationIdExists?: boolean) => {\r\n photoObj.id = \"photo\";\r\n photoObj.disable = false;\r\n photoObj.uploadPer = 100;\r\n photoObj.fileName = `${GlobalStore.applicationID}_Photo`;\r\n photoObj.showFile = false;\r\n photoObj.hideProgress = false;\r\n photoObj.mimeType = \"image/jpeg\";\r\n photoObj.documentId = 2;\r\n setPhotoObj(photoObj);\r\n const savePhotoObj: saveDocumentObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n fileName:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: true,\r\n mimeType: photoObj.mimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n const selfie = true;\r\n const photoUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: photoObj.base64,\r\n filename:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n };\r\n AUploadDocument(\r\n (res: any) =>\r\n getSelfieUploadResponse(res, savePhotoObj, applicationIdExists),\r\n photoUploadObj\r\n );\r\n };\r\n\r\n // This function reads the browsed file and returns the base64 string and other details\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n panObj.imgUrl = \"\";\r\n panObj.documentId = 1;\r\n setPanObj(panObj);\r\n\r\n const panOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"PAN Card\",\r\n documentid: panObj.documentId,\r\n source: DIY,\r\n };\r\n\r\n AextractPan(\r\n (res: any) => storeOcrData(res, val, fileName, id, type),\r\n panOCR\r\n );\r\n }\r\n\r\n const storeOcrData = (\r\n res: any,\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('Invalid Image');\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n setErrCode(errCode + res.error);\r\n // alert('Pan Card number entered and the uploaded image do not match. Please upload correct PAN');\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-3\" });\r\n alert(\r\n \"Entered Pan do not match with Pan Image. Rectify the Pan Entry or Image\"\r\n );\r\n } else if (res.data) {\r\n // Checking if PAN number extracted matches with PAN number entered\r\n if (\r\n res.data.result != null &&\r\n res.data.result.extraction_output.id_number === values.pan\r\n ) {\r\n setPanNumberMatched(true);\r\n let panVal = res.data.result.extraction_output.id_number;\r\n panDob = res.data.result.extraction_output.date_of_birth;\r\n setPanDobState(panDob);\r\n setPanValState(panVal);\r\n\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n\r\n const savePanObj: saveDocumentObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n fileName:\r\n panObj.fileName + (type === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: false,\r\n mimeType: type,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n\r\n let PanUploadObject = {\r\n savePanObj: savePanObj,\r\n uploadObj: uploadObj,\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n };\r\n\r\n setPanUploadObject(PanUploadObject);\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n\r\n if (panDob === moment(values.dob).format(\"YYYY-MM-DD\")) {\r\n setRemovePanImg(false);\r\n setDobChecked(true);\r\n savePanObj.autoqc = true;\r\n AUploadDocument(\r\n (res: any) => getPanUploadRes(res, savePanObj),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type)\r\n );\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n setErrCode(\"\");\r\n } else {\r\n // setIsNormalClient(true);\r\n // GlobalStore.isNormalClient = true;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n console.log(\"HERE------ \");\r\n setRemovePanImg(true);\r\n setDobChecked(false);\r\n setIsLoading(false);\r\n // setErrCode('DoB entered does not match with that on PAN. Please enter correct DoB.');\r\n\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n }\r\n } else {\r\n setPanNumberMatched(false);\r\n setIsLoading(false);\r\n // setErrCode('Pan Card number entered and the uploaded image do not match. Please upload correct PAN.');\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n }\r\n }\r\n };\r\n\r\n // This function takes care of waiting till the uploading of file is completed b4 getPanUploadRes fn is called\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...panObj };\r\n if (percentage < 100) {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setPanObj(panCopy);\r\n } else if (percentage === 100) {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.showFile = false;\r\n panCopy.hideProgress = false;\r\n panCopy.fileName = fileName;\r\n panCopy.mimeType = type;\r\n setPanObj(panCopy);\r\n }\r\n };\r\n\r\n // This fn is called after uploading of file is completed\r\n const getPanUploadRes = (res: any, savePanObj: saveDocumentObj) => {\r\n if (!res || res.error) {\r\n // setErrCode('1361- Error in uploading the file.');\r\n // setErrCode(errorMessage.getUploadResponse);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-8\" });\r\n setIsLoading(false);\r\n setPanUploaded(false);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n savePanObj.fileName = res.data.Guid;\r\n }\r\n GlobalStore.isPANVerified = true;\r\n setPanUploaded(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isPANVerified = GlobalStore.isPANVerified;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setIsLoading(false);\r\n saveDetails.push(savePanObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASaveDocumentDetails((res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n } else {\r\n if (res && res.data) {\r\n }\r\n }\r\n }, saveObj);\r\n }\r\n };\r\n\r\n const handleContinue = () => {\r\n setErrCode(\"\");\r\n navigate(false);\r\n console.log(\r\n \" Object.values(errors).some((error) => error)\",\r\n Object.values(errors).some((error) => error)\r\n );\r\n };\r\n async function turnOnCamera() {\r\n getLocation();\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n videoRefElement.current!.srcObject = turnOfCamera;\r\n }\r\n\r\n function handleError(error: any) {\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n handleSuccess(stream);\r\n })\r\n .catch((stream) => {\r\n handleError(stream);\r\n });\r\n }\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n AGetPanUtiData(getSeedingData, values.pan);\r\n };\r\n\r\n const getSeedingData = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n setSeedingPopup(true);\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n values.pan,\r\n values.aadhaarNo\r\n );\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(false);\r\n }\r\n } else {\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142-S\" });\r\n }\r\n if (GlobalStore.applicationID)\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }\r\n };\r\n\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n console.log(\r\n \"isNormalClient =\",\r\n isNormalClient,\r\n \"|| panNumberMatched =\",\r\n panNumberMatched,\r\n \"|| dobChecked=,\",\r\n dobChecked,\r\n \"|| removePanImg=\",\r\n removePanImg\r\n );\r\n\r\n function nextprocess(kycobj: any)\r\n {\r\n \r\n updateUtmInfo(() => {}); \r\n\r\n if (togPhoto) {\r\n const smsBody = {\r\n mobNo: GlobalStore.user.mobile,\r\n // selfieLinkText: `Give a Smile and complete your Selfie process for Online Account Opening, click here ${selfieUrl} to complete the process. Regards, Nuvama`,\r\n //selfieLinkText: selfieUrl,\r\n selfieLinkText: GlobalStore.selfieUrl\r\n };\r\n ASendSms((res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n } else {\r\n if (res && res.data) {\r\n }\r\n }\r\n }, smsBody);\r\n }\r\n\r\n if (isPanLinkedToAadhar == true) {\r\n \r\n getKraDetails(kycobj);\r\n } else {\r\n setIsNormalClient(true);\r\n GlobalStore.isNormalClient = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {/* setShowDigiRedirection(false)}>\r\n \r\n */}\r\n
\r\n
\r\n \"banner\"\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {!hasPhoto &&
}\r\n {!hasPhoto &&
}\r\n {!showBrowserPermissionModal && (\r\n
\r\n {!showRetake ? (\r\n
\r\n {/* */}\r\n \r\n Ready?\r\n \r\n
\r\n ) : hasPhoto ? (\r\n
\r\n {\r\n videoRefElement.current!.hidden = false;\r\n setHasPhoto(false);\r\n initiateCamera();\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, plesae wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n
\r\n \r\n
\r\n sendFromMobile(\"Photo\")}\r\n />\r\n
\r\n
\r\n {/* Added this to test the feature */}\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n {togPhoto && (\r\n
\r\n \r\n {/*
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n )}\r\n
\r\n
\r\n\r\n
\r\n Please provide your PAN Card details below to proceed\r\n
\r\n\r\n
\r\n
\r\n
\r\n {/* Pan Field start */}\r\n
\r\n \r\n onChange(\"pan\", value.toUpperCase())}\r\n onBlur={(error) => onBlurPan(error)}\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n pattern={pan}\r\n errorText={errors.pan}\r\n maxLength={10}\r\n suffix={validPan ? : <>}\r\n />\r\n
\r\n {/* Pan Field end */}\r\n\r\n {/* DOB start */}\r\n
\r\n \r\n onChange(\"dob\", val)}\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={\r\n new Date(\r\n new Date().setFullYear(new Date().getFullYear() - 18)\r\n )\r\n }\r\n minDate={\r\n new Date(\r\n new Date().setFullYear(new Date().getFullYear() - 100)\r\n )\r\n }\r\n onBlur={onBlurDob}\r\n isError={errors.dob ? true : false}\r\n />\r\n
\r\n {errors.dob &&

{errors.dob}

}\r\n {/* DOB end */}\r\n\r\n {/* Aadhar no. field start*/}\r\n
\r\n \r\n onChange(\"aadhaarNo\", val)}\r\n pattern={betweenNChars(12, 12)}\r\n placeholder=\"Eg. 1234\"\r\n name=\"aadhaarNo\"\r\n maxLength={12}\r\n integer={true}\r\n type=\"password\"\r\n onBlur={(error) => onBlurAadhaar(error)}\r\n errorText={errors.aadhaarNo}\r\n />\r\n
\r\n {/* Aadhar no. field end*/}\r\n\r\n {/*
\r\n \r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Why?\r\n \r\n {showExplain && (\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n onChange('aadharLinked', 'Yes')}\r\n name=\"aadharLinked\"\r\n label=\"Yes\"\r\n />\r\n
\r\n
\r\n onChange('aadharLinked', 'No')}\r\n name=\"aadharLinked\"\r\n label=\"No\"\r\n />\r\n
\r\n
\r\n onChange('aadharLinked', 'Not Sure')}\r\n name=\"aadharLinked\"\r\n label=\"Not Sure\"\r\n />\r\n
\r\n
\r\n
\r\n {values.aadharLinked !== 'Yes' && (\r\n
\r\n {\r\n gtmService({ action: 'PAN_DOB', label: 'Aadhar_Mobile_Link_Click' });\r\n setShowDigiRedirection(true);\r\n }}\r\n >\r\n Check if your Aadhar and mobile are linked\r\n \r\n
\r\n )} */}\r\n\r\n
\r\n {isNormalClient && (\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n\r\n
\r\n handleConsent()}\r\n />\r\n \r\n
\r\n\r\n {utmObj &&\r\n Object.keys(utmObj).length &&\r\n utmObj.utm_source &&\r\n utmObj.utm_content &&\r\n utmObj.utm_campaign && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {/* Photo Error Msg Start*/}\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Photo Error Msg End*/}\r\n\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n (isNormalClient &&\r\n (!panNumberMatched || !dobChecked || removePanImg)) ||\r\n !consent ||\r\n liveLocationCheck.checkPhotoLiveness ||\r\n liveLocationCheck.checkLocation\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
\r\n {/* {DeviceContext().isMobile && } */}\r\n \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n disabled={!checkpanaaddharflag}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n {\r\n setIsLoading(true);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }}\r\n />\r\n
*/}\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PANInfo;\r\n","import React from 'react'\r\nimport ProfileImage from '../ProfileImage/ProfileImage'\r\nimport './ErrorScreen.scss'\r\n\r\n\r\nconst ErrorScreen = (props: any) => (\r\n
\r\n
\r\n \r\n
\r\n

An Error Occured

\r\n

Sorry! We are facing technical issues.

\r\n

Try Again

\r\n
\r\n)\r\n\r\nexport default ErrorScreen","import * as React from \"react\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./DocStatusList.scss\";\r\nimport AdhaarSample from \"../../../assets/docSampleImages/Adhaar_Sample.png\";\r\nimport DrivingLicense from \"../../../assets/docSampleImages/DLSample.jpg\";\r\nimport Passport from \"../../../assets/docSampleImages/passportSample.jpg\";\r\nimport VoterID from \"../../../assets/docSampleImages/VoterID_Sample.jpg\";\r\n\r\nexport interface DocStatusListProps {\r\n docName: string;\r\n // docStatus: \"Pending Upload\" | \"Pending Approval\" | \"Approved\";\r\n docInfo: string;\r\n}\r\n\r\nconst OptionDocumentList: React.FC = (props) => {\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n\r\n let InfomodalReturn = (doctype: string) => {\r\n switch (doctype) {\r\n case \"Adhaar\":\r\n return (\r\n \r\n );\r\n case \"Driving License\":\r\n return (\r\n \r\n );\r\n case \"Voter Id\":\r\n return (\r\n \r\n );\r\n case \"Passport\":\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n
\r\n \r\n {showExplain && (\r\n \r\n
\r\n {InfomodalReturn(props.docName)}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default OptionDocumentList;\r\n","import React from \"react\";\r\nimport \"./DgLocker.scss\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport dgLocker from \"../../../assets/icons/panDob.svg\";\r\nimport Button, { LightBlueButton } from \"../../UI/Button/Button\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport domain from \"../../../config/domain\";\r\nimport { digiLockerUrl, dashboardUrl } from \"../../utils/constants\";\r\nimport arrowPoint from \"../../../assets/icons/arrow_point.png\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport OptionDocumentList from \"./OptionDocumentList\";\r\n\r\nexport interface DgLockerProps {}\r\n\r\nconst DgLocker: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const history = useHistory();\r\n // const [consentChecked, setConsentChecked] = React.useState(false);\r\n const [showDigiExplain, setShowDigiExplain] = React.useState(false);\r\n const [DGLToggle, setDGLToggle] = React.useState(false);\r\n const [uploadDocToggle, setUploadDocToggle] = React.useState(false);\r\n const documentArray = [\"Adhaar\", \"Driving License\", \"Voter Id\", \"Passport\"];\r\n const dgLockerLinkUrl =\r\n digiLockerUrl +\r\n \"?client_id=\" +\r\n domain.clientId +\r\n \"&response_type=code&redirect_uri=\" +\r\n domain.redirectUri +\r\n \"?&state=\" +\r\n JSON.stringify({});\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n window.scroll(0, 0);\r\n }, []);\r\n\r\n // Clervertap event: DigiLocker screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.digiLockerPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: \"NO\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: \"YES\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const cleverTapConnectDLEvent = () => {\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.digiLockerPage\r\n .CLICK_ON_CONNECT_TO_DIGILOCKER,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: \"NO\",\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: \"YES\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on pan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.digiLockerPage.CLICK_ON_CONNECT_TO_DIGILOCKER\r\n );\r\n };\r\n\r\n function handleContinue(\r\n event: React.MouseEvent\r\n ) {\r\n event.preventDefault();\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.aadharLinkedChoice = false;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n\r\n //new code\r\n let DgLockerToggle = () => {\r\n console.log(\"DGL\");\r\n setDGLToggle(true);\r\n setUploadDocToggle(false);\r\n };\r\n\r\n let uploadDocumentsToggle = () => {\r\n console.log(\"UD\");\r\n setUploadDocToggle(true);\r\n setDGLToggle(false);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"dgLocker\"\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {DGLToggle ? (\r\n
\r\n
\r\n \r\n
\r\n
Benefits
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {uploadDocToggle ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {documentArray.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
\r\n
\r\n {\r\n gtmService({ action: \"DIGI_LOCKER\", label: \"Step_Complete\" });\r\n cleverTapConnectDLEvent();\r\n if (DGLToggle) window.location.href = dgLockerLinkUrl;\r\n if (uploadDocToggle) history.push(dashboardUrl.personalIfo);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DgLocker;\r\n","import React, { useEffect } from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport RegLayout from '../components/Registration/Layout/Layout';\r\nimport RegistrationHome from '../components/Registration/RegistrationHome/RegistrationHome';\r\nimport WelcomeBack from '../components/Registration/WelcomeBack/WelcomeBack';\r\nimport MailVerified from '../components/Registration/MailVerified/MailVerified';\r\nimport NRI from '../components/Registration/NRI/NRI';\r\nimport OTP from '../components/Registration/OTP/OTP';\r\nimport AccExists from '../components/Registration/AccExists/AccExists';\r\nimport PANInfo from '../components/Registration/PANInfo/PANInfo';\r\nimport Error from '../components/UI/ErrorScreen/ErrorScreen';\r\nimport ShareAdd from '../components/Registration/ShareAdd/ShareAdd';\r\nimport DgLocker from '../components/Registration/DgLocker/DgLocker';\r\nimport { containerUrl } from '../components/utils/constants';\r\nimport useQuery from '../customHooks/useQuery';\r\nimport { ClevertapService } from '../components/Services/clevertapService';\r\nimport { AppsFlyerService } from '../components/Services/appsFlyerService';\r\n\r\nconst RegistrationRoutes = () => {\r\n const quryParams = useQuery();\r\n const utm_placement = quryParams.get('utm_placement') ? quryParams.get('utm_placement') : '';\r\n\r\n useEffect(() => {\r\n getCleverTapIDFromService();\r\n }, []);\r\n\r\n const getCleverTapIDFromService = async () => {\r\n // const id = utm_placement || await ClevertapService.getCleverTapID();\r\n // const utmObj = JSON.parse(window.sessionStorage.getItem(\"objUTM_Info\") || '{}');\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify({\r\n // ...utmObj,\r\n // ...{\r\n // utm_placement: id\r\n // }\r\n // }));\r\n // // Now we need to initilise CUID with AppsFlyer\r\n // AppsFlyerService.setCUID(id);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default RegistrationRoutes;\r\n","import React from \"react\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./ProfileHeader.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ProgressBar from \"../../UI/ProgressBar/ProgressBar\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { calculateCompletePercentage } from \"../../Services/globalService\";\r\nimport logo from \"../../../assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg\";\r\n\r\nexport interface ProfileHeaderProps {}\r\n\r\nconst ProfileHeader: React.FC = () => {\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n\r\n function openMenu() {\r\n GlobalStore.dashboardActivetUrl = history.location.pathname;\r\n history.push(\"/menu\");\r\n }\r\n\r\n const percentageComplete: string = calculateCompletePercentage();\r\n\r\n return (\r\n
\r\n {isDesktop ? (\r\n
\r\n {/* */}\r\n \"logo\"\r\n
\r\n {percentageComplete}% complete\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ProfileHeader;\r\n","import React from \"react\";\r\nimport ProfileNavBar, {\r\n checkModuleCompleteness,\r\n} from \"../ProfileNavBar/ProfileNavBar\";\r\nimport ProfileHeader from \"../ProfileHeader/ProfileHeader\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./ProfileLayout.scss\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n ACreateApplicationTicket,\r\n setStageData,\r\n redirectToEntryPoint,\r\n completeModuleStatus,\r\n} from \"../../Services/globalService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n AGetEsignUrlDetails,\r\n APendingUploadList,\r\n} from \"../../Services/dashboard/eSignApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport {\r\n containerUrl,\r\n dashboardUrl,\r\n leftNavBarArray,\r\n ipvNavBarObj,\r\n statusUrl,\r\n} from \"../../utils/constants\";\r\nimport { ASendApplicationForQC } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { ACheckClientProfilingData } from \"../../Services/dashboard/profilerApiServices\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface ProfileLayoutProps {}\r\n\r\nconst ProfileLayout: React.FC = (props) => {\r\n clientPartialDetailsToStore();\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n\r\n React.useEffect(() => {\r\n if (history.action === \"POP\") history.push(redirectToEntryPoint());\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n GlobalStore.leftNavBarState.length === leftNavBarArray.length\r\n )\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }, [GlobalStore.isKYC, GlobalStore.isKRA]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }, [history.location.pathname]);\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res && res.data) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev Api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getProfilerStatus(res: any) {\r\n if (res.data) {\r\n completeModuleStatus(dashboardUrl.profiler);\r\n }\r\n }\r\n\r\n function getClientStageDetails(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean\r\n ) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n console.log(clientPartialDetails_ao, \"clientPartialDetails_ao\");\r\n\r\n if (!clientPartialDetails_ao.mobile) {\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n }\r\n\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n\r\n if (responseObj.isdigilockercompleted) GlobalStore.isDigiLocker = true;\r\n //route according to stage api response\r\n if (\r\n (!responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker) ||\r\n responseObj.iskyc === null ||\r\n responseObj.iskra === null\r\n )\r\n GlobalStore.nextIncompleteStage = containerUrl.dgLocker;\r\n else if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n else if (!responseObj.isbankdetailscompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n else if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.plan;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.ipv;\r\n else if (responseObj.isagentvisitcompleted)\r\n GlobalStore.nextIncompleteStage = containerUrl.ocv;\r\n else if (!responseObj.isesigncompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.eSign;\r\n else if (\r\n (responseObj.applicationstatus === 0 ||\r\n responseObj.bpm_pd_status === 2 ||\r\n responseObj.bpm_pd_status === 3) &&\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted &&\r\n responseObj.isbankdetailscompleted &&\r\n responseObj.isbrokerageschemecompleted &&\r\n isUploadDocumentsCompleted &&\r\n (GlobalStore.isDigiLocker ||\r\n GlobalStore.isKRA ||\r\n GlobalStore.isKYC ||\r\n responseObj.isipvarificationcompleted)\r\n ) {\r\n AGetEsignUrlDetails(getEsignUrl, GlobalStore.applicationID, 1);\r\n } else GlobalStore.nextIncompleteStage = containerUrl.poa;\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getEsignUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data.Data) {\r\n if (res.data.Data.ConvertToPhysical === true)\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function createApplicationTicket(e?: any) {\r\n var message = \"not refreshed\";\r\n\r\n if ((window as any).refreshKeyPressed) {\r\n message = \"refreshed\";\r\n }\r\n console.log(\"message\", message);\r\n\r\n if (message !== \"refreshed\") {\r\n const stageInfoId: number = parseInt(\r\n window.sessionStorage.getItem(\"stageInfoId\") || \"\"\r\n );\r\n if (\r\n stageInfoId &&\r\n (stageInfoId === 1 ||\r\n stageInfoId === 2 ||\r\n stageInfoId === 5 ||\r\n stageInfoId === 6 ||\r\n stageInfoId === 7 ||\r\n stageInfoId === 9 ||\r\n stageInfoId === 10)\r\n ) {\r\n const appIdlocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n let applicationId = \"\";\r\n let clientPrimaryDetailId = \"\";\r\n if (\r\n GlobalStore.applicationID != undefined ||\r\n GlobalStore.applicationID != \"\"\r\n ) {\r\n applicationId = GlobalStore.applicationID;\r\n } else if (\r\n appIdlocalStorage.applicationId != \"\" ||\r\n appIdlocalStorage.applicationId != undefined\r\n ) {\r\n applicationId = appIdlocalStorage.applicationId;\r\n }\r\n\r\n if (\r\n GlobalStore.clientPrimaryDetailId != undefined ||\r\n GlobalStore.clientPrimaryDetailId != \"\"\r\n ) {\r\n clientPrimaryDetailId = GlobalStore.clientPrimaryDetailId;\r\n } else if (\r\n appIdlocalStorage.clientPrimaryDetailId != \"\" ||\r\n appIdlocalStorage.clientPrimaryDetailId != undefined\r\n ) {\r\n clientPrimaryDetailId = appIdlocalStorage.clientPrimaryDetailId;\r\n }\r\n const stageInfoObj = {\r\n applicationid: applicationId,\r\n clientprimarydetailid: parseInt(clientPrimaryDetailId),\r\n stageinfoid: stageInfoId,\r\n };\r\n ACreateApplicationTicket(() => {}, stageInfoObj);\r\n e.returnValue = message;\r\n return message;\r\n }\r\n }\r\n\r\n // e.preventDefault();\r\n // window.alert(\"closing the window\")\r\n // e.returnValue = '';\r\n // const stageInfoId: number = parseInt(window.sessionStorage.getItem('stageInfoId') || '');\r\n // if (\r\n // stageInfoId &&\r\n // (stageInfoId === 1 ||\r\n // stageInfoId === 2 ||\r\n // stageInfoId === 5 ||\r\n // stageInfoId === 6 ||\r\n // stageInfoId === 7 ||\r\n // stageInfoId === 9 ||\r\n // stageInfoId === 10)\r\n // ) {\r\n // const stageInfoObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // stageinfoid: stageInfoId,\r\n // };\r\n\r\n // ACreateApplicationTicket(() => { }, stageInfoObj);\r\n // }\r\n }\r\n\r\n window.onbeforeunload = createApplicationTicket;\r\n\r\n //check for Navigation Timing API support\r\n if (window.performance) {\r\n console.info(\"window.performance works fine on this browser\");\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isDesktop && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {props.children}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ProfileLayout;\r\n","import React from 'react';\r\nimport profileBanner from '../../../assets/icons/profileBanner.jpeg'\r\nimport ProfileForm from '../ProfileForm/ProfileForm';\r\nimport './ProfileHome.scss';\r\n\r\nexport interface ProfileHomeProps {\r\n\r\n}\r\n\r\nconst ProfileHome: React.FC = (props) => {\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem('stageInfoId', '1');\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Profile\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ProfileHome;","import React from 'react';\r\nimport ProfileNavBar from '../ProfileNavBar/ProfileNavBar';\r\nimport './ProfileMenu.scss';\r\nimport DeviceContext from '../../Services/identifyDevice';\r\nimport { useHistory } from 'react-router-dom';\r\nimport GlobalStore from '../../store/globalStore';\r\nimport ProgressBar from '../../UI/ProgressBar/ProgressBar';\r\nimport { dashboardUrl } from '../../utils/constants';\r\nimport { calculateCompletePercentage } from '../../Services/globalService';\r\n\r\nexport interface ProfileMenuProps {\r\n}\r\n\r\nconst ProfileMenu: React.FC = () => {\r\n\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n if (DeviceContext().isDesktop) {\r\n if (GlobalStore.dashboardDefaultUrl)\r\n history.replace(GlobalStore.dashboardDefaultUrl);\r\n else\r\n history.replace(dashboardUrl.profile);\r\n }\r\n }, [history.location.pathname]);\r\n\r\n const percentageComplete: string = calculateCompletePercentage();\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ProfileMenu;","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const getIFSCDetails = (callback: CallableFunction, ifsc: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"IFSC\",\r\n BankName: \"\",\r\n BankCity: \"\",\r\n Ifsc: ifsc,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankDetailsFromIfsc,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-list-for-ifsc\",\r\n // body: {\r\n // ifsccode: ifsc,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const SaveBankDetails = (\r\n callback: CallableFunction,\r\n listsObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBankDetails\",\r\n body: listsObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBankDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-bank-details\",\r\n // body: listsObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const getbankList = (callback: CallableFunction) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-distinct-bank-list\",\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"All\",\r\n BankName: \"\",\r\n BankCity: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDistinctBankList,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const getbankCity = (callback: CallableFunction, bankName: string) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-cities\",\r\n // body: {\r\n // bankname: bankName,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"city\",\r\n BankName: bankName,\r\n BankCity: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankCities,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const getbankBranch = (\r\n callback: CallableFunction,\r\n bankCity: string,\r\n bankName: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-branch\",\r\n // body: {\r\n // bankcity: bankCity,\r\n // bankname: bankName,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"branch\",\r\n BankName: bankName,\r\n BankCity: bankCity,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankBranch,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetBankDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-details\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetailsByAppId\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankDetails,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetBankMandateDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/get-Bank-Mandate-Details\",\r\n body: {\r\n Applicationid: applicationid,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveBankMandateDetails = (\r\n callback: CallableFunction,\r\n mandateObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/save-MultiBank-Mandate-Details\",\r\n body: mandateObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AgetBeneficiaryName = (\r\n callback: CallableFunction,\r\n beneficiaryObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Pichain/GetPichainBeneficiaryName\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: beneficiaryObj.applicationid,\r\n AccountNumber: beneficiaryObj.account_number,\r\n Ifsc: beneficiaryObj.ifsc,\r\n Name: beneficiaryObj.name,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getPichainBeneficiaryName,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-beneficiary-name-pichain\",\r\n // body: beneficiaryObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AgetOcrResponseDetails = (\r\n callback: CallableFunction,\r\n ocrResponseObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOCRDocumentResponseData\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: ocrResponseObj.applicationId,\r\n DocumentCategory: ocrResponseObj.documentCategory,\r\n DocumentId: ocrResponseObj.documentId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOCRDocumentResponseData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ocr-response-details\",\r\n // body: ocrResponseObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBeneficiaryNamePichainV1 = (\r\n callback: CallableFunction,\r\n req: object,\r\n headers: object\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"DIYAPI/GetPichainBeneficiaryName\",\r\n // method: \"POST\",\r\n // body: {\r\n //\r\n // },\r\n // apiBaseUrl: config.diyNewApiUrl,\r\n // tempToken: config.tempToken,\r\n // serviceName: servicesList.getBeneficiaryNamePichainV1,\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"eco/get-beneficiary-name-pichain/v1\",\r\n body: req,\r\n method: \"POST\",\r\n headers: headers,\r\n },\r\n callback\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport \"./BankForm.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport Button, {\r\n DashedButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport SubmitButton from \"../../UI/Button/Button\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n getIFSCDetails,\r\n SaveBankDetails,\r\n getbankList,\r\n getbankCity,\r\n getbankBranch,\r\n AGetBankDetails,\r\n AgetBeneficiaryName,\r\n AgetOcrResponseDetails,\r\n AGetBeneficiaryNamePichainV1,\r\n} from \"../../Services/dashboard/bankApiServices\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport micr from \"../../../assets/icons/micr.jpg\";\r\nimport { AGetEnumList } from \"../../Services/dashboard/profileApiService\";\r\nimport {\r\n AGetRsaPublicKey,\r\n completeModuleStatus,\r\n convertEnumIntoIObj,\r\n incompleteStageNavigation,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\n// import MandateDetails from \"../MandateDetails/MandateDetails\";\r\nimport { dashboardUrl } from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport {\r\n aesDecryptMessage,\r\n aesEncryptMessage,\r\n exportAesCryptoKey,\r\n exportRsaCryptoKey,\r\n generateAesKey,\r\n generateRsaKey,\r\n importAesKey,\r\n importRsaKey,\r\n rsaDecryptMessage,\r\n rsaEncryptMessage,\r\n} from \"./encryption\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\n\r\nexport interface IBankDetails {\r\n branch: string;\r\n ifsccode: string;\r\n micr: string;\r\n}\r\nexport interface MICRdata {\r\n bankpincode: string;\r\n bankaddr1: string;\r\n bankcity: string;\r\n bankcode: string;\r\n bankname: string;\r\n branch: string;\r\n contact: string;\r\n district: string;\r\n ifsccode: string;\r\n micr: string;\r\n state: string;\r\n}\r\n\r\nexport interface BankFormFields {\r\n accountholdername: string;\r\n applicationid: string;\r\n accountno: string;\r\n bankaddr1: string;\r\n bankcity: string;\r\n bankdetailsid: number;\r\n bankpincode: string;\r\n reaccountno: string;\r\n ifsccode: string;\r\n bankacctype: string;\r\n isdefaultaccount: boolean;\r\n branch: string;\r\n bankname: string;\r\n state: string;\r\n micr: string;\r\n clientprimarydetailid: number;\r\n empcode: number;\r\n payinpriority: number;\r\n qcapproved: boolean;\r\n micrcodeList: Array<{ value: string; name: string }>;\r\n}\r\n\r\nconst BankForm = (props: any) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [maxBank, setMaxBank] = React.useState(0);\r\n const [accountnoErrors, setaccountnoErrors] = React.useState>(\r\n []\r\n );\r\n const [bankNameOnIFSCCode, setBankNameOnIFSCCode] = useState(\"\");\r\n const [bankCityOnIFSCCode, setBankCityOnIFSCCode] = useState(\"\");\r\n const [pryAccount, setPryAccount] = useState(false);\r\n const [micrModalFlag, setMicrModalFlag] = useState(false);\r\n const [ifscModalFlag, setIfscModalFlag] = useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [bankList, setBankList] = useState([]);\r\n const [cityList, setCityList] = useState([]);\r\n const [BranchList, setBranchList] = useState([]);\r\n const [hideSearch, setHideSearch] = useState(true);\r\n const [ismatched, setIsmatched] = useState(false);\r\n const [branchDetail, setBranchDetail] = useState();\r\n const [bankListOnIFSC, setBankListOnIFSC] = useState([]);\r\n const [bankacctypeList, setbankacctypeList] = useState>([]);\r\n const [lists, setLists] = useState>([\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n applicationid: GlobalStore.applicationID,\r\n accountno: \"\",\r\n bankaddr1: \"\",\r\n reaccountno: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n branch: \"\",\r\n isdefaultaccount: true,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n payinpriority: 1,\r\n empcode: 0,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n const [showMandate, setShowMandate] = React.useState(false);\r\n const [uploadedBankList, setUploadedBankList] = React.useState>(\r\n []\r\n );\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [allowOnlyAddBank, setAllowOnlyAddBank] =\r\n React.useState(false);\r\n const [isSbi, setIsSbi] = useState(false);\r\n let serverPublicKey: string;\r\n let rsaAoepKeyPair: CryptoKeyPair;\r\n let exportRsaPublicKey: string;\r\n\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setIsLoading(true);\r\n AGetEnumList(getEnumList, \"bankacctype\");\r\n AGetBankDetails(getBankDetails, GlobalStore.applicationID);\r\n // AGetRsaPublicKey(encryptData);\r\n }, []);\r\n\r\n const encryptData = async (res: any, bankObj: any, isAddition?: boolean) => {\r\n if (!res || res.error) {\r\n setErrCode(\"Error in capturing bank details\");\r\n } else {\r\n // Get Server RSA public key for encryting client side UUID, Symmetric key, AES from the response\r\n serverPublicKey = res.data.key;\r\n window.sessionStorage.setItem(\"serverPublicKey\", res.data.key);\r\n const importedRsaCryptoKeyObj = await importRsaKey(res.data.key);\r\n const aesGcmKey = await generateAesKey();\r\n const exportAesSecretKey = await exportAesCryptoKey(aesGcmKey);\r\n\r\n const { aesCipheredText, ivBase64 } = await aesEncryptMessage(\r\n aesGcmKey,\r\n JSON.stringify(bankObj)\r\n );\r\n\r\n const headerPayload = {\r\n reqId: Date.now(),\r\n clSy: exportAesSecretKey,\r\n clIv: ivBase64,\r\n };\r\n\r\n const cipheredheaderPayload = await rsaEncryptMessage(\r\n importedRsaCryptoKeyObj,\r\n JSON.stringify(headerPayload)\r\n );\r\n\r\n if (window.sessionStorage.getItem(\"clientPublicKey\")) {\r\n console.log(\"Client public key exists\");\r\n }\r\n rsaAoepKeyPair = await generateRsaKey();\r\n exportRsaPublicKey = await exportRsaCryptoKey(rsaAoepKeyPair.publicKey);\r\n window.sessionStorage.setItem(\"clientPublicKey\", exportRsaPublicKey);\r\n\r\n const header = {\r\n SEPRK: cipheredheaderPayload,\r\n CPK: exportRsaPublicKey,\r\n };\r\n\r\n const reqObj = {\r\n req: aesCipheredText,\r\n };\r\n\r\n // const aesDecrytedText = await aesDecryptMessage(aesGcmKey, ivBase64, aesCipheredText);\r\n\r\n AGetBeneficiaryNamePichainV1(\r\n (res: any, CEPRK: string) => newPichainResponse(res, CEPRK, isAddition),\r\n reqObj,\r\n header\r\n );\r\n }\r\n };\r\n\r\n const newPichainResponse = async (\r\n res: any,\r\n CEPRK: string,\r\n isAddition?: Boolean\r\n ) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n const rsaDecrytedText = await rsaDecryptMessage(\r\n rsaAoepKeyPair.privateKey,\r\n CEPRK\r\n );\r\n const rsaDecrytedobj = JSON.parse(rsaDecrytedText);\r\n const importedAesCryptoKeyObj = await importAesKey(rsaDecrytedobj.srSym);\r\n const aesDecrytedText = await aesDecryptMessage(\r\n importedAesCryptoKeyObj,\r\n rsaDecrytedobj.rsIv,\r\n res.res\r\n );\r\n if (isAddition) getAccountHolderForSaveOnAdd(aesDecrytedText);\r\n else getAccountHolderForSave(aesDecrytedText);\r\n }\r\n };\r\n\r\n const getAccountHolderName = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n GlobalStore.accountHolderName = responseObj.registered_name;\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n if (responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n }\r\n }\r\n };\r\n\r\n function getEnumList(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('164 - Failed to fetch the category lists, please reload.')\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.enumlist && res.data.enumlist.length > 0) {\r\n const [bankacctypeList] = convertEnumIntoIObj(res.data.enumlist, [\r\n \"BankAccType\",\r\n ]);\r\n const filterBankacctypeList = bankacctypeList.filter(\r\n (item: any) =>\r\n item.display !== \"Others\" && item.display !== \"Cash Credit\"\r\n );\r\n setbankacctypeList(filterBankacctypeList);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function getBankDetails(res: any) {\r\n console.log(\"&& res.data !== Record Not Found\", res);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else if (res.data) {\r\n let responseObj;\r\n if (res.data != \"Record Not Found\") {\r\n responseObj = JSON.parse(res.data);\r\n } else {\r\n responseObj = res.data;\r\n }\r\n\r\n if (responseObj.length > 0 && responseObj !== \"Record Not Found\") {\r\n GlobalStore.accountHolderName = responseObj[0].accountholdername;\r\n setUploadedBankList(responseObj);\r\n setShowMandate(true);\r\n updateLists(responseObj);\r\n setLists(responseObj);\r\n } else {\r\n if (\r\n GlobalStore.chequeOCRObj.ifsc_code &&\r\n GlobalStore.chequeOCRObj.account_no\r\n ) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: GlobalStore.chequeOCRObj.account_no,\r\n ifsc: GlobalStore.chequeOCRObj.ifsc_code,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n lists[0].accountno = GlobalStore.chequeOCRObj.account_no;\r\n lists[0].reaccountno = GlobalStore.chequeOCRObj.account_no;\r\n lists[0].ifsccode = GlobalStore.chequeOCRObj.ifsc_code;\r\n lists[0].micr = GlobalStore.chequeOCRObj.micr_code;\r\n\r\n setLists(lists);\r\n AgetBeneficiaryName(getAccountHolderName, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj));\r\n if (GlobalStore.chequeOCRObj.ifsc_code != \"\") {\r\n getIFSCDetails(\r\n (res: any) => getData(res, 0),\r\n GlobalStore.chequeOCRObj.ifsc_code\r\n );\r\n }\r\n }\r\n const sendOcrObj = {\r\n applicationId: GlobalStore.applicationID,\r\n documentCategory: \"Bank Proof\",\r\n documentId: 21,\r\n };\r\n AgetOcrResponseDetails(getOcrResponse, sendOcrObj);\r\n }\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n function getBankDetailsMandate(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(1362);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(JSON.parse(res.data));\r\n if (responseObj.length > 0 && responseObj !== \"Record Not Found\") {\r\n setUploadedBankList(responseObj);\r\n //setShowMandate(true);\r\n completeModuleStatus(dashboardUrl.bank);\r\n gtmService({ action: \"BANK_DETAILS\", label: \"Step_Complete\" });\r\n history.push(incompleteStageNavigation());\r\n }\r\n }\r\n }\r\n }\r\n\r\n const getOcrResponse = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1361);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data !== \"Record Not Found\") {\r\n const ocrResponseObj = JSON.parse(res.data);\r\n let values: Array = [...lists];\r\n values[0].accountno =\r\n ocrResponseObj.ocrdata.result.extraction_output.account_no;\r\n values[0].reaccountno =\r\n ocrResponseObj.ocrdata.result.extraction_output.account_no;\r\n values[0].ifsccode =\r\n ocrResponseObj.ocrdata.result.extraction_output.ifsc_code;\r\n setLists(values);\r\n getIFSCDetails(\r\n (res: any) => getData(res, 0),\r\n ocrResponseObj.ocrdata.result.extraction_output.ifsc_code\r\n );\r\n }\r\n }\r\n };\r\n\r\n function getData(res: any, index: number) {\r\n setErrCode(\"\");\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(`1363 - No bank found for the IFSC code entered`);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.ecoIBeatsBank.length > 0) {\r\n let values: Array = [...lists];\r\n let result = res.data;\r\n values[index].bankcity = result.ecoIBeatsBank[0].bankcity;\r\n values[index].bankname = result.ecoIBeatsBank[0].bankname;\r\n values[index].state = result.ecoIBeatsBank[0].state;\r\n if (values[index].bankname === \"STATE BANK OF INDIA\") {\r\n if (values[index].reaccountno.length < 11) {\r\n alert(\"SBI account number should have more than 10 digits\");\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[\r\n index\r\n ] = `SBI account number should have more than 10 digits`;\r\n setaccountnoErrors(setAccError);\r\n }\r\n setIsSbi(true);\r\n } else {\r\n setIsSbi(false);\r\n }\r\n\r\n const micrData = result.ecoIBeatsBank.map(\r\n (item: any, index: number) => ({\r\n value: index + 1,\r\n name: item.micr,\r\n })\r\n );\r\n values[index].micrcodeList = micrData;\r\n //if only one MICR is in the list, it will selected by default instead of showing dropwdown list\r\n if (micrData.length === 1) {\r\n values[index].micr = micrData[0].name;\r\n } else {\r\n values[index].micr = \"\";\r\n }\r\n setBankListOnIFSC(result.ecoIBeatsBank);\r\n setLists(values);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(\"No bank found for the IFSC code entered\");\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const updateLists = (listObj: any) => {\r\n let values: Array = [...lists];\r\n if (listObj.length > 0) {\r\n values = listObj.map((item: any) => {\r\n let item2 = listObj.find(\r\n (i2: any) => i2.bankdetailsid === item.bankdetailsid\r\n );\r\n item2.micrcodeList = [{ value: \"\", name: \"\" }];\r\n item2.reaccountno = item.accountno;\r\n return item2 ? { ...item, ...item2 } : item;\r\n });\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleChange = (\r\n name: keyof BankFormFields,\r\n index: number,\r\n val: string\r\n ): void => {\r\n let values: Array = [...lists];\r\n if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"ifsccode\") {\r\n if (val.length === 11) {\r\n setIsLoading(true);\r\n values[index][name] = val;\r\n //if only one MICR is in the list, it will selected by default instead of showing dropwdown list\r\n if (values[index].micrcodeList.length === 1) {\r\n values[index].micr = values[index].micrcodeList[0].name;\r\n } else {\r\n values[index].micr = \"\";\r\n }\r\n getIFSCDetails((res: any) => getData(res, index), val);\r\n }\r\n } else if (name === \"accountno\") {\r\n if (val !== \"\") {\r\n values[index][name] = val;\r\n } else {\r\n }\r\n } else if (name === \"reaccountno\") {\r\n if (val !== \"\") {\r\n values[index][name] = val;\r\n }\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleTag = (name: keyof BankFormFields, index: number, val: any) => {\r\n let values: Array = [...lists];\r\n if (name === \"bankacctype\") {\r\n values[index][name] = val;\r\n } else if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleDefaultAccount = (\r\n name: keyof BankFormFields,\r\n index: number,\r\n val: string | boolean\r\n ) => {\r\n let values: Array = [...lists];\r\n if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n setLists(values);\r\n };\r\n\r\n const checkMatch = (index: number, val: any) => {\r\n let values: Array = [...lists];\r\n if (isSbi && values[index].reaccountno.length < 11) {\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[index] = errorMsg(errorCode.FE32);\r\n setaccountnoErrors(setAccError);\r\n } else if (!isSbi && values[index].reaccountno.length < 6) {\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[index] = errorMsg(errorCode.FE30);\r\n setaccountnoErrors(setAccError);\r\n } else if (values[index].accountno !== values[index].reaccountno) {\r\n let setAccError = { ...accountnoErrors };\r\n // setAccError[index] = 'Account numbers entered do not match';\r\n setAccError[index] = errorMsg(errorCode.FE31);\r\n setaccountnoErrors(setAccError);\r\n } else {\r\n let setAccError = { ...accountnoErrors };\r\n delete setAccError[index];\r\n setaccountnoErrors(setAccError);\r\n }\r\n };\r\n\r\n const handleDropdown = (val: string, index: number) => {\r\n let values: Array = [...lists];\r\n values[index].micr = val;\r\n if (bankListOnIFSC && bankListOnIFSC.length > 0) {\r\n let filterDataOnMICR: Array = bankListOnIFSC.filter(\r\n (item: any) => item.micr === val\r\n );\r\n values[index].bankpincode = filterDataOnMICR[0].bankpincode;\r\n values[index].bankaddr1 = filterDataOnMICR[0].bankaddr1;\r\n values[index].bankcity = filterDataOnMICR[0].bankcity;\r\n values[index].bankname = filterDataOnMICR[0].bankname;\r\n values[index].branch = filterDataOnMICR[0].branch;\r\n values[index].state = filterDataOnMICR[0].state;\r\n setLists(values);\r\n } else {\r\n setLists(values);\r\n }\r\n };\r\n\r\n const handleSubmit = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.account_no = lists[0].accountno;\r\n clientPartialDetails_ao.ifsc_code = lists[0].ifsccode;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.account_no = clientPartialDetails_ao.account_no;\r\n GlobalStore.ifsc_code = clientPartialDetails_ao.ifsc_code;\r\n\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n lists[lists.length - 1].bankdetailsid === 0\r\n ) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[lists.length - 1].accountno,\r\n ifsc: lists[lists.length - 1].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSave, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj));\r\n } else {\r\n // setIsLoading(false);\r\n // setLoaderSign(false);\r\n // To avaid calling APIs unless a new bank's details are added\r\n const res = {\r\n data: true,\r\n };\r\n saveDetailsRes(res);\r\n }\r\n };\r\n\r\n // const getAccountHolderForSave = (res: any) => {\r\n // if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n // setIsLoading(false);\r\n // setLoaderSign(false);\r\n // } else {\r\n // const parsedRes = JSON.parse(res);\r\n // if (parsedRes.data) {\r\n // const responseObj = JSON.parse(JSON.parse(parsedRes.data));\r\n // // if (lists.length === 1) {\r\n // // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // // GlobalStore.isSeeding = true;\r\n // // }\r\n // // else {\r\n // // GlobalStore.isSeeding = false;\r\n // // }\r\n // // }\r\n // if (responseObj.score == 100) {\r\n // setIsmatched(true);\r\n // }\r\n\r\n // if (responseObj.code === 200) {\r\n // GlobalStore.accountHolderName = responseObj.registered_name;\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n // const saveBankAccount = {\r\n // accountHolderName: responseObj.registered_name,\r\n // accountNo: lists[lists.length - 1].accountno,\r\n // applicationId: lists[lists.length - 1].applicationid,\r\n // bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n // bankAddr1: lists[lists.length - 1].bankaddr1,\r\n // bankCity: lists[lists.length - 1].bankcity,\r\n // bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n // bankName: lists[lists.length - 1].bankname,\r\n // bankPinCode: lists[lists.length - 1].bankpincode,\r\n // branch: lists[lists.length - 1].branch,\r\n // clientPrimaryDetailId:\r\n // lists[lists.length - 1].clientprimarydetailid,\r\n // contactNo: \"\",\r\n // district: \"\",\r\n // empCode: lists[lists.length - 1].empcode,\r\n // ifscCode: lists[lists.length - 1].ifsccode,\r\n // isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n // leadId: \"\",\r\n // micr: lists[lists.length - 1].micr,\r\n // qcapproved: false,\r\n // state: lists[lists.length - 1].state,\r\n // ismatched: responseObj.score >= 85 ? true : false,\r\n // objUTM_info: objUTM_Info,\r\n // match_score: responseObj.score,\r\n // };\r\n // SaveBankDetails(saveDetailsRes, saveBankAccount);\r\n // } else {\r\n // const res = {\r\n // data: true,\r\n // };\r\n // saveDetailsRes(res);\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n //Sending data as Per JAVA MW parameter as MOUI parameter types are different from JAVA MW API parameter: Getting 500 response\r\n const getAccountHolderForSave = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n const parsedRes = JSON.parse(res.data);\r\n if (parsedRes) {\r\n const responseObj = parsedRes;\r\n // if (lists.length === 1) {\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n // }\r\n let score = 0;\r\n if (responseObj.score) score = responseObj.score;\r\n if (responseObj.score && responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (responseObj.registered_name)\r\n GlobalStore.accountHolderName = responseObj.registered_name;\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n GlobalStore.accountHolderName === null\r\n )\r\n GlobalStore.accountHolderName = clientPartialDetails_ao.PANName;\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n const saveBankAccount = {\r\n accountHolderName: GlobalStore.accountHolderName,\r\n accountNo: lists[lists.length - 1].accountno,\r\n applicationId: lists[lists.length - 1].applicationid,\r\n bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n bankAddr1: lists[lists.length - 1].bankaddr1,\r\n bankCity: lists[lists.length - 1].bankcity,\r\n bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n bankName: lists[lists.length - 1].bankname,\r\n bankPinCode: lists[lists.length - 1].bankpincode,\r\n branch: lists[lists.length - 1].branch,\r\n clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n contactNo: \"\",\r\n district: \"\",\r\n empCode: lists[lists.length - 1].empcode,\r\n ifscCode: lists[lists.length - 1].ifsccode,\r\n isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n leadId: \"\",\r\n micr: lists[lists.length - 1].micr,\r\n qcApproved: false,\r\n state: lists[lists.length - 1].state,\r\n isMatched: score >= 85 ? true : false,\r\n utmInfoDetails: objUTM_Info,\r\n matchScore: score,\r\n };\r\n SaveBankDetails(saveDetailsRes, saveBankAccount);\r\n }\r\n }\r\n };\r\n\r\n const handleAddForm = () => {\r\n let values: Array = [...lists];\r\n setIsLoading(true);\r\n if (maxBank < 6) {\r\n setMaxBank(maxBank + 1);\r\n }\r\n if (lists.length === 1 && lists[lists.length - 1].bankdetailsid === 0) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[0].accountno,\r\n ifsc: lists[0].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSaveOnAdd, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj, true));\r\n }\r\n if (lists[lists.length - 1].bankdetailsid === 0 && allowOnlyAddBank) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[lists.length - 1].accountno,\r\n ifsc: lists[lists.length - 1].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSaveOnAdd, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj, true));\r\n } else {\r\n setAllowOnlyAddBank(true);\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n setIsLoading(false);\r\n setIfscModalFlag(false);\r\n if (hideSearch === false) {\r\n setHideSearch(true);\r\n }\r\n }\r\n };\r\n\r\n // const getAccountHolderForSaveOnAdd = (res: any) => {\r\n // if (!res || res.error) {\r\n // setIsLoading(false);\r\n // setErrCode(\"170 - Failed to fetch the IFSC Details\");\r\n // } else {\r\n // const parsedRes = JSON.parse(res);\r\n // if (parsedRes.data) {\r\n // const responseObj = JSON.parse(JSON.parse(parsedRes.data));\r\n // // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // // GlobalStore.isSeeding = true;\r\n // // }\r\n // // else {\r\n // // GlobalStore.isSeeding = false;\r\n // // }\r\n\r\n // if (responseObj.score == 100) {\r\n // setIsmatched(true);\r\n // }\r\n\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n // const saveBankAccount = {\r\n // accountHolderName: responseObj.registered_name,\r\n // accountNo: lists[lists.length - 1].accountno,\r\n // applicationId: lists[lists.length - 1].applicationid,\r\n // bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n // bankAddr1: lists[lists.length - 1].bankaddr1,\r\n // bankCity: lists[lists.length - 1].bankcity,\r\n // bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n // bankName: lists[lists.length - 1].bankname,\r\n // bankPinCode: lists[lists.length - 1].bankpincode,\r\n // branch: lists[lists.length - 1].branch,\r\n // clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n // contactNo: \"\",\r\n // district: \"\",\r\n // empCode: lists[lists.length - 1].empcode,\r\n // ifscCode: lists[lists.length - 1].ifsccode,\r\n // isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n // leadId: \"\",\r\n // micr: lists[lists.length - 1].micr,\r\n // qcapproved: lists[lists.length - 1].qcapproved,\r\n // state: lists[lists.length - 1].state,\r\n // ismatched: responseObj.score >= 85 ? true : false,\r\n // objUTM_info: objUTM_Info,\r\n // match_score: responseObj.score,\r\n // };\r\n // if (lists[lists.length - 1].bankdetailsid === 0) {\r\n // SaveBankDetails(saveDetailsResponse, saveBankAccount);\r\n // } else {\r\n // let values: Array = [...lists];\r\n // setLists([\r\n // ...values,\r\n // {\r\n // accountholdername: GlobalStore.accountHolderName,\r\n // accountno: \"\",\r\n // applicationid: GlobalStore.applicationID,\r\n // bankaddr1: \"\",\r\n // bankdetailsid: 0,\r\n // bankpincode: \"\",\r\n // branch: \"\",\r\n // reaccountno: \"\",\r\n // clientprimarydetailid: parseInt(\r\n // GlobalStore.clientPrimaryDetailId\r\n // ),\r\n // ifsccode: \"\",\r\n // bankacctype: \"10\",\r\n // isdefaultaccount: pryAccount,\r\n // bankcity: \"\",\r\n // bankname: \"\",\r\n // state: \"\",\r\n // micr: \"\",\r\n // empcode: 0 || lists[0].empcode,\r\n // payinpriority: 1,\r\n // qcapproved: false,\r\n // micrcodeList: [{ value: \"\", name: \"\" }],\r\n // },\r\n // ]);\r\n // setIsLoading(false);\r\n // }\r\n // setIfscModalFlag(false);\r\n // if (hideSearch === false) {\r\n // setHideSearch(true);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getAccountHolderForSaveOnAdd = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n const parsedRes = JSON.parse(res.data);\r\n if (parsedRes) {\r\n const responseObj = parsedRes;\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n let score = 0;\r\n if (responseObj.score) score = responseObj.score;\r\n if (responseObj.score && responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n GlobalStore.accountHolderName === null\r\n )\r\n GlobalStore.accountHolderName = clientPartialDetails_ao.PANName;\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n const saveBankAccount = {\r\n accountHolderName: responseObj.registered_name\r\n ? responseObj.registered_name\r\n : GlobalStore.accountHolderName,\r\n accountNo: lists[lists.length - 1].accountno,\r\n applicationId: lists[lists.length - 1].applicationid,\r\n bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n bankAddr1: lists[lists.length - 1].bankaddr1,\r\n bankCity: lists[lists.length - 1].bankcity,\r\n bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n bankName: lists[lists.length - 1].bankname,\r\n bankPinCode: lists[lists.length - 1].bankpincode,\r\n branch: lists[lists.length - 1].branch,\r\n clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n contactNo: \"\",\r\n district: \"\",\r\n empCode: lists[lists.length - 1].empcode,\r\n ifscCode: lists[lists.length - 1].ifsccode,\r\n isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n leadId: \"\",\r\n micr: lists[lists.length - 1].micr,\r\n qcApproved: lists[lists.length - 1].qcapproved,\r\n state: lists[lists.length - 1].state,\r\n isMatched: score >= 85 ? true : false,\r\n utmInfoDetails: objUTM_Info,\r\n matchScore: score,\r\n };\r\n if (lists[lists.length - 1].bankdetailsid === 0) {\r\n console.log(\"saveBankAccountAdd\", saveBankAccount);\r\n SaveBankDetails(saveDetailsResponse, saveBankAccount);\r\n } else {\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(\r\n GlobalStore.clientPrimaryDetailId\r\n ),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n setIsLoading(false);\r\n }\r\n setIfscModalFlag(false);\r\n if (hideSearch === false) {\r\n setHideSearch(true);\r\n }\r\n }\r\n }\r\n };\r\n function saveDetailsResponse(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n // setErrCode(errorMessage.saveBankDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n //AGetBankDetails(getBankDetails, GlobalStore.applicationID);\r\n // Code of Mandate update start\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n // AGetBankDetails(getBankDetailsMandate, GlobalStore.applicationID);\r\n // Code of Mandate update end\r\n } else {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function saveDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n // setErrCode(errorMessage.saveBankDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n setAllowOnlyAddBank(false);\r\n // Code of Mandate update start\r\n // AGetBankDetails(getBankDetailsMandate, GlobalStore.applicationID);\r\n // Code of Mandate update end\r\n completeModuleStatus(dashboardUrl.bank);\r\n gtmService({ action: \"BANK_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event for save bank details\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.bankPage.CLICK_ON_SUBMIT_BANK_DETAILS,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE,\r\n UTM_MEDIUM: props.UTM_MEDIUM,\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.bankPage.CLICK_ON_SUBMIT_BANK_DETAILS\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n } else {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const closeSample = () => {\r\n setMicrModalFlag(false);\r\n };\r\n\r\n const closeIFSC = () => {\r\n setIfscModalFlag(false);\r\n };\r\n\r\n const openIfscModal = (index: number) => {\r\n let values = { ...lists };\r\n if (values[index].bankdetailsid === 0 && index === lists.length - 1) {\r\n setIsLoading(true);\r\n setIfscModalFlag(true);\r\n getbankList((res: any) => getBankData(res));\r\n }\r\n };\r\n\r\n const getBankData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setBankList(res.data.banknames);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n };\r\n\r\n const getCityData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setCityList(res.data.bankcities);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n };\r\n\r\n const handlebanknameDropdown = (val: string, index: number) => {\r\n setIsLoading(true);\r\n setBankNameOnIFSCCode(val);\r\n getbankCity((res: any) => getCityData(res), val);\r\n };\r\n\r\n const handleCityDropdown = (val: string, index: number) => {\r\n setIsLoading(true);\r\n setBankCityOnIFSCCode(val);\r\n getbankBranch((res: any) => getBranchData(res), val, bankNameOnIFSCCode);\r\n };\r\n\r\n const getBranchData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n const sortBranch = res.data.bankbranches.sort(dynamicSort(\"branch\"));\r\n setBranchList(sortBranch);\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n function dynamicSort(property: string) {\r\n var sortOrder = 1;\r\n\r\n if (property[0] === \"-\") {\r\n sortOrder = -1;\r\n property = property.substr(1);\r\n }\r\n\r\n return function (a: any, b: any) {\r\n if (sortOrder == -1) {\r\n return b[property].localeCompare(a[property]);\r\n } else {\r\n return a[property].localeCompare(b[property]);\r\n }\r\n };\r\n }\r\n\r\n const handleBranchDropdown = (val: any, index: number) => {\r\n setBranchDetail(val);\r\n };\r\n\r\n const searchIFSC = (index: number) => {\r\n let values: Array = [...lists];\r\n if (\r\n bankNameOnIFSCCode &&\r\n bankCityOnIFSCCode &&\r\n branchDetail &&\r\n branchDetail.branch !== \"\"\r\n ) {\r\n setHideSearch(false);\r\n }\r\n };\r\n\r\n const closeSearchModal = (index: number) => {\r\n setBankCityOnIFSCCode(\"\");\r\n setBankNameOnIFSCCode(\"\");\r\n setHideSearch(!hideSearch);\r\n };\r\n\r\n const handleSelect = (index: number, selectedBranch: any) => {\r\n let values: Array = [...lists];\r\n if (selectedBranch) {\r\n values[index].branch = selectedBranch.branch;\r\n values[index].bankaddr1 = selectedBranch.branch;\r\n values[index].ifsccode = selectedBranch.ifsccode;\r\n values[index].micr = selectedBranch.micr;\r\n values[index].bankname = bankNameOnIFSCCode;\r\n values[index].bankcity = bankCityOnIFSCCode;\r\n const reMICR = [\r\n {\r\n value: (index + 1).toString(),\r\n name: selectedBranch.micr,\r\n },\r\n ];\r\n values[index].micrcodeList = reMICR;\r\n setLists(values);\r\n setIfscModalFlag(false);\r\n }\r\n };\r\n\r\n const checkDisabled = () => {\r\n if (\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n )\r\n ) {\r\n return true;\r\n } else if (\r\n lists[lists.length - 1].bankdetailsid !== 0 ||\r\n (lists[lists.length - 1].accountno !== \"\" &&\r\n lists[lists.length - 1].reaccountno !== \"\" &&\r\n lists[lists.length - 1].accountno.length !== 1 &&\r\n lists[lists.length - 1].reaccountno.length !== 1 &&\r\n // accountnoErrors[accountnoErrors.length - 1] !== 'Account numbers entered do not match' &&\r\n accountnoErrors[accountnoErrors.length - 1] !==\r\n \"Bank inputs do not match\" &&\r\n accountnoErrors[accountnoErrors.length - 1] !==\r\n \"SBI account number has more than 10 digits\" &&\r\n lists[lists.length - 1].ifsccode !== \"\" &&\r\n lists[lists.length - 1].micr !== \"\")\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const checkAddAnotherBankDisabled = () => {\r\n if (lists.length >= 5) {\r\n return true;\r\n } else if (\r\n lists[lists.length - 1].bankdetailsid !== 0 ||\r\n (lists[lists.length - 1].accountno !== \"\" &&\r\n lists[lists.length - 1].reaccountno !== \"\" &&\r\n lists[lists.length - 1].accountno.length !== 1 &&\r\n lists[lists.length - 1].reaccountno.length !== 1 &&\r\n lists[lists.length - 1].ifsccode !== \"\" &&\r\n lists[lists.length - 1].micr !== \"\")\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const removeBank = (i: number) => {\r\n let removeLast: Array = [...lists];\r\n removeLast = lists.slice(0, lists.length - 1);\r\n setLists(removeLast);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n closeSample()}\r\n >\r\n
\r\n \"micr\"\r\n
\r\n \r\n {/* */}\r\n\r\n {lists.map((list, index: number) => {\r\n return (\r\n
\r\n
\r\n closeIFSC()}\r\n >\r\n {hideSearch ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handlebanknameDropdown(\r\n val[\"bankname\"] as string,\r\n index\r\n )\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n handleCityDropdown(val[\"bankcity\"] as string, index)\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n handleBranchDropdown(val, index)\r\n }\r\n />\r\n
\r\n
\r\n searchIFSC(index)}\r\n btnName=\"Search\"\r\n />\r\n
\r\n
\r\n closeIFSC()}\r\n btnName=\"Cancel\"\r\n />\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n handleSelect(index, branchDetail)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n closeSearchModal(index)}\r\n />\r\n {/* */}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n handleTag(\"bankacctype\", index, val)}\r\n />\r\n
\r\n
\r\n \r\n handleChange(\"accountno\", index, val)}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. 18273946573849\"\r\n name=\"accountno\"\r\n maxLength={18}\r\n min={isSbi ? 10 : 6}\r\n integer={true}\r\n type=\"password\"\r\n defaultValue={list.accountno}\r\n />\r\n
\r\n\r\n
\r\n \r\n handleChange(\"reaccountno\", index, val)}\r\n onBlur={(val) => checkMatch(index, val)}\r\n errorText={accountnoErrors[index]}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. 18273946573849\"\r\n name=\"reaccountno\"\r\n maxLength={18}\r\n min={isSbi ? 10 : 6}\r\n integer={true}\r\n defaultValue={list.reaccountno}\r\n />\r\n
\r\n
\r\n \r\n IFSC Code\r\n openIfscModal(index)}\r\n >\r\n Search IFSC Code\r\n \r\n \r\n handleChange(\"ifsccode\", index, val)}\r\n onBlur={() => {}}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. HDFC0000234\"\r\n name=\"ifsccode\"\r\n maxLength={11}\r\n defaultValue={list.ifsccode}\r\n isCaps\r\n />\r\n
\r\n {list.bankname && (\r\n
\r\n

\r\n {list.bankname}\r\n {\", \" + list.bankcity}\r\n {\", \" + list.state}\r\n

\r\n
\r\n )}\r\n\r\n
\r\n \r\n 1\r\n }\r\n onOptionSelect={(val) =>\r\n handleDropdown(val[\"name\"] as string, index)\r\n }\r\n />\r\n
\r\n {index !== 0 ? (\r\n
\r\n \r\n
\r\n \r\n handleDefaultAccount(\r\n \"isdefaultaccount\",\r\n index,\r\n !lists[index].isdefaultaccount\r\n )\r\n }\r\n />\r\n
\r\n
\r\n ) : null}\r\n
\r\n
\r\n );\r\n })}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n
\r\n handleAddForm()}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n {/* */}\r\n {/* {\r\n showMandate &&\r\n \r\n } */}\r\n
\r\n );\r\n};\r\n\r\nexport default BankForm;\r\n","import React from 'react';\r\nimport './BankHome.scss';\r\nimport BankForm from \"../BankForm/BankForm\";\r\nimport cleverTapEvents from '../../../config/cleverTapEvents';\r\nimport useQuery from '../../../customHooks/useQuery';\r\nimport { ClevertapService } from '../../Services/clevertapService';\r\nimport GlobalStore from '../../store/globalStore';\r\n\r\nexport interface BankHomeProps {\r\n\r\n}\r\n\r\nconst BankHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get('utm_source') ? quryParams.get('utm_source') : '';\r\n const UTM_MEDIUM = quryParams.get('utm_medium') ? quryParams.get('utm_medium') : '';\r\n const UTM_CAMPAIGN = quryParams.get('utm_campaign') ? quryParams.get('utm_campaign') : '';\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem('stageInfoId', '2');\r\n }, []);\r\n\r\n // Clervertap event: Bank screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.bankPage.PAGE_LOAD,\r\n InitiationPlatform: '',\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n Bank Details\r\n
\r\n
\r\n Provide your bank details through which you would like to conduct transactions.\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default BankHome;","import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport Backdrop from '../Backdrop/Backdrop';\r\nimport './PdfContainer.scss';\r\n\r\nexport interface PdfContainerProps {\r\n src: any;\r\n onClose?: () => void;\r\n showModal: boolean;\r\n}\r\n\r\nconst PdfContainer: React.FC = (props) => {\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n}\r\n\r\nexport default PdfContainer;","import React, { useState } from \"react\";\r\nimport Backdrop, { FullBackdrop } from \"../UI/Backdrop/Backdrop\";\r\nimport \"./SelectPlan.scss\";\r\nimport Button, {\r\n SubmitButton,\r\n TransparentButton,\r\n Verify,\r\n} from \"../../components/UI/Button/Button\";\r\nimport planOne from \"../../assets/icons/new_lite.png\";\r\nimport mobPlanOne from \"../../assets/icons/mob_new_lite.png\";\r\nimport planTwo from \"../../assets/icons/new_elite.png\";\r\nimport mobPlanTwo from \"../../assets/icons/mob_new_elite.png\";\r\nimport arrowPoint from \"../../assets/icons/arrow_point.png\";\r\nimport Toggle from \"../UI/Toggle/Toggle\";\r\nimport Checkbox from \"../UI/Checkbox/Checkbox\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport {\r\n incomeProofList,\r\n dashboardUrl,\r\n edelweissElite,\r\n edelweissLite,\r\n} from \"../utils/constants\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { AGetEmployeeByPan } from \"../Services/registration/panDobApiService\";\r\nimport DropdownSearch from \"../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n AGetBrokerage,\r\n AGetBrokerageDetails,\r\n ASaveBrokerageDetails,\r\n AGetBrokerageSegmentDetails,\r\n ASaveBrokerageSegmentDetiails,\r\n AUploadDocument,\r\n} from \"../Services/dashboard/brokerageServices\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport PdfContainer from \"../UI/PdfContainer/PdfContainer\";\r\nimport bp from \"../../assets/pdf/T&C_BrokeragePlan.pdf\";\r\nimport ao from \"../../assets/pdf/NWIL-Booklet-A5-Nov 2022.pdf\";\r\nimport dc from \"../../assets/pdf/Disclaimer_DIY.pdf\";\r\nimport {\r\n ADownloadDocument,\r\n AGetUploadedDocument,\r\n ASaveDocumentDetails,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport {\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ACheckClientProfilingData } from \"../Services/dashboard/profilerApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport config from \"../../config/domain\";\r\nimport { pan } from \"../utils/regex\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\n\r\nexport interface SelectPlanprops {}\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentCategoryId: \"8\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n};\r\n\r\nconst SelectPlan: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [eliteCard, setEliteCard] = useState(false);\r\n const [liteCard, setLiteCard] = useState(false);\r\n const [liteData, setliteData] = useState();\r\n const [eliteData, setEliteData] = useState();\r\n const [openPlanModal, setOpenPlanModal] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [segTog, setSegTog] = useState(false);\r\n const [checkedDerNSE, setCheckedDerNSE] = useState(false);\r\n const [checkedCurrNSE, setCheckedCurrNSE] = useState(false);\r\n const [termOne, setTermOne] = useState(true);\r\n const [checkedComMCXnNCXDX, setCheckedComMCXnNCXDX] = useState(false);\r\n const [termTwo, setTermTwo] = useState(false);\r\n const [termThree, setTermThree] = useState(false);\r\n const [isLite, setIsLite] = useState(true);\r\n const [isElite, setIsElite] = useState(false);\r\n const [openLite, setOpenLite] = useState(false);\r\n const [isEmployee, setIsEmployee] = useState(false);\r\n const [isUpload, setIsUpload] = useState(true);\r\n const [errCode, setErrCode] = React.useState();\r\n const [showPdfModal, setShowPdfModal] = useState(false);\r\n const [pdfName, setPdfName] = useState();\r\n const [incomeObj, setIncomeObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [defaultIncomeDoc, setDefaultIncomeDoc] = useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const history = useHistory();\r\n const [liteResponse, setliteResponse] = React.useState>([]);\r\n const [eliteResponse, setEliteResponse] = React.useState>([]);\r\n const [active, setActive] = React.useState(false);\r\n const [showPopup, setShowPopup] = React.useState(false);\r\n const [incomeProofErr, setIncomeProofErr] = React.useState(\"\");\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n window.sessionStorage.setItem(\"stageInfoId\", \"5\");\r\n setIsLoading(true);\r\n AGetBrokerage(getBrokerage, GlobalStore.applicationID);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n AGetBrokerageDetails(getBrokerageDetails, GlobalStore.applicationID);\r\n AGetBrokerageSegmentDetails(\r\n getBrokerageSegmentDetailsRes,\r\n GlobalStore.applicationID\r\n );\r\n\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = \"\";\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n if (isValidPan) {\r\n AGetEmployeeByPan(checkIsPanEmployee, panNum);\r\n }\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clervertap event: Plan screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.planPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(155);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const response = JSON.parse(res.data);\r\n if (response.isbrokerageschemecompleted) {\r\n setTermOne(true);\r\n setTermTwo(true);\r\n setTermThree(true);\r\n }\r\n }\r\n }\r\n }\r\n function getBrokerage(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(155);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n if (\r\n res.data.Liteplan != null &&\r\n Object.keys(res.data.Liteplan).length !== 0\r\n ) {\r\n setliteData(res.data.Liteplan);\r\n }\r\n if (\r\n res.data.Eliteplan != null &&\r\n Object.keys(res.data.Eliteplan).length !== 0\r\n ) {\r\n setEliteData(res.data.Eliteplan);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function getBrokerageDetails(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(159325);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const resdata = res.data.brokerageDetails;\r\n const liteResdata = resdata.filter(\r\n (x: any) => x.ct_display_name === edelweissLite\r\n );\r\n const eliteResData = resdata.filter(\r\n (x: any) => x.ct_display_name === edelweissElite\r\n );\r\n liteResdata ? setliteResponse(liteResdata) : setliteResponse([]);\r\n eliteResData ? setEliteResponse(eliteResData) : setEliteResponse([]);\r\n if (liteResdata[0]?.is_selected_scheme) {\r\n setIsLite(true);\r\n setIsElite(false);\r\n setEliteCard(false);\r\n setLiteCard(true);\r\n } else if (eliteResData[0]?.is_selected_scheme) {\r\n setIsLite(false);\r\n setIsElite(true);\r\n setEliteCard(true);\r\n setLiteCard(false);\r\n } else if (liteResdata.length > 0) {\r\n setIsLite(true);\r\n setIsElite(false);\r\n setEliteCard(false);\r\n setLiteCard(true);\r\n } else if (eliteResData.length > 0) {\r\n setIsLite(false);\r\n setIsElite(true);\r\n setEliteCard(true);\r\n setLiteCard(false);\r\n } else {\r\n setIsLite(true);\r\n setIsElite(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function getBrokerageSegmentDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(15500);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setCheckedComMCXnNCXDX(false);\r\n const ischeckedData = res.data.dbelist.filter(\r\n (item: any) => item.Checked === true\r\n );\r\n\r\n if (\r\n ischeckedData.map((item: any) => {\r\n if (item.CBEList === \"EBL-FO-N\") {\r\n setCheckedDerNSE(true);\r\n setSegTog(true);\r\n }\r\n if (item.CBEList === \"EBL-CDS-N\") {\r\n setCheckedCurrNSE(true);\r\n setSegTog(true);\r\n }\r\n if (item.CBEList === \"CX-NCDEX\" || item.CBEList === \"CX-MCX\") {\r\n setCheckedComMCXnNCXDX(true);\r\n setSegTog(true);\r\n }\r\n })\r\n ) {\r\n }\r\n }\r\n }\r\n }\r\n\r\n function checkIsPanEmployee(res: any) {\r\n if (!res || res.error) {\r\n // AIsPANExists(isPANExists, values.pan)\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\") {\r\n setIsEmployee(false);\r\n setIsElite(true);\r\n } else setIsEmployee(true);\r\n } else {\r\n // AIsPANExists(isPANExists, values.pan)\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n const getUploadedDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(15514);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (res.data && res.data !== \"Record Not Found\") {\r\n const uplDoc = JSON.parse(res.data);\r\n const isIncomeProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n if (isIncomeProof.length > 0) {\r\n if (isIncomeProof[0].DocumentName === \"Form 16\") {\r\n setDefaultIncomeDoc(\"Form 16\");\r\n } else if (isIncomeProof[0].DocumentName === \"Salary Slip\") {\r\n setDefaultIncomeDoc(\"Salary Slip\");\r\n } else if (isIncomeProof[0].DocumentName === \"ITR Acknowledgement\") {\r\n setDefaultIncomeDoc(\"ITR Acknowledgement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Bank Statement\") {\r\n setDefaultIncomeDoc(\"Bank Statement\");\r\n } else if (\r\n isIncomeProof[0].DocumentName === \"Demat Holding Statement\"\r\n ) {\r\n setDefaultIncomeDoc(\"Demat Holding Statement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Networth Certificate\") {\r\n setDefaultIncomeDoc(\"Networth Certificate\");\r\n }\r\n incomeObj.id = \"incomeDoc\";\r\n incomeObj.disable = false;\r\n incomeObj.uploadPer = 100;\r\n incomeObj.hideProgress = true;\r\n incomeObj.fileName = isIncomeProof[0].FileName;\r\n incomeObj.showFile = false;\r\n incomeObj.hideProgress = false;\r\n incomeObj.mimeType = isIncomeProof[0].MimeType;\r\n incomeObj.documentId = isIncomeProof[0].DocumentId;\r\n setIncomeObj(incomeObj);\r\n ADownloadDocument(\r\n getIncomeImage,\r\n isIncomeProof[0].FileName,\r\n isIncomeProof[0].UploadedDocPath\r\n );\r\n }\r\n } else if (!res || res.error || res.data === \"Record Not Found\") {\r\n setErrCode(res.error);\r\n } else {\r\n setIncomeObj(incomeObj);\r\n }\r\n };\r\n\r\n const getIncomeImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"162 - Failed to fetch the document.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n const base64 = \"data:image/jpg;base64,\" + res.data.base64document;\r\n let fetchImage = { ...incomeObj };\r\n fetchImage.imgUrl = base64;\r\n setIncomeObj(fetchImage);\r\n }\r\n }\r\n };\r\n function dropDownBlur(value: any) {\r\n typeof value !== \"object\"\r\n ? setIncomeProofErr(errorMsg(errorCode.FE20))\r\n : setIncomeProofErr(\"\");\r\n }\r\n\r\n const handleIncomeProof = (val: any) => {\r\n //val.preventDefault();\r\n if (val !== \"\") {\r\n incomeObj.disable = false;\r\n incomeObj.documentId = val.documentid;\r\n setIncomeObj(incomeObj);\r\n setDefaultIncomeDoc(val.documentname);\r\n }\r\n };\r\n\r\n function onIncomeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n incomeObj.imgUrl = \"\";\r\n\r\n setIncomeObj(incomeObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(getUploadRes, uploadObj, (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let changeIncomeObj = { ...incomeObj };\r\n if (percentage < 100) {\r\n if (id === \"incomeProof\") {\r\n changeIncomeObj.id = id;\r\n changeIncomeObj.disable = false;\r\n changeIncomeObj.uploadPer = percentage;\r\n changeIncomeObj.showFile = false;\r\n changeIncomeObj.hideProgress = true;\r\n setIncomeObj(changeIncomeObj);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"incomeProof\") {\r\n changeIncomeObj.id = id;\r\n changeIncomeObj.disable = false;\r\n changeIncomeObj.uploadPer = percentage;\r\n changeIncomeObj.showFile = false;\r\n changeIncomeObj.hideProgress = false;\r\n changeIncomeObj.mimeType = type;\r\n changeIncomeObj.fileName = fileName;\r\n setIncomeObj(changeIncomeObj);\r\n setActive(false);\r\n }\r\n }\r\n };\r\n\r\n const getUploadRes = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('150- Error in uploading the file.');\r\n // setErrCode(\"Document Uploaded is invalid. Upload correct document.\");\r\n setErrCode(res.error);\r\n } else if (res.data && res.data.Result) {\r\n setIsLoading(false);\r\n let updateIncomeObj = { ...incomeObj };\r\n let saveDetails = [];\r\n let saveIncomeObj = {\r\n documentCategoryId: updateIncomeObj.documentCategoryId,\r\n documentId: updateIncomeObj.documentId,\r\n documentexpirydate: \"\",\r\n fileName: res.data.Guid,\r\n isfilecropped: true,\r\n mimeType: res.data.Guid.split(\".\")[1],\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASaveDocumentDetails(saveIncome, saveObj);\r\n } else {\r\n // setErrCode('150- Error in uploading the file.');\r\n setErrCode(res.error);\r\n }\r\n };\r\n\r\n const saveIncome = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n }\r\n }\r\n };\r\n\r\n const closeCharges = () => {\r\n setShowModal(false);\r\n setOpenPlanModal(false);\r\n };\r\n\r\n const openCharges = (val: string) => {\r\n if (val === \"lite\") {\r\n setOpenLite(true);\r\n } else if (val === \"elite\") {\r\n setOpenLite(false);\r\n }\r\n setShowModal(true);\r\n setOpenPlanModal(true);\r\n };\r\n\r\n const openPDF = (fileName: any) => {\r\n setPdfName(fileName);\r\n setShowPdfModal(true);\r\n };\r\n\r\n const handleTog = () => {\r\n setSegTog(!segTog);\r\n if (segTog === false) {\r\n setCheckedDerNSE(true);\r\n setCheckedCurrNSE(true);\r\n setCheckedComMCXnNCXDX(true);\r\n } else if (segTog === true) {\r\n setCheckedDerNSE(false);\r\n setCheckedCurrNSE(false);\r\n setCheckedComMCXnNCXDX(false);\r\n }\r\n };\r\n\r\n // const showInfo = (e: any) => {\r\n // e.preventDefault();\r\n // setShowPopup(true);\r\n // };\r\n\r\n // const closePopup = () => {\r\n // setShowPopup(false);\r\n // handleSubmit();\r\n // };\r\n\r\n const handleSubmit = (e: any) => {\r\n setIsLoading(true);\r\n e.preventDefault();\r\n setShowPopup(true);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"productsdur\");\r\n if (isElite && eliteResponse.length > 0) {\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n cash: true,\r\n cashDeliveryActual: eliteResponse[0].cash_delivery_std,\r\n cashDeliveryMin: eliteResponse[0].cash_delivery_min,\r\n cashDeliverySide: \"BOTH\",\r\n cashIntradayActual: eliteResponse[0].cash_intraday_std,\r\n cashIntradayMin: eliteResponse[0].cash_intraday_min,\r\n cashIntradaySide: \"BOTH\",\r\n cds: true,\r\n cdsFutureActual: eliteResponse[0].cds_future_std,\r\n cdsFutureMin: eliteResponse[0].cds_future_min,\r\n cdsFutureSide: \"BOTH\",\r\n cdsOptionActual: eliteResponse[0].cds_options_std,\r\n cdsOptionSide: \"BOTH\",\r\n cdsOptionsMin: eliteResponse[0].cds_options_min,\r\n cdsBrokCode: \"\",\r\n clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n clientType: \"\",\r\n cxBrokCode: \"\",\r\n eqBrokCode: \"\",\r\n fo: true,\r\n foFutureActual: eliteResponse[0].fo_future_std,\r\n foFutureMin: eliteResponse[0].fo_future_min,\r\n foFutureSide: \"BOTH\",\r\n foOptionActual: eliteResponse[0].cds_options_std,\r\n foOptionSide: \"BOTH\",\r\n foOptionsMin: eliteResponse[0].cds_options_min,\r\n foBrokCode: \"\",\r\n isActive: true,\r\n isStandard: true,\r\n leadId: GlobalStore.leadId,\r\n objUTMInfo: objUTM_Info,\r\n schemeName: \"\",\r\n schemeId: eliteResponse[0].scheme_id,\r\n };\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // cash: true,\r\n // cash_Delivery_Actual: eliteResponse[0].cash_delivery_std,\r\n // cash_Delivery_Min: eliteResponse[0].cash_delivery_min,\r\n // cash_Delivery_Side: \"BOTH\",\r\n // cash_Intraday_Actual: eliteResponse[0].cash_intraday_std,\r\n // cash_Intraday_Min: eliteResponse[0].cash_intraday_min,\r\n // cash_Intraday_Side: \"BOTH\",\r\n // cds: true,\r\n // cds_Future_Actual: eliteResponse[0].cds_future_std,\r\n // cds_Future_Min: eliteResponse[0].cds_future_min,\r\n // cds_Future_Side: \"BOTH\",\r\n // cds_Option_Actual: eliteResponse[0].cds_options_std,\r\n // cds_Option_Side: \"BOTH\",\r\n // cds_options_min: eliteResponse[0].cds_options_min,\r\n // cdsbrokcode: \"\",\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // clienttype: \"\",\r\n // cxbrokcode: \"\",\r\n // eqbrokcode: \"\",\r\n // fo: true,\r\n // fo_Future_Actual: eliteResponse[0].fo_future_std,\r\n // fo_Future_Min: eliteResponse[0].fo_future_min,\r\n // fo_Future_Side: \"BOTH\",\r\n // fo_Option_Actual: eliteResponse[0].cds_options_std,\r\n // fo_Option_Side: \"BOTH\",\r\n // fo_options_min: eliteResponse[0].cds_options_min,\r\n // fobrokcode: \"\",\r\n // is_active: true,\r\n // isstandard: true,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // scheme_name: \"\",\r\n // schemeid: eliteResponse[0].scheme_id,\r\n // };\r\n ASaveBrokerageDetails(saveBrokerageDetailsRes, saveObj);\r\n } else if (isLite && liteResponse.length > 0) {\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n cash: true,\r\n cashDeliveryActual: liteResponse[0].cash_delivery_std,\r\n cashDeliveryMin: liteResponse[0].cash_delivery_min,\r\n cashDeliverySide: \"BOTH\",\r\n cashIntradayActual: liteResponse[0].cash_intraday_std,\r\n cashIntradayMin: liteResponse[0].cash_intraday_min,\r\n cashIntradaySide: \"BOTH\",\r\n cds: true,\r\n cdsFutureActual: liteResponse[0].cds_future_std,\r\n cdsFutureMin: liteResponse[0].cds_future_min,\r\n cdsFutureSide: \"BOTH\",\r\n cdsOptionActual: liteResponse[0].cds_options_std,\r\n cdsOptionSide: \"BOTH\",\r\n cdsOptionsMin: liteResponse[0].cds_options_min,\r\n cdsBrokCode: \"\",\r\n clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n clientType: \"\",\r\n cxBrokCode: \"\",\r\n eqBrokCode: \"\",\r\n fo: true,\r\n foFutureActual: liteResponse[0].fo_future_std,\r\n foFutureMin: liteResponse[0].fo_future_min,\r\n foFutureSide: \"BOTH\",\r\n foOptionActual: liteResponse[0].fo_options_std,\r\n foOptionSide: \"BOTH\",\r\n foOptionsMin: liteResponse[0].fo_options_min,\r\n foBrokCode: \"\",\r\n isActive: true,\r\n isStandard: true,\r\n leadId: GlobalStore.leadId,\r\n objUTMInfo: objUTM_Info,\r\n schemeName: \"\",\r\n schemeId: liteResponse[0].scheme_id,\r\n };\r\n // const saveObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // cash: true,\r\n // cash_Delivery_Actual: liteResponse[0].cash_delivery_std,\r\n // cash_Delivery_Min: liteResponse[0].cash_delivery_min,\r\n // cash_Delivery_Side: \"BOTH\",\r\n // cash_Intraday_Actual: liteResponse[0].cash_intraday_std,\r\n // cash_Intraday_Min: liteResponse[0].cash_intraday_min,\r\n // cash_Intraday_Side: \"BOTH\",\r\n // cds: true,\r\n // cds_Future_Actual: liteResponse[0].cds_future_std,\r\n // cds_Future_Min: liteResponse[0].cds_future_min,\r\n // cds_Future_Side: \"BOTH\",\r\n // cds_Option_Actual: liteResponse[0].cds_options_std,\r\n // cds_Option_Side: \"BOTH\",\r\n // cds_options_min: liteResponse[0].cds_options_min,\r\n // cdsbrokcode: \"\",\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // clienttype: \"\",\r\n // cxbrokcode: \"\",\r\n // eqbrokcode: \"\",\r\n // fo: true,\r\n // fo_Future_Actual: liteResponse[0].fo_future_std,\r\n // fo_Future_Min: liteResponse[0].fo_future_min,\r\n // fo_Future_Side: \"BOTH\",\r\n // fo_Option_Actual: liteResponse[0].fo_options_std,\r\n // fo_Option_Side: \"BOTH\",\r\n // fo_options_min: liteResponse[0].fo_options_min,\r\n // fobrokcode: \"\",\r\n // is_active: true,\r\n // isstandard: true,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // scheme_name: \"\",\r\n // schemeid: liteResponse[0].scheme_id,\r\n // };\r\n ASaveBrokerageDetails(saveBrokerageDetailsRes, saveObj);\r\n }\r\n };\r\n\r\n function saveBrokerageDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('157- Failed to save brokerage details.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Clevertap event: Select plan\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.planPage.CLICK_ON_SUBMIT_SELECTED_PLAN,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n PLAN_SELECTED: \"\",\r\n };\r\n\r\n if (isElite && eliteResponse.length > 0) {\r\n data[\"PLAN_SELECTED\"] = \"ELITE\";\r\n } else if (isLite && liteResponse.length > 0) {\r\n data[\"PLAN_SELECTED\"] = \"LITE\";\r\n }\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.planPage.CLICK_ON_SUBMIT_SELECTED_PLAN\r\n );\r\n\r\n const CBEListVM = [\r\n {\r\n cbeList_Value: \"12111100\",\r\n cbeList: \"EBL-EQ-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12111200\",\r\n cbeList: \"EBL-EQ-B\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12201200\",\r\n cbeList: \"EBL-MF-BSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12121100\",\r\n cbeList: \"EBL-FO-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDerNSE,\r\n },\r\n {\r\n cbeList_Value: \"12131100\",\r\n cbeList: \"EBL-CDS-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedCurrNSE,\r\n },\r\n {\r\n cbeList_Value: \"12717200\",\r\n cbeList: \"EBL-KRA-CVL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12717300\",\r\n cbeList: \"EBL-CKYCR\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"63616200\",\r\n cbeList: \"ESLDP_CDSL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n // according to new BRS\\\r\n {\r\n cbeList_Value: \"12141600\",\r\n cbeList: \"CX-NCDEX\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedComMCXnNCXDX,\r\n // checked: false,\r\n },\r\n {\r\n cbeList_Value: \"12141700\",\r\n cbeList: \"CX-MCX\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedComMCXnNCXDX,\r\n // checked: false,\r\n },\r\n ];\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"segmentsdur\");\r\n const saveSegData = {\r\n applicationid: GlobalStore.applicationID,\r\n bankcbe: \"\",\r\n cbelistVM: CBEListVM,\r\n clientprimarydetailid:\r\n parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n leadid: GlobalStore.leadId,\r\n createddate: \"\",\r\n objUTM_Info: objUTM_Info,\r\n sebi_mtf: true,\r\n };\r\n ASaveBrokerageSegmentDetiails(saveBrokerageSegDetailsRes, saveSegData);\r\n } else {\r\n // setErrCode('157- Failed to save brokerage details.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function saveBrokerageSegDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('156- Failed to save brokerage segment details.');\r\n setErrCode(res.error);\r\n // setErrCode(errorMessage.saveBrokerageSegDetailsRes);\r\n } else {\r\n if (res.data) {\r\n completeModuleStatus(dashboardUrl.plan);\r\n gtmService({\r\n action: \"PLAN_SEGMENT\",\r\n label: `Step_Complete | ${isLite ? \"LITE\" : \"ELITE\"}`,\r\n });\r\n\r\n ACheckClientProfilingData(\r\n getResForNav,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n } else {\r\n // setErrCode('156- Failed to save brokerage segment details.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n const getResForNav = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode('156- Failed to fetch client profiling data.');\r\n // setErrCode(errorMessage.saveBrokerageSegDetailsRes);\r\n setErrCode(res.error);\r\n } else {\r\n history.push(incompleteStageNavigation());\r\n }\r\n };\r\n\r\n const handleDerNSE = () => {\r\n setCheckedDerNSE(!checkedDerNSE);\r\n };\r\n\r\n const handleCurrNSE = () => {\r\n setCheckedCurrNSE(!checkedCurrNSE);\r\n };\r\n\r\n const handleTermOne = () => {\r\n setTermOne(!termOne);\r\n };\r\n\r\n const handleTermTwo = () => {\r\n setTermTwo(!termTwo);\r\n };\r\n\r\n const handleTermThree = () => {\r\n setTermThree(!termThree);\r\n };\r\n\r\n const handleLiteTick = () => {\r\n setIsLite(true);\r\n setIsElite(false);\r\n };\r\n\r\n const handleEliteTick = () => {\r\n setIsLite(false);\r\n setIsElite(true);\r\n };\r\n\r\n const checkTNC = () => {\r\n if (segTog) {\r\n if (\r\n termOne &&\r\n !incomeObj.hideProgress &&\r\n !active &&\r\n incomeProofErr === \"\"\r\n ) {\r\n return false;\r\n } else if (!(checkedDerNSE || checkedCurrNSE || checkedComMCXnNCXDX)) {\r\n setSegTog(!segTog);\r\n } else {\r\n return true;\r\n }\r\n } else if (!segTog && termOne) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const handleRemove = (val: any) => {\r\n if (val.uploadPer === 0) {\r\n setActive(true);\r\n checkTNC();\r\n }\r\n };\r\n\r\n // according to new DRS\r\n const handleComNCXDX = () => {\r\n setCheckedComMCXnNCXDX(!checkedComMCXnNCXDX);\r\n };\r\n // const handleComMCX = () => {\r\n // setCheckedComMCX(!checkedComMCX);\r\n // };\r\n\r\n return (\r\n
\r\n setShowPdfModal(false)}\r\n showModal={showPdfModal}\r\n />\r\n closeCharges()}\r\n >\r\n {DeviceContext().isDesktop ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Nuvama Lite

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Nuvama Elite

\r\n

\r\n Rich on features, high on privileges\r\n

\r\n
\r\n {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[0]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[1]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[2]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[5]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Broking Changes*

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Delivery
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Intraday
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Options
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUR Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUR Options
\r\n
\r\n {liteData && liteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Intraday
\r\n
\r\n {liteData && liteData.BrokingCharges.ComIntraday\r\n ? liteData.BrokingCharges.ComIntraday\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComIntraday\r\n ? eliteData.BrokingCharges.ComIntraday\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Delivery
\r\n
\r\n {liteData && liteData.BrokingCharges.ComDelivery\r\n ? liteData.BrokingCharges.ComDelivery\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComDelivery\r\n ? eliteData.BrokingCharges.ComDelivery\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Other Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin / Funding (Leverage)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (Normal)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (MTF)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Switching Charges (Only 2 switches allowed)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manual Support

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Call and Trade (Advisory, Trading)\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
RM / Advisor
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Special Situation Trades Assistance\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Tools & Features

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Auto Collateral
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Standard Tools (Watchlist, Screene₹, Alerts etc.)\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Advanced Charting
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Market Info
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Research
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
News (Live, Details)
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Content
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Notifications (Whatsapp)
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Portfolio Organizer
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Guided Portfolios
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Investology
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Trade Point
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Smallcase
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.SmallCase}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.SmallCase}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ancillary Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
DP AMC
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n DP Fees (Trf Out / Sell) / Inter-settlement Fees\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Payin
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Payout
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Physical CML Request
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Physical Contract Notes
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Cheque payment
\r\n
\r\n {liteData && liteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Pledge Charges
\r\n
\r\n {liteData && liteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Physical Statement Charges (Ledger, PNL, Tax etc.)\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n *For Nuvama Lite plan, the lower value in between the maximum\r\n order amount and 0.01% will be considered as the brokerage\r\n applicable on equity cash & future order.\r\n

\r\n

\r\n *For Nuvama Elite plan, equity Cash transactions brokerage rates\r\n shown above are additionally subject to a minimum brokerage\r\n rate. Final brokerage will be calculated as the maximum between\r\n existing brokerage rate as per plan and a minimum brokerage\r\n rate. This minimum brokerage rate is the lower between ₹25 and\r\n 2.5% of transaction value.\r\n

\r\n
\r\n
\r\n ) : DeviceContext().isMobile ? (\r\n openLite ? (\r\n
\r\n
\r\n
\r\n

Nuvama Lite

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n

\r\n {liteData && liteData.KeyFeatures[0]}\r\n

\r\n

\r\n {liteData && liteData.KeyFeatures[1]}\r\n

\r\n

\r\n {liteData && liteData.KeyFeatures[2]}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n

Nuvama Elite

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n

\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[5]}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {}} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {}} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[0]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[1]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[2]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[5]}\r\n
\r\n
\r\n
\r\n
\r\n

Broking Changes*

\r\n
\r\n
\r\n
\r\n
\r\n
Equity Delivery
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n
\r\n
\r\n
Equity Intraday
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n
\r\n
\r\n
Equity Futures
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n
\r\n
\r\n
Equity options
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n
\r\n
\r\n
CUR Futures
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n
\r\n
\r\n
CUR Options
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Other Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin / Funding (Leverage)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (Normal)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (MTF)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Switching Charges (Only 2 switches allowed)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manual Support

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Call and Trade (Advisory, Trading)\r\n
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n
\r\n
\r\n
RM / Advisor
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Special Situation Trades Assistance\r\n
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Tools & Features

\r\n
\r\n
\r\n
\r\n
\r\n
Auto Collateral
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Standard Tools (Watchlist, Screene₹, Alerts etc.)\r\n
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n
\r\n
\r\n
Advanced Charting
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n
\r\n
\r\n
Market Info
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n
\r\n
\r\n
Research
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n
\r\n
\r\n
News (Live, Details)
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n
\r\n
\r\n
Content
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Notifications (Whatsapp)\r\n
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n
\r\n
\r\n
Portfolio Organizer
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n
\r\n
\r\n
Guided Portfolios
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n
\r\n
\r\n
Investology
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n
\r\n
\r\n
Trade Point
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n
\r\n
\r\n
Smallcase
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ancillary Charges

\r\n
\r\n
\r\n
\r\n
\r\n
DP AMC
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n DP Fees (Trf Out / Sell) / Inter-settlement Fees\r\n
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n
\r\n
\r\n
Payin
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n
\r\n
\r\n
Payout
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n
\r\n
\r\n
Physical CML Request
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n
\r\n
\r\n
Physical Contract Notes
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n
\r\n
\r\n
Cheque payment
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n
\r\n
\r\n
Pledge Charges
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Physical Statement Charges (Ledger, PNL, Tax etc.)\r\n
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n *For Nuvama Lite plan, the lower value in between the maximum\r\n order amount and 0.01% will be considered as the brokerage\r\n applicable on equity cash & future order.\r\n

\r\n

\r\n *For Nuvama Elite plan, equity Cash transactions brokerage\r\n rates shown above are additionally subject to a minimum\r\n brokerage rate. Final brokerage will be calculated as the\r\n maximum between existing brokerage rate as per plan and a\r\n minimum brokerage rate. This minimum brokerage rate is the\r\n lower between ₹25 and 2.5% of transaction value.\r\n

\r\n
\r\n
\r\n
\r\n )}\r\n \r\n {!showModal && (\r\n
\r\n {isEmployee && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {liteResponse.length > 0 &&\r\n liteResponse[0].client_type === \"Online\" && (\r\n
\r\n
\r\n
\r\n {DeviceContext().isDesktop ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n {eliteResponse.length > 0 &&\r\n eliteResponse[0].client_type === \"Premium\" && (\r\n
\r\n
\r\n
\r\n {DeviceContext().isDesktop ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n handleTog()} />\r\n
\r\n
\r\n \r\n
\r\n

Equity Cash

\r\n
\r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Mutual Funds

\r\n
\r\n
\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Equity Derivatives

\r\n
\r\n
\r\n
\r\n handleDerNSE()}\r\n />\r\n \r\n
\r\n {/*
\r\n handleDerBSE()} />\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n

Currency Derivatives

\r\n
\r\n
\r\n
\r\n handleCurrNSE()}\r\n />\r\n \r\n
\r\n {/*
\r\n handleCurrBSE()} />\r\n \r\n
\r\n
\r\n handleCurrMESI()} />\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n

Commodity

\r\n
\r\n
\r\n
\r\n handleComNCXDX()}\r\n />\r\n \r\n
\r\n {/*
\r\n handleComMCX()}\r\n />\r\n \r\n
*/}\r\n
\r\n
\r\n {segTog && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n handleIncomeProof(val)}\r\n errorText={incomeProofErr}\r\n onBlur={(val) => dropDownBlur(val)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {/* \r\n
\r\n \r\n
\r\n
*/}\r\n\r\n {/* closePopup()} isCloseIcon={true}>\r\n
\r\n \r\n
\r\n
*/}\r\n\r\n
\r\n handleTermOne()}\r\n />\r\n \r\n
\r\n {/*
\r\n handleTermTwo()} />\r\n \r\n
\r\n
\r\n handleTermThree()} />\r\n \r\n
*/}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {!termOne ? (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default SelectPlan;\r\n","import React from \"react\";\r\nimport \"./DocVerificationHome.scss\";\r\nimport DocVerifcationForm from \"../DocVerificationForm/DocVerificationForm\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\n\r\nexport interface DocVerificationHomeProps {}\r\n\r\nconst DocVerificationHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"6\");\r\n }, []);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // \r\n //
\r\n // \r\n //
\r\n );\r\n};\r\n\r\nexport default DocVerificationHome;\r\n","import * as React from \"react\";\r\nimport \"./DocStatusList.scss\";\r\n\r\nexport interface DocStatusListProps {\r\n docName: string;\r\n docStatus: \"Pending Upload\" | \"Approved\" | \"AUTO APPROVED\" | \"PENDING\";\r\n docInfo: string;\r\n}\r\n\r\nconst DocStatusList: React.FC = (props) => (\r\n
\r\n \r\n \r\n {props.docStatus}\r\n \r\n \r\n
\r\n);\r\n\r\nexport default DocStatusList;\r\n","import React from \"react\";\r\nimport \"./DocStatus.scss\";\r\nimport DocStatusList from \"./DocStatusList/DocStatusList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl } from \"../../utils/constants\";\r\n\r\nexport interface DocStatusProps {\r\n isPendingUpload: boolean;\r\n isPendingApproval: boolean;\r\n showResult: boolean;\r\n pendingUploadList: Array;\r\n pendingApprovalList: Array;\r\n}\r\n\r\nconst DocStatus: React.FC = (props: DocStatusProps) => {\r\n const history = useHistory();\r\n\r\n function uploadPendingDoc() {\r\n history.push(dashboardUrl.doc);\r\n }\r\n\r\n return (\r\n <>\r\n {props.showResult &&\r\n (props.isPendingUpload ? (\r\n <>\r\n \r\n
\r\n {props.pendingUploadList.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n ) : props.isPendingApproval ? (\r\n
\r\n {props.pendingApprovalList.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n ) : (\r\n <>\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default DocStatus;\r\n","import React from 'react';\r\nimport './PendingModule.scss'\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nexport interface PendingModuleProps {\r\n moduleName: string;\r\n moduleLink: string;\r\n}\r\n\r\nconst PendingModule: React.FC = (props) => {\r\n\r\n const history = useHistory();\r\n\r\n function redirectToUrl() {\r\n history.push(props.moduleLink);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default PendingModule;","import React from 'react';\r\nimport './PendingModulesList.scss';\r\nimport PendingModule from './PendingModule/PendingModule';\r\n\r\nexport interface PendingModulesListProps {\r\n pendingModulesList: Array<{ name: string, navUrl: string }>;\r\n}\r\n\r\nconst PendingModulesList: React.FC = (props) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n {\r\n props.pendingModulesList.map((module, index) => (\r\n \r\n ))\r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PendingModulesList;","import * as React from \"react\";\r\nimport \"../ESignForm/ESignForm.scss\";\r\nimport DocStatus from \"../DocStatus/DocStatus\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport esignBanner from \"../../../assets/icons/esignBanner.jpeg\";\r\nimport { AGetEsignUrlDetails } from \"../../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nvar timeLeft = 4;\r\nconst clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n);\r\nconst EsignKra: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [isEsign, setIsEsign] = React.useState(\r\n GlobalStore.stageStatus.isesigncompleted\r\n );\r\n React.useEffect(() => {\r\n var timerId = setInterval(countdown, 5000);\r\n function countdown() {\r\n if (timeLeft == -1 || GlobalStore.stageStatus.isesigncompleted) {\r\n clearInterval(timerId);\r\n } else {\r\n timeLeft--;\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n setIsLoading(true);\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n }\r\n }\r\n return () => {\r\n clearInterval(timerId);\r\n };\r\n }, []);\r\n function esignKraSubmit() {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetEsignUrlDetails(getEsignKraUrl, GlobalStore.applicationID, 2);\r\n }\r\n function getEsignKraUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetEsignKraLink\", label: \"ERROR || ERR117\" });\r\n setIsLoading(false);\r\n } else {\r\n if (\r\n (res.data.Code == 200 || res.data.Code == 201) &&\r\n res.data.Data.EsignLink !== null\r\n ) {\r\n const encryptedUrl = res.data.Data.EsignLink;\r\n // gtmService({ action: \"E_SIGN_KRA | E_SIGN_KRA\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event while user choose for e-sign\r\n // esignCleverTapEvent(true);\r\n // Clevertap ends\r\n\r\n window.location.href = encryptedUrl;\r\n } else {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n res.data.Data.FormValidationSummary.forEach(\r\n (element: any, i: number) => {\r\n if (i === 0) allErrorsString = element.FormValidations;\r\n else allErrorsString += `, ${element.FormValidations}`;\r\n }\r\n );\r\n }\r\n setErrCode(errorMessage.newEsignError);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n function handleChangeStatus() {\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n setStageData(responseObj);\r\n setIsEsign(responseObj.isesigncompleted);\r\n //check completeness of stages\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"ESign\"\r\n
\r\n
\r\n
\r\n

KRA Registration Request

\r\n
\r\n
\r\n
    \r\n
  • \r\n I hereby declare that the details fumished are true and correct to\r\n the best of my knowledge and belief and I undertake to inform you\r\n of any changes therein, immediately. In case any of the\r\n information is found to be false or untrue or misleading or\r\n misrepresenting, I am aware that I may be held liable for it.\r\n
  • \r\n
  • \r\n {\" \"}\r\n I hereby consent to receiving information from Central KYC\r\n Registry and / or KRA through SMS/Email on the above registered\r\n number / email address.{\" \"}\r\n
  • \r\n
  • \r\n I am also aware that for Aadhaar OVD based KYC, my KYC request\r\n shall be validated against Aadhaar details. I hereby consent to\r\n sharing my masked Aadhaar card with readable QR code or my Aadhaar\r\n XML/Digilocker XML file, along with passcode and as applicable,\r\n with KRA and other Intermediaries with whom I have a business\r\n relationship for KYC purposes only.\r\n
  • \r\n
\r\n
\r\n
\r\n {isEsign ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n E-Sign Confirmation is pending for previous signature. Click on\r\n above button to Retry and E-Sign\r\n
\r\n
\r\n )}\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EsignKra;\r\n","import React from \"react\";\r\nimport esignBanner from \"../../../assets/icons/esignBanner.jpeg\";\r\nimport ESignForm from \"../ESignForm/ESignForm\";\r\nimport PendingModules from \"../PendingModulesList/PendingModulesList\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport EsignKra from \"../ESignKra/ESignKra\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport {\r\n AGetPanUtiData,\r\n APanLinkedWithAadhar,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AUpdatePanAddharLinkStatus } from \"../../Services/dashboard/eSignApiServices\";\r\nexport interface ESignHomeProps {}\r\n\r\nconst ESignHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const location = useLocation();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const [isEsign, setisEsign] = React.useState(\r\n GlobalStore.stageStatus.isesigncompleted\r\n );\r\n const [isEsignKra, setEsignKra] = React.useState(\r\n GlobalStore.stageStatus.iskraesigncompleted\r\n );\r\n\r\n const [ispanlinkedwithaadhar, setIspanlinkedwithaadhar] =\r\n React.useState(GlobalStore.stageStatus.ispanlinkedwithaadhar);\r\n const [checkpanaaddharflag, setCheckpanaaddharflag] = React.useState(\r\n GlobalStore.stageStatus.checkpanaaddharflag\r\n );\r\n const [pendingModules, setPendingModules] =\r\n React.useState>();\r\n const queryObject = parseQuery(location.search);\r\n React.useEffect(() => {\r\n checkPendingModules();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"10\");\r\n }, []);\r\n React.useEffect(() => {\r\n setEsignKra(GlobalStore.stageStatus.iskraesigncompleted);\r\n setisEsign(GlobalStore.stageStatus.isesigncompleted);\r\n }, [\r\n GlobalStore.stageStatus.isesigncompleted,\r\n GlobalStore.stageStatus.iskraesigncompleted,\r\n isEsign,\r\n isEsignKra,\r\n ]);\r\n const [seedingPopup, setSeedingPopup] = React.useState(\r\n !GlobalStore.stageStatus.ispanlinkedwithaadhar\r\n );\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.eSignPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function checkPendingModules(): Array<{ name: string; navUrl: string }> {\r\n let arr: Array<{ name: string; navUrl: string }> = [];\r\n GlobalStore.leftNavBarState.forEach((module) => {\r\n if (!module.isComplete && module.isRequired) {\r\n arr.push({ name: module.name, navUrl: module.navUrl });\r\n }\r\n });\r\n setPendingModules(arr);\r\n return arr;\r\n }\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n };\r\n\r\n const getSeedingData = (res: any) => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(errCode + res.error);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (responseObj.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n setIspanlinkedwithaadhar(false);\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n clientPartialDetails_ao.pan,\r\n clientPartialDetails_ao.aadharNo\r\n );\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n responseObj.IsAadharSeeded == \"Y\" ||\r\n responseObj.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n setIspanlinkedwithaadhar(true);\r\n AUpdatePanAddharLinkStatus(\r\n panAdhaarLinkStatusUpdated,\r\n GlobalStore.applicationID,\r\n true\r\n );\r\n }\r\n }\r\n }\r\n };\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n AUpdatePanAddharLinkStatus(\r\n panAdhaarLinkStatusUpdated,\r\n GlobalStore.applicationID,\r\n true\r\n );\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const panAdhaarLinkStatusUpdated = (res: any) => {\r\n console.log(\"AUpdatePanAddharLinkStatus\", res);\r\n };\r\n\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n {!isEsign && queryObject.sc !== \"k\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"ESign\"\r\n
\r\n {pendingModules && (\r\n <>\r\n {pendingModules.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n {queryObject.sc === \"k\" && !isEsignKra && }\r\n
\r\n
\r\n closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
\r\n {/* {DeviceContext().isMobile && } */}\r\n \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n disabled={!checkpanaaddharflag}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ESignHome;\r\n","import React from \"react\";\r\nimport \"./VideoPlayerIpv.scss\";\r\nimport OtpTimer from \"../OtpTimer/OtpTimer\";\r\nimport Button from \"../Button/Button\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n isSafariBrowser,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport gtmService from \"../../Services/gtmService\";\r\n\r\nexport interface VideoPlayerIpvProps {\r\n ipvUploaded: (uploadObj: any, isSafari: boolean) => void;\r\n isGeoError?: boolean;\r\n}\r\n\r\nexport function captureScreenShot(\r\n video: HTMLVideoElement,\r\n callback: CallableFunction\r\n) {\r\n let canvas: HTMLCanvasElement = document.createElement(\r\n \"canvas\"\r\n ) as HTMLCanvasElement;\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n canvas\r\n .getContext(\"2d\")!\r\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n canvas.toBlob((blob) => {\r\n const new_File = new File([blob as BlobPart], \"safariVideoIPV.webm\", {\r\n type: \"video/webm\",\r\n lastModified: Date.now(),\r\n });\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n const base64 = (e.target && e.target.result)?.toString();\r\n callback(\r\n base64?.split(\",\")[1],\r\n blob,\r\n video.videoWidth,\r\n video.videoHeight\r\n );\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n });\r\n}\r\n\r\nconst VideoPlayerIpv: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showStartBtn, setShowStartBtn] = React.useState(true);\r\n const [showVidPerm, setShowVidPerm] = React.useState(false);\r\n const [showRecordTimer, setShowRecordTimer] = React.useState(false);\r\n const [showUploadBtn, setShowUploadBtn] = React.useState(false);\r\n const [stream, setStream] = React.useState();\r\n const [webBlob, setWebBlob] = React.useState();\r\n const isSafari: boolean = isSafariBrowser();\r\n const [frames, setFrames] = React.useState>([]);\r\n const [mediaRecorder, setMediaRecorder] = React.useState();\r\n const videoRefElement = React.useRef(null);\r\n const previewRefElement = React.useRef(null);\r\n const imageRefElement = React.useRef(null);\r\n const [imgSrcSafari, setImgSrcSafari] = React.useState();\r\n const [videoWidth, setVideoWidth] = React.useState();\r\n const [videoHeight, setVideoHeight] = React.useState();\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n\r\n React.useEffect(() => {\r\n console.log(props.isGeoError);\r\n turnOnCamera();\r\n showPreview(false);\r\n return () => {};\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n stream && stream.getVideoTracks()[0].stop();\r\n };\r\n }, [stream]);\r\n\r\n function showPreview(showPreview: boolean) {\r\n videoRefElement.current!.hidden = showPreview;\r\n if (isSafari) imageRefElement.current!.hidden = !showPreview;\r\n else previewRefElement.current!.hidden = !showPreview;\r\n }\r\n\r\n function turnOnCamera() {\r\n setIsLoading(true);\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(stream: MediaStream) {\r\n videoRefElement.current!.srcObject = stream;\r\n try {\r\n setMediaRecorder(new MediaRecorder(stream));\r\n } catch (ex) {}\r\n setStream(stream);\r\n setShowVidPerm(false);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n setShowVidPerm(true);\r\n setIsLoading(false);\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(handleSuccess)\r\n .catch(handleError);\r\n }\r\n\r\n function record() {\r\n setShowStartBtn(false);\r\n setShowRecordTimer(true);\r\n gtmService({ action: \"VIDEO_IPV\", label: \"START_RECORDING\" });\r\n let interval: NodeJS.Timeout;\r\n const arr: Array = [];\r\n if (isSafari) {\r\n interval = setInterval(\r\n () =>\r\n captureScreenShot(\r\n videoRefElement.current!,\r\n (\r\n base64: string,\r\n blob: Blob,\r\n videoWidth: number,\r\n videoHeight: number\r\n ) => {\r\n setImgSrcSafari(window.URL.createObjectURL(blob));\r\n setVideoWidth(videoWidth);\r\n setVideoHeight(videoHeight);\r\n arr.push(base64);\r\n }\r\n ),\r\n 500\r\n );\r\n } else {\r\n mediaRecorder && mediaRecorder.start();\r\n }\r\n setTimeout(() => {\r\n setShowRecordTimer(false);\r\n setShowUploadBtn(true);\r\n isSafari && interval && clearInterval(interval);\r\n stop(arr);\r\n }, 5200);\r\n }\r\n\r\n if (mediaRecorder) {\r\n mediaRecorder.ondataavailable = function (event: any) {\r\n setFrames([event.data]);\r\n };\r\n\r\n mediaRecorder.onstop = (ev) => {\r\n const blob = new Blob(frames, { type: \"video/webm\" });\r\n previewRefElement.current!.src = window.URL.createObjectURL(blob);\r\n setWebBlob(blob);\r\n showPreview(true);\r\n };\r\n }\r\n\r\n function stop(framesArr?: Array) {\r\n showPreview(true);\r\n if (isSafari && framesArr) {\r\n setFrames(framesArr);\r\n } else {\r\n mediaRecorder && mediaRecorder.stop();\r\n }\r\n stream && stream.getVideoTracks()[0].stop();\r\n }\r\n\r\n function retryVideo() {\r\n setFrames([]);\r\n showPreview(false);\r\n setShowUploadBtn(false);\r\n setShowRecordTimer(false);\r\n setShowStartBtn(true);\r\n setImgSrcSafari(\"\");\r\n turnOnCamera();\r\n }\r\n\r\n function uploadVideo() {\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n if (isSafari) {\r\n const uploadObj = {\r\n image64: frames,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n applicationid: GlobalStore.applicationID,\r\n leadid: GlobalStore.leadId,\r\n contentType: \"video/webm\",\r\n panno: GlobalStore.personaldetails.pan,\r\n width: videoWidth,\r\n height: videoHeight,\r\n utmObj: objUTM_Info,\r\n };\r\n props.ipvUploaded(uploadObj, isSafari);\r\n } else {\r\n const new_File = new File([webBlob as BlobPart], \"videoIPV.webm\", {\r\n type: \"video/webm\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n const base64 = (e.target && e.target.result)?.toString();\r\n if (base64?.toString()) {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n contentType: new_File.type,\r\n image: base64!.split(\",\")[1],\r\n imageName: `${GlobalStore.applicationID}_${new_File.name}`,\r\n leadid: GlobalStore.leadId,\r\n panno: GlobalStore.personaldetails.pan,\r\n utmObj: objUTM_Info,\r\n };\r\n props.ipvUploaded(uploadObj, isSafari);\r\n }\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {showVidPerm && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {isSafari ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {/* Start Recording Button Start */}\r\n {showStartBtn && !props.isGeoError && (\r\n {} : () => record()}\r\n >\r\n \r\n \r\n
\r\n )}\r\n {/* Start Recording Button End */}\r\n\r\n {/* Recording Timer Start */}\r\n {showRecordTimer && (\r\n
\r\n \r\n
\r\n )}\r\n {/* Recording Timer End */}\r\n\r\n {/* Upload Btn Start */}\r\n {showUploadBtn && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {/* Upload Btn End */}\r\n \r\n );\r\n};\r\n\r\nexport default VideoPlayerIpv;\r\n","import React, { useState } from \"react\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport \"./VideoVerification.scss\";\r\nimport VideoPlayerIpv from \"../UI/VideoPlayerIpv/VideoPlayerIpv\";\r\nimport Backdrop from \"../UI/Backdrop/Backdrop\";\r\nimport ipvDemo from \"../../assets/icons/ipv_demo.jpg\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n AGetIpvOtp,\r\n ASaveIPVerificationDetails,\r\n ASendSms,\r\n AUploadIpv,\r\n AUploadIpvSafari,\r\n} from \"../Services/dashboard/ipvApiServices\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n setStageData,\r\n} from \"../Services/globalService\";\r\nimport { dashboardUrl, watsappNo, geoLocationConfig } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { AGetClientDetailsByPan } from \"../Services/registration/panDobApiService\";\r\nimport Toggle from \"../UI/Toggle/Toggle\";\r\nimport watsAppIcon from \"../../assets/icons/watsapp.png\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport config from \"../../config/domain\";\r\nimport useGeoLocation from \"../../customHooks/useGeoLocation\";\r\nimport InfoModal from \"../UI/InfoModal/InfoModal\";\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport interface VideoVerificationProps {}\r\n\r\nconst VideoVerification: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const queryParams = useQuery();\r\n const UTM_SOURCE = queryParams.get(\"utm_source\")\r\n ? queryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = queryParams.get(\"utm_medium\")\r\n ? queryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = queryParams.get(\"utm_campaign\")\r\n ? queryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n\r\n const [errCode, setErrCode] = React.useState();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showSample, setShowSample] = React.useState(false);\r\n const [otp, setOtp] = React.useState(\"\");\r\n const [enableLink, setEnableLink] = React.useState(false);\r\n const [eSignCompleted, setESignCompleted] = useState(false);\r\n const [lat, setLat] = useState(\"\");\r\n const [long, setLong] = useState(\"\");\r\n const [retryLocation, setRetryLocation] = useState(false);\r\n const history = useHistory();\r\n let intervalTimer: any;\r\n\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n let watchPositionId: number;\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"7\");\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n setIsLoading(true);\r\n if (!id) AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n else {\r\n const pan = atob(id);\r\n console.log(pan);\r\n setIsLoading(true);\r\n AGetClientDetailsByPan(searchByPan, pan);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission]);\r\n\r\n // React.useEffect(() => {\r\n // // navigator.geolocation.watchPosition(successPosition, errorPosition)\r\n // }, [lat, long]);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.ipvPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n }\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n } else {\r\n setErrCode(\"1182 - Error in fetching Client details from our system.\");\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here\");\r\n setLat(`${geoLoc.coordinates.lat}`);\r\n setLong(`${geoLoc.coordinates.lng}`);\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(setLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n }\r\n }\r\n };\r\n\r\n const setLocation = (position: { coords: any }) => {\r\n console.log(\"Set Location\", position.coords);\r\n setLat(position.coords.latitude);\r\n setLong(position.coords.longitude);\r\n\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n };\r\n\r\n const errorLocation = (err: any) => {\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation();\r\n };\r\n\r\n const iPVerificationSaved = (res: any,isFromSMS?:string) => {\r\n \r\n if (!res || res.error) {\r\n // setErrCode(\"Error in saving geo-location details\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR150\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR150-S\",\r\n });\r\n if(isFromSMS==\"fromSMS\")\r\n {\r\n checkPdStatus();\r\n }\r\n else\r\n {\r\n completeModuleStatus(dashboardUrl.ipv);\r\n gtmService({ action: \"VIDEO_IPV\", label: \"Step_Complete\" });\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName: cleverTapEvents.registration.ipvPage.CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE || \"\",\r\n UTM_MEDIUM: UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.ipvPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n if (!id) history.push(incompleteStageNavigation());\r\n else\r\n alert(\r\n \"IPV uploaded successfully, please close this browser window and continue with your Account Opening process\"\r\n );\r\n }\r\n\r\n\r\n\r\n }\r\n };\r\n\r\n function successPosition(data: any) {\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setLat(data.coords.latitude);\r\n setLong(data.coords.longitude);\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n }\r\n\r\n function saveIpvDetails(data: any) {\r\n console.log(\"CALLED HHH\");\r\n if (lat !== \"\" && long !== undefined && long !== \"\" && long !== undefined) {\r\n var latitude = lat;\r\n var longitude = long;\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n geo_location: `${latitude}, ${longitude}`,\r\n ipaddress: \"192.168.200.80\",\r\n ipvlink: \"\",\r\n latitude: `${latitude}`,\r\n longitude: `${longitude}`,\r\n };\r\n \r\n console.log(\"Called in success\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response), ipvObj);\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n async function turnOnCamera() {\r\n getLocation();\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n console.log(stream, \"then\");\r\n handleSuccess(stream);\r\n })\r\n .catch((stream) => {\r\n console.log(stream, \"catch\");\r\n handleError(stream);\r\n });\r\n }\r\n function getIpvOtp(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"456 - Error in getting IPV OTP\");\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetIPVOTP\", label: \"ERROR || ERR149\" });\r\n } else {\r\n if (res.data && res.data.OTP) {\r\n setOtp(res.data.OTP);\r\n getLocation();\r\n } else {\r\n gtmService({ action: \"GetIPVOTP\", label: \"ERROR || ERR149-S\" });\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function ipvUploaded(uploadObj: any, isSafari: boolean) {\r\n \r\n console.log(\"uploadObj\", uploadObj);\r\n setIsLoading(true);\r\n if (isSafari) {\r\n AUploadIpvSafari(videoUploaded, uploadObj);\r\n } else {\r\n AUploadIpv(videoUploaded, uploadObj);\r\n }\r\n }\r\n\r\n function videoUploaded(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"980 - Error in uploading video\");\r\n gtmService({ action: \"UploadIPVMerge\", label: \"ERROR || ERR151\" });\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n \r\n saveIpvDetails({ coords: {} });\r\n // completeModuleStatus(dashboardUrl.ipv);\r\n // gtmService({ action: \"VIDEO_IPV\", label: \"Step_Complete\" });\r\n // // Clevertap event: submit documents data\r\n // const data = {\r\n // EventName: cleverTapEvents.registration.ipvPage.CLICK_ON_SUBMIT,\r\n // InitiationPlatform: \"\",\r\n // UTM_SOURCE: UTM_SOURCE || \"\",\r\n // UTM_MEDIUM: UTM_MEDIUM || \"\",\r\n // UTM_CAMPAIGN: UTM_CAMPAIGN || \"\",\r\n // KRA: GlobalStore.isKRA,\r\n // DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n // ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n // LEAD_ID: GlobalStore.leadId,\r\n // REF_ID: GlobalStore.applicationID,\r\n // };\r\n\r\n // ClevertapService.pushEvent(data);\r\n // // Clevertap ends here\r\n\r\n // // Apps flyer event for click on proceed on bank details page\r\n // AppsFlyerService.pushEvent(\r\n // appsFlyerEvents.registration.ipvPage.CLICK_ON_SUBMIT\r\n // );\r\n\r\n // if (!id) history.push(incompleteStageNavigation());\r\n // else\r\n // alert(\r\n // \"IPV uploaded successfully, please close this browser window and continue with your Account Opening process\"\r\n // );\r\n } else {\r\n setIsLoading(false);\r\n setErrCode(\"981 - Error in uploading video\");\r\n gtmService({ action: \"UploadIPVMerge\", label: \"ERROR || ERR151-S\" });\r\n }\r\n }\r\n }\r\n\r\n const sendSms = (val: string) => {\r\n if (lat !== \"\" && long !== undefined && long !== \"\" && long !== undefined) {\r\n if (enableLink === true) {\r\n setEnableLink(false);\r\n } else {\r\n setEnableLink(true);\r\n // Create and send link for capturing IPV from mobile\r\n const encodedPan = btoa(`${GlobalStore.personaldetails.pan}`);\r\n const stringParams = `ipvLink?id=${encodedPan}`;\r\n const ipvUrl = `${config.root}${stringParams}`;\r\n\r\n console.log(ipvUrl);\r\n const smsBody = {\r\n mobNo: GlobalStore.user.mobile,\r\n selfieLinkText: ipvUrl,\r\n // selfieLinkText: `Give a Smile and complete your IPV process for Online Account Opening, click here ${ipvUrl} to complete the process. Regards, Nuvama`,\r\n };\r\n ASendSms(() => {}, smsBody);\r\n\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n geo_location: `${lat}, ${long}`,\r\n ipaddress: \"192.168.200.80\",\r\n ipvlink: ipvUrl,\r\n };\r\n console.log(\"called here in send SMS\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response,\"fromSMS\"), ipvObj);\r\n \r\n }\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n };\r\n\r\n function checkPdStatus() {\r\n const timer = setInterval(() => {\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }, 10000);\r\n intervalTimer = timer;\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n setStageData(responseObj);\r\n if (responseObj.isesigncompleted) {\r\n setIsLoading(false);\r\n console.log(\"Esign Completed\");\r\n setESignCompleted(true);\r\n } else if (responseObj.isipvarificationcompleted) {\r\n setIsLoading(false);\r\n clearInterval(intervalTimer);\r\n // history.push(incompleteStageNavigation());\r\n if (!id) history.push(dashboardUrl.profiler);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n setShowSample(false)}\r\n >\r\n
\r\n \"ipvDemo\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {otp && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, plesae wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {!id && (\r\n
\r\n \r\n
\r\n sendSms(\"Photo\")} />\r\n
\r\n
\r\n )}\r\n
\r\n {enableLink && (\r\n
\r\n \r\n {/*
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n )}\r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default VideoVerification;\r\n","import React, { Component } from \"react\";\r\nimport down from \"../../../assets/icons/down.svg\";\r\nimport \"./Dropdown.scss\";\r\n\r\nexport interface IProps {\r\n options: any;\r\n searchKey: string;\r\n placeholder?: string;\r\n noDataMsg?: string;\r\n isDownArrow?: boolean;\r\n name?: string;\r\n disabled?: boolean;\r\n errorText?: string;\r\n autoComplete?: string;\r\n searchLength: number;\r\n className?: string;\r\n defaultValue?: string;\r\n onChange?: (value: string) => void;\r\n onOptionSelect?: (value: any) => void;\r\n onBlur?: (value: any) => void;\r\n}\r\n\r\nexport interface IState {\r\n isShowSuggestions: boolean;\r\n value: string;\r\n selectedObj?: object | undefined;\r\n}\r\n\r\nclass Dropdown extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowSuggestions: false,\r\n value: props.defaultValue || \"\",\r\n selectedObj: undefined\r\n };\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: IProps, prevState: IState) {\r\n if (nextProps.defaultValue !== prevState.value && nextProps.defaultValue !== undefined) {\r\n this.setState({ value: nextProps.defaultValue });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.props.searchLength === 0 || this.state.value.length >= this.props.searchLength) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n };\r\n\r\n onChange = (value: any) => {\r\n this.setState({ value: value, selectedObj: undefined });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n onOptionSelect = (item: any) => {\r\n this.setState({ value: item[this.props.searchKey], selectedObj: item, isShowSuggestions: false });\r\n if (this.props.onOptionSelect) {\r\n this.props.onOptionSelect(item);\r\n }\r\n };\r\n handleBlur = () => {\r\n setTimeout(() => {\r\n if (this.state.isShowSuggestions) {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.props.onBlur && this.props.onBlur(this.state.selectedObj);\r\n }, 300);\r\n };\r\n\r\n render() {\r\n const { isShowSuggestions } = this.state;\r\n let ddCount = 0;\r\n\r\n const noData = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n let showSuggestions = this.props.options.map((item: any, i: any) => {\r\n // const dropdownData = item[this.props.searchKey].replace(new RegExp(this.state.value, \"i\"), \"$&\");\r\n const dropdownData = item[this.props.searchKey];\r\n ddCount++;\r\n return (\r\n
this.onOptionSelect(item)}>\r\n
\r\n \r\n
\r\n
\r\n );\r\n });\r\n\r\n return (\r\n
\r\n this.onChange(e.target.value)}\r\n onBlur={this.handleBlur}\r\n onFocus={this.onFocus}\r\n value={this.state.value}\r\n disabled={this.props.disabled}\r\n placeholder={this.props.placeholder}\r\n autoComplete={this.props.autoComplete ? this.props.autoComplete : \"off\"}\r\n style={this.props.isDownArrow ? { backgroundImage: `url(${down})` } : {}}\r\n />\r\n {isShowSuggestions && (showSuggestions || this.props.noDataMsg) ? (\r\n
{ddCount ? showSuggestions : noData}
\r\n ) : null}\r\n {this.props.errorText &&

{this.props.errorText}

}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Dropdown;\r\n","import React, { useState } from \"react\";\r\nimport {\r\n ACheckClientProfilingData,\r\n AGetClientProfilingQuestion,\r\n ASaveClientProfilingQuestion,\r\n} from \"../Services/dashboard/profilerApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport Radio from \"../../components/UI/Radio/Radio\";\r\nimport { MultiSelectCheckBox } from \"../UI/Checkbox/Checkbox\";\r\nimport \"./Profiler.scss\";\r\nimport { SubmitButton } from \"../UI/Button/Button\";\r\nimport { dashboardUrl, subsource_ID } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport { isTemplateTail } from \"typescript\";\r\nimport Dropdown from \"../UI/Dropdown/Dropdown\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport config from \"../../config/domain\";\r\n\r\nexport interface OptionProps {\r\n option_ID: number;\r\n question_ID: number;\r\n isChecked?: boolean;\r\n}\r\n\r\nconst Profiler = (props: any) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [checkClientProfilingData, setCheckClientProfilingData] =\r\n React.useState(false);\r\n const [optionId, setOptionId] = React.useState();\r\n const [singleAns, setSingleAns] = React.useState>([]);\r\n const [questionLists, setQuestionLists] = React.useState();\r\n\r\n const [lists, setLists] = React.useState>([]);\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n ACheckClientProfilingData(\r\n getCheckClientkProfilingData,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n }, []);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.investmentPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const getCheckClientkProfilingData = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"180- Failed to fetch client profiling data.\");\r\n setErrCode(res.error);\r\n } else if (res.data === false) {\r\n setIsLoading(false);\r\n setCheckClientProfilingData(res.data);\r\n if (!res.data) {\r\n AGetClientProfilingQuestion(\r\n getClientProfilingQuestion,\r\n GlobalStore.applicationID,\r\n // sourceId\r\n config.clientQuesttionSourceId\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const getClientProfilingQuestion = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error)\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n console.log(\"getClientProfilingQuestion responseObj\", responseObj);\r\n if (responseObj) {\r\n setQuestionLists(responseObj.QuestionList);\r\n }\r\n const multiAnswerList = responseObj.QuestionList.filter(\r\n (x: any) => x.IsMultiple === \"Y\"\r\n );\r\n const remultiAnswerList = multiAnswerList.map((i: any, index: number) =>\r\n i.QuestionOptions.map((item: any) =>\r\n Object.assign({}, item, { checked: false })\r\n )\r\n );\r\n setLists([...remultiAnswerList]);\r\n }\r\n };\r\n\r\n const handleSelection = (e: any) => {\r\n const single = [...singleAns];\r\n let isPresent = singleAns.some(function (o: any) {\r\n return o[\"QuestionID\"] === e.QuestionID;\r\n });\r\n if (!isPresent) {\r\n single.push(e);\r\n } else {\r\n const objIndex = singleAns.findIndex(\r\n (obj: any) => obj.QuestionID == e.QuestionID\r\n );\r\n single[objIndex] = e;\r\n }\r\n setSingleAns(single);\r\n };\r\n\r\n const handleSubmit = () => {\r\n const updatelist: any = [];\r\n const saveQuestion: any = [];\r\n\r\n const filterSingleAnswer = singleAns.filter((j: any) => j.QuestionID != 0);\r\n\r\n const filterMultiAnser = lists.map((item: any) =>\r\n updatelist.push(item.filter((x: any) => x.checked === true))\r\n );\r\n const mergedmultiAnswerObj = [].concat.apply([], updatelist);\r\n\r\n if (filterSingleAnswer.length != 0) {\r\n filterSingleAnswer.map((item: any) =>\r\n saveQuestion.push({\r\n clientId: GlobalStore.applicationID,\r\n createdBy: 0,\r\n optionId: item.OptionId,\r\n questionId: item.QuestionID,\r\n versions: 0,\r\n sourceId: config.clientQuesttionSourceId,\r\n })\r\n );\r\n }\r\n\r\n if (mergedmultiAnswerObj.length !== 0) {\r\n mergedmultiAnswerObj.map((item: any) =>\r\n saveQuestion.push({\r\n // prev request types\r\n\r\n // client_ID: GlobalStore.applicationID,\r\n // createdby: 0,\r\n // option_ID: item.OptionId,\r\n // question_ID: item.QuestionID,\r\n // versions: 0,\r\n clientId: GlobalStore.applicationID,\r\n createdBy: 0,\r\n optionId: item.OptionId,\r\n questionId: item.QuestionID,\r\n versions: 0,\r\n sourceId: config.clientQuesttionSourceId,\r\n })\r\n );\r\n }\r\n\r\n ASaveClientProfilingQuestion(\r\n getSaveResonse,\r\n GlobalStore.applicationID,\r\n config.clientQuesttionSourceId,\r\n saveQuestion\r\n );\r\n setIsLoading(true);\r\n };\r\n\r\n const getSaveResonse = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"111 - Failed to fetch client profiling question details\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n completeModuleStatus(dashboardUrl.profiler);\r\n gtmService({ action: \"INVESTMENT_SETUP\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event: submit investment data\r\n const data = {\r\n EventName: cleverTapEvents.registration.investmentPage.CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on investmentPage details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.investmentPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n }\r\n };\r\n\r\n const handleChange = (list: any, index: number) => {\r\n const newList = [...lists];\r\n newList[index] = list;\r\n setLists(newList);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {questionLists &&\r\n questionLists.map((list: any, index: number) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {list.IsMultiple === \"N\" ? (\r\n \r\n handleSelection(val)}\r\n />\r\n
\r\n ) : (\r\n
\r\n {lists &&\r\n lists.map((multiOption: any, index: number) => {\r\n if (\r\n multiOption[index].QuestionID === list.QuestionId\r\n ) {\r\n return (\r\n
\r\n handleChange(list, index)}\r\n />\r\n
\r\n );\r\n }\r\n })}\r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Profiler;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\n\r\n\r\nexport const ASaveAddressDetails = (\r\n callback: CallableFunction,\r\n saveAddressPayload: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveAddressDetails\",\r\n method: \"POST\",\r\n body: saveAddressPayload,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const AVerifyDocumentData = (\r\n callback: CallableFunction,\r\n verifyDocumentPayload: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/VerifyDocumentData\",\r\n method: \"POST\",\r\n body: verifyDocumentPayload,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const GetAddressDetails = (\r\n callback: CallableFunction,\r\n applicationId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAddressDetails\",\r\n method: \"POST\",\r\n body:{\r\n applicationId: applicationId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const ASaveDocumentDetails = (\r\n callback: CallableFunction,\r\n applicationId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAddressDetails\",\r\n method: \"POST\",\r\n body:{\r\n applicationId: applicationId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nfunction sortDocumentInfo(documents: any) {\r\n let sortedDocuments: Array = [];\r\n for (let doc of documents) {\r\n let docObj: any = {};\r\n docObj.FileName = doc.fileName;\r\n docObj.DocumentId = doc.documentId;\r\n docObj.MimeType = doc.mimeType;\r\n docObj.PanNo = doc.panno;\r\n docObj.PersonalDetailsId = doc.personaldetailsid;\r\n docObj.DocumentCategoryId = doc.documentCategoryId;\r\n docObj.DocumentExpiryDate = doc.documentexpirydate;\r\n docObj.IsFileappFlag = doc.isWatsappFlag;\r\n docObj.DocumenCropped = doc.isfilecropped;\r\n docObj.AutoQc = doc.autoqc;\r\n docObj.IsQRVerified = doc.IsQRVerified;\r\n docObj.DocumentIssueDate = doc.DocumentIssueDate;\r\n docObj.DocumentName = doc.DocumentName;\r\n docObj.IsDocumentVerified = doc.IsDocumentVerified;\r\n docObj.documentNumber = doc.documentNumber;\r\n sortedDocuments.push(docObj);\r\n }\r\n return sortedDocuments;\r\n}\r\nexport const ASavePersonalDocument = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveUploadedDocumentDetails\",\r\n body: {\r\n ClientPrimaryDetailId: saveObj.clientPrimaryDetailId,\r\n ApplicationId: saveObj.applicationId,\r\n LeadId: saveObj.leadId,\r\n DocumentInfo: saveObj.documentInfo\r\n ? sortDocumentInfo(saveObj.documentInfo)\r\n : [],\r\n UtmInfoDetails: saveObj.objUTM_Info,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveUploadedDocumentDetails,\r\n },\r\n callback\r\n );\r\n \r\n};","import React, { useState } from \"react\";\r\nimport \"./PersonalInfo.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport Button, {\r\n DashedButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport SubmitButton from \"../../UI/Button/Button\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport micr from \"../../../assets/icons/micr.jpg\";\r\nimport { AGetKycDetails } from \"../../Services/dashboard/profileApiService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport moment from \"moment\";\r\n\r\nimport {\r\n aadhaarDocumnetId,\r\n addressType,\r\n corrAadhaarDocumnetId,\r\n corrDlDocumentId,\r\n corrPassportDocumnetId,\r\n corrVoterIdDocumentId,\r\n dashboardUrl,\r\n DIY,\r\n dlDocumentId,\r\n panDocumentId,\r\n passportDocumnetId,\r\n voterIdDocumentId,\r\n} from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport AddressField, {\r\n IAddressFormat,\r\n addressErrorObj,\r\n CkycAddressFormat,\r\n} from \"../../Profile/AddressField/AddressField\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport {\r\n AextractAadhaar,\r\n AextractDl,\r\n AextractPassport,\r\n AextractVoterid,\r\n AgetPdf,\r\n AGetUploadedDocument,\r\n AmaskAadhaar,\r\n ADownloadDocument,\r\n ASaveDocumentDetails,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { uploadDocObj } from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport {\r\n ASaveAddressDetails,\r\n AVerifyDocumentData,\r\n GetAddressDetails,\r\n ASavePersonalDocument,\r\n} from \"../../Services/registration/manualFlowService\";\r\nimport { repairAddressWithConditions } from \"../../utils/validation\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport AddressInfoField, {\r\n addressInfoErrorObj,\r\n IAddressInfoFormat,\r\n} from \"./AddressInfoField\";\r\n\r\nconst identificationListPerm = [\r\n {\r\n display: \"Aadhaar Card\",\r\n value: 117,\r\n },\r\n {\r\n display: \"Driving License\",\r\n value: 118,\r\n },\r\n {\r\n display: \"Voter ID\",\r\n value: 116,\r\n },\r\n {\r\n display: \"Passport\",\r\n value: 114,\r\n },\r\n];\r\nconst identificationListCorr = [\r\n {\r\n display: \"Aadhaar Card\",\r\n value: 10,\r\n },\r\n {\r\n display: \"Driving License\",\r\n value: 13,\r\n },\r\n {\r\n display: \"Voter ID\",\r\n value: 12,\r\n },\r\n {\r\n display: \"Passport\",\r\n value: 11,\r\n },\r\n];\r\n\r\nexport const initialAddressObj: any = {\r\n addressLine1: \"\",\r\n City: \"\",\r\n Country: \"\",\r\n District: \"\",\r\n PinCode: \"\",\r\n State: \"\",\r\n Area: \"\",\r\n CountryCode: 0,\r\n StateCode: 0,\r\n clientName: \"\",\r\n};\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\nexport const initialPanDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n iscropped: false,\r\n isWatsappFlag: false,\r\n};\r\nlet localAadharNo: any;\r\nconst PersoanlInfo = (props: any) => {\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [permAddListError, setPermAddListError] = useState(\"\");\r\n const [permSecAddListError, setPermSecAddListError] = useState(\"\");\r\n const [corrAddListError, setCorrAddListError] = useState(\"\");\r\n const [corrSecAddListError, setCorrSecAddListError] = useState(\"\");\r\n const [anotherFile, setAnotherFile] = React.useState(false);\r\n const [secondDoc, setSecondDoc] = useState(false);\r\n const [corrSecondDoc, setCorrSecondDoc] = useState(false);\r\n const [corrAnotherFile, setCorrAnotherFile] = React.useState(false);\r\n\r\n const [permAddList, setPermAddList] = useState([]);\r\n const [defaultAddress, setDefaultAddress] = useState(\"\");\r\n const [defaultCorrAddress, setDefaultCorrAddress] = useState(\"\");\r\n\r\n const [permAddressObj, setPermAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [permSecondAddressObj, setPermSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [corrAddressObj, setCorrAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [corrSecondAddressObj, setCorrSecondAddressObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [permanentAddress, setPermanentAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [correspondanceAddress, setCorrespondanceAddress] = React.useState(\r\n { ...initialAddressObj }\r\n );\r\n const [permErrorObj, setPermErrorObj] = React.useState<{\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }>({\r\n ...addressInfoErrorObj,\r\n });\r\n const [corrErrorObj, setCorrErrorObj] = React.useState<{\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }>({\r\n ...addressInfoErrorObj,\r\n });\r\n const [isNewPermAddress, setIsNewPermAddress] = useState(false);\r\n const [isNewCorrAddress, setIsNewCorrAddress] = useState(false);\r\n const [addressName, setAddressName] = React.useState(\"\");\r\n const [corrAddressName, setCorrAddressName] = React.useState(\"\");\r\n const [sameAsPermanent, setSameAsPermanent] = React.useState(true);\r\n const [errors, setErrors] = React.useState({\r\n permanentAddress: \"\",\r\n correspondanceAddress: \"\",\r\n });\r\n const [drivingFlag, setDrivingFlag] = React.useState(false);\r\n const [corrsDrivingFlag, SetCorrsDrivingFlag] =\r\n React.useState(false);\r\n const [qrVerifiedAadhar, setQrVerifiedAadhar] =\r\n React.useState(false);\r\n const [qrVerifiedCorrsAadhar, setQrVerifiedCorrsAadhar] =\r\n React.useState(false);\r\n // const [aadharNo, setAadharNo] = React.useState(\"\");\r\n const history = useHistory();\r\n React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n // localAadharNo = JSON.parse(\r\n // window.localStorage.getItem(\"aadharNumber\") || \"\"\r\n // );\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GetAddressDetails(getKycDetails, GlobalStore.applicationID);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n }, []);\r\n\r\n function getKycDetails(res: any) {\r\n try {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (responseObj.AddressDetails) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n responseObj.ClientPrimaryDetailID;\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.AddressDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.corrsaddraspermanent\r\n ? responseObj.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.AddressDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n if (responseObj?.DocumentNumber?.length === 4) {\r\n clientPartialDetails_ao.aadharNo = responseObj.DocumentNumber\r\n ? responseObj.DocumentNumber.slice(-4)\r\n : \"\";\r\n GlobalStore.personaldetails.aadharNo =\r\n window.localStorage.setItem(\r\n \"aadharNumber\",\r\n GlobalStore.personaldetails.aadharNo\r\n );\r\n localAadharNo = responseObj.DocumentNumber.slice(-4);\r\n window.localStorage.setItem(\"aadharNumber\", localAadharNo);\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n let permResultObj =\r\n responseObj.AddressDetails.objPermanentAddressDetails;\r\n if (permResultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n (permResultObj.permanentaddressline1 || \"\") +\r\n (permResultObj.permanentaddressline2 || \"\") +\r\n (permResultObj.permanentaddressline3 || \"\") +\r\n (permResultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = permResultObj.permanentarea;\r\n permAddObj.City = permResultObj.permanentcity;\r\n permAddObj.PinCode = permResultObj.permanentpincode;\r\n permAddObj.District = permResultObj.permanentdistrict;\r\n permAddObj.State = permResultObj.permanentstate;\r\n permAddObj.StateCode = permResultObj.permanentstatecode;\r\n permAddObj.Country = permResultObj.permanentcountry;\r\n permAddObj.CountryCode = permResultObj.permanentcountrycode;\r\n permAddObj.clientName = permResultObj.documentname;\r\n permAddObj.documentNumber = permResultObj.documentnumber;\r\n permAddObj.dateOfIssue = permResultObj?.documentissuedate\r\n ? permResultObj?.documentissuedate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n permAddObj.dateOfExpiry = permResultObj?.documentexpirydate\r\n ? permResultObj?.documentexpirydate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n if (\r\n permResultObj?.documentnumber?.length === 4 ||\r\n permResultObj?.documentnumber?.includes(\"XXXX\")\r\n ) {\r\n permAddObj.documentNumber =\r\n permResultObj?.documentnumber?.length === 4\r\n ? `XXXX XXXX ${permResultObj.documentnumber}`\r\n : permResultObj?.documentnumber;\r\n delete permAddObj.dateOfExpiry;\r\n delete permAddObj.dateOfIssue;\r\n }\r\n if (permResultObj?.documentnumber?.length === 10) {\r\n delete permAddObj.dateOfExpiry;\r\n }\r\n\r\n setPermanentAddress(permAddObj);\r\n // for AO-1395 KYC/KRA address proof reject\r\n }\r\n let corrsResultObj =\r\n responseObj.AddressDetails.objCorrespondenceAddressDetails;\r\n if (corrsResultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n corrsResultObj.correspondenceaddressline1 +\r\n corrsResultObj.correspondenceaddressline2 +\r\n (corrsResultObj.correspondenceaddressline3 || \"\") +\r\n (corrsResultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = corrsResultObj.correspondancearea;\r\n corrAddObj.City = corrsResultObj.correspondancecity;\r\n corrAddObj.PinCode = corrsResultObj.correspondancepincode;\r\n corrAddObj.District = corrsResultObj.correspondancedistrict;\r\n corrAddObj.State = corrsResultObj.correspondancestate;\r\n corrAddObj.StateCode = corrsResultObj.correspondancestatecode;\r\n corrAddObj.Country = corrsResultObj.correspondancecountry;\r\n corrAddObj.CountryCode = corrsResultObj.correspondancecountrycode;\r\n corrAddObj.clientName = corrsResultObj.documentname;\r\n corrAddObj.documentNumber = corrsResultObj.documentnumber;\r\n corrAddObj.dateOfIssue = corrsResultObj?.documentissuedate\r\n ? corrsResultObj?.documentissuedate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n corrAddObj.dateOfExpiry = corrsResultObj?.documentexpirydate\r\n ? corrsResultObj?.documentexpirydate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n if (\r\n corrsResultObj?.documentnumber?.length === 4 ||\r\n corrsResultObj?.documentnumber?.includes(\"XXXX\")\r\n ) {\r\n corrAddObj.documentNumber =\r\n corrsResultObj?.documentnumber?.length === 4\r\n ? `XXXX XXXX ${corrsResultObj.documentnumber}`\r\n : corrsResultObj?.documentnumber;\r\n delete corrAddObj.dateOfIssue;\r\n delete corrAddObj.dateOfExpiry;\r\n }\r\n if (corrsResultObj?.documentnumber?.length === 10) {\r\n delete corrAddObj.dateOfExpiry;\r\n }\r\n setCorrespondanceAddress(corrAddObj);\r\n }\r\n setSameAsPermanent(\r\n responseObj.corrsaddraspermanent === false ? false : true\r\n );\r\n }\r\n setSameAsPermanent(\r\n responseObj.Corrsaddraspermanent === false ? false : true\r\n );\r\n }\r\n\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n console.log(\"error in catch\", error);\r\n }\r\n }\r\n const getUploadedDoc = async (res: any) => {\r\n console.log(\"getUploadedDoc || ==\", res);\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data) {\r\n const uplDoc = JSON.parse(res.data);\r\n console.log(\"getUploadedDoc\", uplDoc);\r\n\r\n const isCorrAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const isPermAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n if (isCorrAddressProof.length > 0) {\r\n setIsLoading(true);\r\n if (isCorrAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultCorrAddress(\"Aadhaar Card\");\r\n setQrVerifiedCorrsAadhar(true);\r\n } else if (isCorrAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultCorrAddress(\"Passport\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultCorrAddress(\"Voter ID\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n\r\n corrAddressObj.id = \"corrAddress\";\r\n corrAddressObj.disable = false;\r\n corrAddressObj.uploadPer = 100;\r\n corrAddressObj.fileName = `${GlobalStore.applicationID}_Corrospondance Address`;\r\n corrAddressObj.showFile = false;\r\n corrAddressObj.hideProgress = false;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n corrAddressObj.documentcategory =\r\n isCorrAddressProof[0].DocumentCategory;\r\n corrAddressObj.documentId = isCorrAddressProof[0].DocumentId;\r\n corrAddressObj.mimeType = isCorrAddressProof[0].MimeType;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressObj);\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n // setDefaultPermAddressProof(true);\r\n if (isPermAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultAddress(\"Aadhaar Card\");\r\n setQrVerifiedAadhar(true);\r\n } else if (isPermAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultAddress(\"Passport\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultAddress(\"Voter ID\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n\r\n permAddressObj.id = \"permAddress\";\r\n permAddressObj.disable = false;\r\n permAddressObj.uploadPer = 100;\r\n permAddressObj.fileName = `${GlobalStore.applicationID}_Permanent Address`;\r\n permAddressObj.showFile = false;\r\n permAddressObj.hideProgress = false;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n permAddressObj.documentcategory =\r\n isPermAddressProof[0].DocumentCategory;\r\n permAddressObj.documentId = isPermAddressProof[0].DocumentId;\r\n permAddressObj.mimeType = isPermAddressProof[0].MimeType;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressObj);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n } else {\r\n setPermAddressObj(permAddressObj);\r\n setCorrAddressObj(corrAddressObj);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124-S\" });\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const getAddressImage = async (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, permAddressObj);\r\n permAddressObj.imgUrl = base64;\r\n setPermAddressObj(permAddressObj);\r\n console.log(\"-perm-BASE64\");\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n\r\n const getCorrAddressImage = async (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, corrAddressObj);\r\n corrAddressObj.imgUrl = base64;\r\n // corrAddressObj.base64 = base64;\r\n setCorrAddressObj(corrAddressObj);\r\n console.log(\"-corr-BASE64\");\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handlePermanentAddress = (val: any) => {\r\n if (val && val.value) {\r\n permAddressObj.disable = false;\r\n permAddressObj.documentId = val.value;\r\n setPermAddressObj(permAddressObj);\r\n setDefaultAddress(val.display);\r\n setDrivingFlag(false);\r\n setQrVerifiedAadhar(false);\r\n // setAadharNo(\"\");\r\n switch (val.display) {\r\n case \"Aadhaar Card\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n });\r\n break;\r\n case \"Driving License\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n case \"Voter ID\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n });\r\n break;\r\n case \"Passport\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n default:\r\n setPermanentAddress({ ...initialAddressObj });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n const handleAddressBlur = (value: any, identificationDetailType: string) => {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, [identificationDetailType]: \"\" });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n [identificationDetailType]: \"Please select from dropdown'\",\r\n });\r\n }\r\n };\r\n const handleCorrespondenceAddress = (val: any) => {\r\n if (val && val.value) {\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.value;\r\n setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.display);\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(false);\r\n // setAadharNo(\"\");\r\n switch (val.display) {\r\n case \"Aadhaar Card\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n });\r\n break;\r\n case \"Driving License\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n case \"Voter ID\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n });\r\n break;\r\n case \"Passport\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n default:\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n\r\n function onFirstPermAddressRemove(val: any) {\r\n setPermAddressObj({\r\n ...initialDocObj,\r\n disable: false,\r\n documentId: permAddressObj.documentId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onSecondPermAddressRemove(val: any) {\r\n setPermSecondAddressObj({ ...initialPanDocObj });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onFirstPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permAddressObj.imgUrl = \"\";\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n setPermAddressObj(permAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n function onSecondPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setSecondDoc(true);\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n }\r\n }\r\n\r\n function onFirstCorrAddressRemove(val: any) {\r\n setCorrAddressObj({\r\n ...initialDocObj,\r\n disable: false,\r\n documentId: corrAddressObj.documentId,\r\n });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onSecondCorrAddressRemove(val: any) {\r\n setCorrSecondAddressObj({ ...initialPanDocObj });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onFirstCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n setCorrAddressObj(corrAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && corrAddressObj.documentId !== 133) {\r\n setCorrSecondDoc(true);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrSecondAddressObj.imgUrl = \"\";\r\n corrSecondAddressObj.fileName = fileName;\r\n corrSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.documentId !== 133\r\n ) {\r\n setCorrSecondDoc(true);\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: corrSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n }\r\n\r\n const addDocument = () => {\r\n if (secondDoc) {\r\n setAnotherFile(true);\r\n } else {\r\n setAnotherFile(false);\r\n }\r\n };\r\n const addCorrDocument = () => {\r\n if (corrSecondDoc) {\r\n setCorrAnotherFile(true);\r\n } else {\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n const maskedAadhar = (\r\n res: any,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR138\" });\r\n if (res.data.error) {\r\n setErrCode(\"Aadhar Masking failed: \" + res.data.error);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n } else if (res.data) {\r\n if (res.data.error) {\r\n setErrCode(\"Aadhar Masking failed: \" + res.data.error);\r\n setIsLoading(false);\r\n } else {\r\n let uploadObj: uploadDocObj;\r\n if (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permAddressObj.base64 = res.data.result.base64_image;\r\n permAddressObj.mimeType = \"image/jpeg\";\r\n permAddressObj.fileName =\r\n permAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermAddressObj(permAddressObj);\r\n }\r\n\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n };\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permSecondAddressObj.base64 = res.data.result.base64_image;\r\n permSecondAddressObj.mimeType = \"image/jpeg\";\r\n permSecondAddressObj.fileName =\r\n permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n };\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n corrAddressObj.base64 = res.data.result.base64_image;\r\n corrAddressObj.mimeType = \"image/jpeg\";\r\n corrAddressObj.fileName =\r\n corrAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrAddressObj(corrAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n };\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n corrSecondAddressObj.base64 = res.data.result.base64_image;\r\n corrSecondAddressObj.mimeType = \"image/jpeg\";\r\n corrSecondAddressObj.fileName =\r\n corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n };\r\n }\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, uploadObj.base64document, uploadObj.filename),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR138-S\",\r\n // });\r\n }\r\n };\r\n function handErrorForFileUpload(id: string, res: any) {\r\n if (id === \"permAddress\") {\r\n setPermAddListError(res.error);\r\n }\r\n if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(res.error);\r\n }\r\n if (id === \"corrAddress\") {\r\n setCorrAddListError(res.error);\r\n }\r\n\r\n if (id === \"corrSecondAddress\") {\r\n setCorrSecAddListError(res.error);\r\n }\r\n }\r\n const getUploadRes = (res: any, id: string, val: any, fileName: string) => {\r\n if (!res || res.error) {\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n setIsLoading(false);\r\n handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setErrCode(\"\");\r\n if (id === \"permAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const extractPermOCRObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(res.data.Guid, \"check 1\");\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(\"\");\r\n setIsLoading(true);\r\n setIsNewPermAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: permAddressObj.base64,\r\n image2: permSecondAddressObj.base64,\r\n imagename1: permAddressObj.fileName,\r\n imagename2: permSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getPDFData, uploadImageObj);\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n setCorrAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n const extractCorrsOCRObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else setIsLoading(false);\r\n } else if (\r\n id === \"corrAddress\" &&\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.base64 !== undefined\r\n ) {\r\n setIsLoading(true);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(true);\r\n setCorrSecAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n }\r\n } else {\r\n setErrCode(\"1365- Error in uploading the file.\");\r\n // gtmService({\r\n // action: \"UploadDocumentToS3\",\r\n // label: \"ERROR || ERR140-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const storeOcrData = (res: any, id: any) => {\r\n if (!res || res.error) {\r\n if (res?.data?.error) {\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\r\n setErrCode(res.error);\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134\" });\r\n }\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setErrCode(\"\");\r\n\r\n setIsLoading(false);\r\n if (id.documentid === aadhaarDocumnetId) {\r\n GlobalStore.aadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.aadhaarOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber:\r\n permExtractionData?.id_number?.length > 4\r\n ? `XXXX XXXX ${permExtractionData?.id_number?.slice(-4)}`\r\n : permExtractionData?.id_number\r\n ? `XXXX XXXX ${permExtractionData?.id_number}`\r\n : \"\",\r\n });\r\n // setAadharNo(permExtractionData?.id_number);\r\n if (res?.data?.result?.qr_detected) {\r\n setQrVerifiedAadhar(true);\r\n setErrCode(\"\");\r\n } else {\r\n setQrVerifiedAadhar(false);\r\n setErrCode(\"Please upload a valid Document\");\r\n }\r\n if (\r\n permExtractionData?.id_number === null ||\r\n permExtractionData?.id_number === \"\"\r\n ) {\r\n alert(\"please Upload front side of Adhaar as well\");\r\n }\r\n }\r\n } else if (id.documentid === passportDocumnetId) {\r\n GlobalStore.passportOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n\r\n if (!GlobalStore.passportOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber: permExtractionData?.id_number,\r\n // dateOfIssue: typeof permExtractionData?.date_of_issue == \"string\" ? permExtractionData?.date_of_issue : undefined,\r\n // dateOfExpiry: typeof permExtractionData?.date_of_expiry == \"string\" ? permExtractionData?.date_of_expiry : undefined,\r\n dateOfIssue: permExtractionData?.date_of_issue,\r\n dateOfExpiry: permExtractionData?.date_of_expiry,\r\n });\r\n console.log(\r\n typeof permExtractionData.date_of_issue == \"string\",\r\n \"||\",\r\n typeof permExtractionData.date_of_expiry,\r\n \"===?\",\r\n new Date() < permExtractionData?.date_of_expiry\r\n );\r\n if (\r\n permExtractionData.id_number === null ||\r\n permExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"please Upload other side of Passport as well\");\r\n }\r\n }\r\n } else if (id.documentid === voterIdDocumentId) {\r\n GlobalStore.voterIdOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n\r\n if (!GlobalStore.voterIdOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber: permExtractionData?.id_number,\r\n });\r\n\r\n if (\r\n permExtractionData.id_number === null ||\r\n permExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"Please upload the other side of the Voter ID as well.\");\r\n }\r\n }\r\n } else if (id.documentid === dlDocumentId) {\r\n GlobalStore.dlOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.dlOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n documentNumber: permExtractionData?.id_number,\r\n clientName: permExtractionData?.name_on_card,\r\n dateOfIssue:\r\n moment(permExtractionData?.issue_dates).format(\"DD/MM/YYYY\") ==\r\n \"Invalid date\"\r\n ? undefined\r\n : moment(permExtractionData?.issue_dates).format(\"DD/MM/YYYY\"),\r\n dateOfExpiry:\r\n moment(permExtractionData?.date_of_validity).format(\r\n \"DD/MM/YYYY\"\r\n ) == \"Invalid date\"\r\n ? undefined\r\n : moment(permExtractionData?.date_of_validity).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n });\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: GlobalStore.dob,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n IdNumber: permExtractionData?.id_number,\r\n };\r\n AVerifyDocumentData(\r\n (res: any) => verifyDocumentRes(res),\r\n verifyDrivingObj\r\n );\r\n }\r\n } else if (id.documentid === corrAadhaarDocumnetId) {\r\n GlobalStore.corrAadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrAadhaarOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber:\r\n corrsExtractionData?.id_number?.length > 4\r\n ? `XXXX XXXX ${corrsExtractionData?.id_number?.slice(-4)}`\r\n : corrsExtractionData?.id_number\r\n ? `XXXX XXXX ${corrsExtractionData?.id_number}`\r\n : \"\",\r\n });\r\n if (\r\n corrsExtractionData.id_number === null ||\r\n corrsExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"please Upload front side of Adhaar as well\");\r\n }\r\n // setAadharNo(corrsExtractionData?.id_number);\r\n if (res?.data?.result?.qr_detected) {\r\n setQrVerifiedCorrsAadhar(true);\r\n setErrCode(\"\");\r\n } else {\r\n setQrVerifiedCorrsAadhar(false);\r\n setErrCode(\"Please upload a valid Document\");\r\n }\r\n }\r\n } else if (id.documentid === corrPassportDocumnetId) {\r\n GlobalStore.corrPassportOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrPassportOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber: corrsExtractionData?.id_number,\r\n dateOfIssue: corrsExtractionData?.date_of_issue,\r\n dateOfExpiry: corrsExtractionData?.date_of_expiry,\r\n });\r\n }\r\n } else if (id.documentid === corrVoterIdDocumentId) {\r\n GlobalStore.corrVoterIdOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrVoterIdOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber: corrsExtractionData?.id_number,\r\n });\r\n }\r\n } else if (id.documentid === corrDlDocumentId) {\r\n GlobalStore.corrDlOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrDlOCRObj.address) {\r\n alert(\r\n \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n documentNumber: corrsExtractionData?.id_number,\r\n clientName: corrsExtractionData?.name_on_card,\r\n dateOfIssue:\r\n moment(corrsExtractionData?.issue_dates).format(\"DD/MM/YYYY\") ==\r\n \"Invalid date\"\r\n ? undefined\r\n : moment(corrsExtractionData?.issue_dates).format(\"DD/MM/YYYY\"),\r\n dateOfExpiry:\r\n moment(corrsExtractionData?.date_of_validity).format(\r\n \"DD/MM/YYYY\"\r\n ) == \"Invalid date\"\r\n ? undefined\r\n : moment(corrsExtractionData?.date_of_validity).format(\r\n \"DD/MM/YYYY\"\r\n ),\r\n });\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: GlobalStore.dob,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n IdNumber: corrsExtractionData?.id_number,\r\n };\r\n AVerifyDocumentData(\r\n (res: any) => corrsVerifyDocumentRes(res),\r\n verifyDrivingObj\r\n );\r\n }\r\n }\r\n } else {\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134-S\" });\r\n }\r\n };\r\n const corrsVerifyDocumentRes = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res?.data.verified) {\r\n setErrCode(\"\");\r\n SetCorrsDrivingFlag(true);\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n SetCorrsDrivingFlag(false);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const verifyDocumentRes = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res?.data.verified) {\r\n setErrCode(\"\");\r\n setDrivingFlag(true);\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n setDrivingFlag(false);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const getPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR136\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setAddressName(res.data.Guid);\r\n permAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR136-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const getCorrPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setCorrAddressName(res.data.Guid);\r\n corrAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR137-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let permAddressCopy = { ...permAddressObj };\r\n let permSecondAddressCopy = { ...permSecondAddressObj };\r\n let corrAddressCopy = { ...corrAddressObj };\r\n let corrSecondAddressCopy = { ...corrSecondAddressObj };\r\n console.log(fileName, \"fileName check 2\");\r\n if (percentage < 100) {\r\n if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.hideProgress = true;\r\n permAddressCopy.showFile = false;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.hideProgress = true;\r\n permSecondAddressCopy.showFile = false;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.hideProgress = true;\r\n corrAddressCopy.showFile = false;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.hideProgress = true;\r\n corrSecondAddressCopy.showFile = false;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.showFile = false;\r\n permAddressCopy.hideProgress = false;\r\n permAddressCopy.mimeType = type;\r\n permAddressCopy.fileName = fileName;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.showFile = false;\r\n permSecondAddressCopy.hideProgress = false;\r\n permSecondAddressCopy.mimeType = type;\r\n permSecondAddressCopy.fileName = fileName;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.showFile = false;\r\n corrAddressCopy.hideProgress = false;\r\n corrAddressCopy.mimeType = type;\r\n corrAddressCopy.fileName = fileName;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.showFile = false;\r\n corrSecondAddressCopy.hideProgress = false;\r\n corrSecondAddressCopy.mimeType = type;\r\n corrSecondAddressCopy.fileName = fileName;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n }\r\n }\r\n };\r\n function handleSameAsAbove(event: React.ChangeEvent) {\r\n if (event.target.name === \"sameAscorrespondance\") {\r\n sameAsPermanent && setCorrespondanceAddress({ ...initialAddressObj });\r\n !sameAsPermanent && setCorrespondanceAddress({ ...permanentAddress });\r\n if (!sameAsPermanent) {\r\n setCorrErrorObj({});\r\n }\r\n setSameAsPermanent(!sameAsPermanent);\r\n setCorrAddressObj({ ...initialDocObj });\r\n setCorrSecondAddressObj({ ...initialPanDocObj });\r\n setErrors({ ...errors, correspondanceAddress: \"\" });\r\n setDefaultCorrAddress(\"\");\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(false);\r\n }\r\n }\r\n const removeSpclCracters = (value: string) => {\r\n if (value) {\r\n return value;//.replace(/[^a-zA-Z0-9 ]/g, \" \");\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n const handleSubmit = async () => {\r\n setIsLoading(true);\r\n saveAddressDetails();\r\n };\r\n const saveAddressDetails = () => {\r\n const correspondanceAddressLine = repairAddressWithConditions(\r\n correspondanceAddress.addressLine1,\r\n correspondanceAddress.City\r\n );\r\n const permanentAddressLine = repairAddressWithConditions(\r\n permanentAddress.addressLine1,\r\n permanentAddress.City\r\n );\r\n let saveAddressPayload = {\r\n ApplicationId: GlobalStore.applicationID,\r\n corrsaddraspermanent: sameAsPermanent,\r\n CorrespondenceAddressDetails: {\r\n CorrespondenceAddressLine1:\r\n removeSpclCracters(correspondanceAddressLine.addLine1) || \"\",\r\n CorrespondenceAddressLine2:\r\n removeSpclCracters(correspondanceAddressLine.addLine2) || \"\",\r\n CorrespondenceAddressLine3:\r\n removeSpclCracters(correspondanceAddressLine.addLine3) || \"\",\r\n CorrespondenceAddressLine4:\r\n removeSpclCracters(correspondanceAddressLine.addLine4) || \"\",\r\n CorrespondencePincode: correspondanceAddress.PinCode,\r\n CorrespondenceCountry: correspondanceAddress.Country,\r\n CorrespondenceState: correspondanceAddress.State,\r\n CorrespondenceCity: correspondanceAddress.City,\r\n CorrespondenceDistrict: correspondanceAddress.District,\r\n CorrespondenceArea: correspondanceAddress.Area,\r\n CorrespondenceStatecode: Number(correspondanceAddress.StateCode),\r\n CorrespondenceCountryCode: Number(correspondanceAddress.CountryCode),\r\n CorrespondenceAddressType: addressType,\r\n autoQC: true,\r\n // documentIssueDate: correspondanceAddress?.dateOfIssue\r\n // ? correspondanceAddress?.dateOfIssue?.split(\"/\").reverse()?.join(\"-\")\r\n // : null,\r\n documentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? moment(correspondanceAddress?.dateOfIssue).format(\"YYYY-MM-DD\")\r\n : null,\r\n // documentExpiryDate: correspondanceAddress?.dateOfExpiry\r\n // ? correspondanceAddress?.dateOfExpiry?.split(\"/\").reverse()?.join(\"-\")\r\n // : null,\r\n documentExpiryDate: correspondanceAddress?.dateOfExpiry\r\n ? moment(correspondanceAddress?.dateOfExpiry).format(\"YYYY-MM-DD\")\r\n : null,\r\n documentName: correspondanceAddress.clientName\r\n ? correspondanceAddress.clientName\r\n : \"\",\r\n documentNumber:\r\n defaultCorrAddress === \"Aadhaar Card\"\r\n ? correspondanceAddress.documentNumber.slice(-4)\r\n : correspondanceAddress.documentNumber,\r\n DocumentId: corrAddressObj.documentId\r\n ? Number(corrAddressObj.documentId)\r\n : sameAsPermanent\r\n ? Number(permAddressObj.documentId)\r\n : \"\",\r\n },\r\n PermanentAddressDetails: {\r\n PermanentAddressLine1:\r\n removeSpclCracters(permanentAddressLine.addLine1) || \"\",\r\n PermanentAddressLine2:\r\n removeSpclCracters(permanentAddressLine.addLine2) || \"\",\r\n PermanentAddressLine3:\r\n removeSpclCracters(permanentAddressLine.addLine3) || \"\",\r\n PermanentAddressLine4:\r\n removeSpclCracters(permanentAddressLine.addLine4) || \"\",\r\n PermanentPincode: permanentAddress.PinCode,\r\n PermanentCountry: permanentAddress.Country,\r\n PermanentState: permanentAddress.State,\r\n PermanentCity: permanentAddress.City,\r\n PermanentDistrict: permanentAddress.District,\r\n Permanentarea: permanentAddress.Area,\r\n Permanentstatecode: Number(permanentAddress.StateCode),\r\n Permanentcountrycode: Number(permanentAddress.CountryCode),\r\n PermanentAddresstype: addressType,\r\n autoQC: true,\r\n documentIssueDate: permanentAddress?.dateOfIssue\r\n ? permanentAddress?.dateOfIssue?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n documentExpiryDate: permanentAddress?.dateOfExpiry\r\n ? permanentAddress?.dateOfExpiry?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n documentName: permanentAddress.clientName\r\n ? permanentAddress.clientName\r\n : \"\",\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? permanentAddress.documentNumber.slice(-4)\r\n : permanentAddress.documentNumber,\r\n DocumentId: permAddressObj.documentId\r\n ? Number(permAddressObj.documentId)\r\n : \"\",\r\n },\r\n };\r\n ASaveAddressDetails((res: any) => saveAddressRes(res), saveAddressPayload);\r\n };\r\n const saveDocument = () => {\r\n setIsLoading(true);\r\n const saveDetails = [];\r\n console.log(\r\n \"PO=\",\r\n permAddressObj,\r\n \"==||==\",\r\n permanentAddress,\r\n \" || CO=\",\r\n corrAddressObj,\r\n \"==||==\",\r\n correspondanceAddress\r\n );\r\n if (\r\n (permAddressObj.uploadPer === 100 && isNewPermAddress) ||\r\n permAddressObj.isWatsappFlag\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: addressName || permAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: permAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n DocumentIssueDate: permanentAddress?.dateOfIssue\r\n ? permanentAddress?.dateOfIssue?.split(\"/\")?.reverse()?.join(\"-\")\r\n : null,\r\n DocumentName: permanentAddress?.clientName,\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? permanentAddress.documentNumber.slice(-4)\r\n : permanentAddress.documentNumber,\r\n IsDocumentVerified: drivingFlag ? drivingFlag : false,\r\n IsQRVerified: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n (corrAddressObj.uploadPer === 100 && isNewCorrAddress) ||\r\n corrAddressObj.isWatsappFlag\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressName || corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: corrAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue?.split(\"/\")?.reverse()?.join(\"-\")\r\n : null,\r\n DocumentName: correspondanceAddress?.clientName,\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? correspondanceAddress.documentNumber.slice(-4)\r\n : correspondanceAddress.documentNumber,\r\n IsDocumentVerified: corrsDrivingFlag ? corrsDrivingFlag : false,\r\n IsQRVerified: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASavePersonalDocument(getSaveStatus, saveObj);\r\n };\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage\r\n .CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE || \"\",\r\n UTM_MEDIUM: props.UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: \"\",\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADDRESS_PROOF_SUBMITTED_VIA: \"upload_now\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.documentVerificationPage.CLICK_ON_SUBMIT\r\n );\r\n // AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n } else {\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const saveAddressRes = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res?.data && res?.data?.result) {\r\n saveDocument();\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n // gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n history.push(incompleteStageNavigation());\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.personaldetails.pincode = permanentAddress.PinCode;\r\n GlobalStore.isManual = true;\r\n clientPartialDetails_ao.PinCode = permanentAddress.PinCode;\r\n clientPartialDetails_ao.isManual = true;\r\n clientPartialDetails_ao.sameAsPermanent = sameAsPermanent;\r\n clientPartialDetails_ao.addressLine1 = permanentAddress.addressLine1;\r\n if (!sameAsPermanent) {\r\n clientPartialDetails_ao.corrAddress =\r\n correspondanceAddress.addressLine1;\r\n clientPartialDetails_ao.corrPincode = correspondanceAddress.PinCode;\r\n }\r\n localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n } else {\r\n setErrCode(res?.data?.message);\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n console.log(permanentAddress, \" works permanentAddress test\");\r\n console.log(correspondanceAddress, \"correspondanceAddress test\");\r\n console.log(addressName, \"addressName nil\");\r\n console.log(permAddressObj, \"permAddressObj nil\");\r\n\r\n return (\r\n
\r\n
Personal Documents
\r\n
\r\n Provide your personal details and address to recieve important letters\r\n and emails.\r\n
\r\n
\r\n
\r\n {/* Permanent Address Proof */}\r\n \r\n item.display === defaultAddress\r\n )?.display\r\n }\r\n onOptionSelect={(val) => handlePermanentAddress(val)}\r\n searchLength={0}\r\n options={identificationListPerm}\r\n onBlur={(val) => handleAddressBlur(val, \"permanentAddress\")}\r\n errorText={errors.permanentAddress}\r\n searchKey=\"display\"\r\n placeholder=\"Select Personal Address Proof\"\r\n isDownArrow={true}\r\n />\r\n \r\n {defaultAddress && (\r\n
\r\n
\r\n \r\n {permAddListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {anotherFile && (\r\n
\r\n
\r\n \r\n {permSecAddListError != \"\" ? (\r\n
\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n addDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n <>\r\n {(permanentAddress.addressLine1 ||\r\n permanentAddress.PinCode ||\r\n permanentAddress.City ||\r\n permanentAddress.State) && (\r\n <>\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n }}\r\n onAddressInfoBlur={setPermErrorObj}\r\n qrVerified={\r\n qrVerifiedAadhar || defaultAddress === \"Aadhaar Card\"\r\n }\r\n />\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n }}\r\n onAddressBlur={setPermErrorObj}\r\n handleSameAsAbove={() => {}}\r\n />\r\n \r\n )}\r\n {!sameAsPermanent && (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n item.display === defaultCorrAddress\r\n )?.display\r\n }\r\n onOptionSelect={(val) => handleCorrespondenceAddress(val)}\r\n searchLength={0}\r\n options={identificationListCorr}\r\n onBlur={(val) =>\r\n handleAddressBlur(val, \"correspondanceAddress\")\r\n }\r\n errorText={errors.correspondanceAddress}\r\n searchKey=\"display\"\r\n placeholder=\"Select Personal Address Proof\"\r\n isDownArrow={true}\r\n />\r\n\r\n
\r\n \r\n {defaultCorrAddress && (\r\n <>\r\n
\r\n \r\n {corrAddListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {corrAnotherFile && (\r\n
\r\n
\r\n \r\n {corrAddListError != \"\" ? (\r\n
\r\n {\" \"}\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n addCorrDocument()}\r\n >\r\n Add\r\n Document\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n {(sameAsPermanent ||\r\n correspondanceAddress.addressLine1 ||\r\n correspondanceAddress.PinCode ||\r\n correspondanceAddress.City ||\r\n correspondanceAddress.State) && (\r\n <>\r\n \r\n \r\n
\r\n {}}\r\n />\r\n \r\n
\r\n \r\n )}\r\n \r\n\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* {aadharNo && localAadharNo && localAadharNo != aadharNo && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n )} */}\r\n
\r\n !value) ||\r\n Object.values(correspondanceAddress).some(\r\n (value) => !value\r\n ) ||\r\n Object.values(permErrorObj).some((error) => error) ||\r\n Object.values(corrErrorObj).some((error) => error) ||\r\n Object.values(errors).some((error) => error) ||\r\n (defaultAddress === \"Driving License\" && !drivingFlag) ||\r\n (defaultCorrAddress === \"Driving License\" &&\r\n !corrsDrivingFlag) ||\r\n (defaultAddress === \"Aadhaar Card\" && !qrVerifiedAadhar) ||\r\n (defaultCorrAddress === \"Aadhaar Card\" &&\r\n !qrVerifiedCorrsAadhar)\r\n // ((defaultAddress === \"Aadhaar Card\" ||\r\n // defaultCorrAddress === \"Aadhaar Card\") &&\r\n // aadharNo &&\r\n // localAadharNo &&\r\n // localAadharNo != aadharNo)\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PersoanlInfo;\r\n","import React, { useState } from \"react\";\r\nimport \"./PersonalInfo.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport moment from \"moment\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\n// import { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport { DocDetailFormat } from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { alphaNumExp } from \"../../utils/regex\";\r\nimport { format } from \"date-fns\";\r\nexport interface DocumentBrowseProps {\r\n defaultAddress: string;\r\n addressObj: IAddressInfoFormat;\r\n addressErrorObj: any;\r\n onAddressInfoChange: (addressObj: IAddressInfoFormat) => void;\r\n onAddressInfoBlur: (addressObj: {\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }) => void;\r\n qrVerified?: boolean;\r\n}\r\nexport interface IAddressInfoFormat {\r\n addressLine1: string;\r\n City: string;\r\n Country: string;\r\n District: string;\r\n PinCode: string;\r\n State: string;\r\n Area?: string;\r\n CountryCode?: number;\r\n StateCode?: number;\r\n clientName?: string;\r\n documentNumber?: string;\r\n dateOfIssue?: any;\r\n dateOfExpiry?: any;\r\n}\r\nexport const addressInfoErrorObj = {\r\n addressLine1: undefined,\r\n pincode: undefined,\r\n area: undefined,\r\n clientName: undefined,\r\n};\r\nlet time = \"00:00:00\";\r\nconst PermanentAddressField: React.FC = (props) => {\r\n const [defaultAddress, setDefaultAddress] = useState(\r\n props.defaultAddress\r\n );\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n\r\n const [errors, setErrors] = React.useState({\r\n ...props.addressErrorObj,\r\n });\r\n\r\n React.useEffect(() => {\r\n if (\r\n JSON.stringify(addressObj) !== JSON.stringify(props?.addressObj) ||\r\n JSON.stringify(errors) !== JSON.stringify(props?.addressErrorObj)\r\n ) {\r\n console.log(\"||=======\", props?.addressObj);\r\n let addObj = props?.addressObj;\r\n\r\n setAddressObj(addObj);\r\n setErrors(props.addressErrorObj);\r\n }\r\n setDefaultAddress(props.defaultAddress);\r\n }, [props.defaultAddress, props.addressObj]);\r\n\r\n function handleChangeAddress(key: keyof IAddressInfoFormat, value: any) {\r\n // props.onAddressInfoBlur({ ...errors, [key]: undefined });\r\n switch (key) {\r\n case \"clientName\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value.length > 0 ? value : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"documentNumber\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value.length > 0 ? value : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"dateOfIssue\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value ? moment(value).format(\"DD/MM/YYYY\") : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"dateOfExpiry\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value ? moment(value).format(\"DD/MM/YYYY\") : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n }\r\n }\r\n function handleBlurAddress(key: string, error: any) {\r\n switch (key) {\r\n case \"clientName\":\r\n setErrors({\r\n ...errors,\r\n clientName: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n break;\r\n case \"documentNumber\":\r\n setErrors({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Document No cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n break;\r\n }\r\n }\r\n function onBlurDoi(event: React.FocusEvent) {\r\n if (!addressObj.dateOfIssue) {\r\n setErrors({ ...errors, dateOfIssue: \"DOI as per Document\" });\r\n }\r\n }\r\n function onBlurDoe(event: React.FocusEvent) {\r\n if (!addressObj.dateOfExpiry) {\r\n setErrors({ ...errors, dateOfExpiry: \"DOE as per Document\" });\r\n }\r\n }\r\n const getMonthName = (monthDate: any) => {\r\n switch (monthDate) {\r\n case \"01\":\r\n return \"January\";\r\n case \"02\":\r\n return \"Febrauary\";\r\n case \"03\":\r\n return \"March\";\r\n case \"04\":\r\n return \"April\";\r\n case \"05\":\r\n return \"May\";\r\n case \"06\":\r\n return \"June\";\r\n case \"07\":\r\n return \"July\";\r\n case \"08\":\r\n return \"August\";\r\n case \"09\":\r\n return \"September\";\r\n case \"10\":\r\n return \"October\";\r\n case \"11\":\r\n return \"November\";\r\n case \"12\":\r\n return \"December\";\r\n }\r\n };\r\n\r\n // console.log(\r\n // \"Date===\",\r\n // new Date(`${\r\n // addressObj?.dateOfIssue &&\r\n // getMonthName(addressObj?.dateOfIssue?.split(\"/\")[1])\r\n // }\r\n // ${\r\n // addressObj?.dateOfIssue &&\r\n // addressObj?.dateOfIssue?.split(\"/\")[0]\r\n // }\r\n // ,${\r\n // addressObj?.dateOfIssue &&\r\n // addressObj?.dateOfIssue?.split(\"/\")[2]\r\n // } ${addressObj?.dateOfIssue && time}`)\r\n // );\r\n\r\n // console.log(\r\n // \"Date==||=\",\r\n // moment(new Date(addressObj?.dateOfIssue)).format(\"YYYY-MM-DD\")\r\n // );\r\n\r\n // console.log(\r\n // \"Date==>||=\",\r\n // new Date(addressObj?.dateOfIssue),\r\n // \"==||==\",\r\n // addressObj\r\n // );\r\n\r\n return (\r\n
\r\n <>\r\n
\r\n {/* Aadhar start */}\r\n {defaultAddress.length > 0 && (\r\n
\r\n \r\n handleChangeAddress(\"clientName\", value)}\r\n onBlur={(error) => handleBlurAddress(\"clientName\", error)}\r\n errorText={errors.clientName}\r\n />\r\n
\r\n )}\r\n {defaultAddress === \"Aadhaar Card\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n \r\n )}\r\n {/* Aadhar End*/}\r\n\r\n {/* Driving License Start */}\r\n {defaultAddress === \"Driving License\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfExpiry\", val)\r\n }\r\n placeholderText={\"Select Date of Expiry\"}\r\n minDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoe}\r\n isError={errors.dateOfExpiry ? true : false}\r\n />\r\n
\r\n {errors.dateOfExpiry && (\r\n

{errors.dateOfExpiry}

\r\n )}\r\n \r\n )}\r\n {/* Driving License End */}\r\n {/* Voter Id start*/}\r\n {defaultAddress === \"Voter ID\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n \r\n )}\r\n {/* Voter Id end*/}\r\n {/* PassPort start */}\r\n {defaultAddress === \"Passport\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfExpiry\", val)\r\n }\r\n placeholderText={\"Select Date of Expiry\"}\r\n minDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoe}\r\n isError={errors.dateOfExpiry ? true : false}\r\n />\r\n
\r\n {errors.dateOfExpiry && (\r\n

{errors.dateOfExpiry}

\r\n )}\r\n \r\n )}\r\n {/* PassPort end */}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PermanentAddressField;\r\n","import React from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport ProfileLayout from \"../components/Profile/ProfileLayout/ProfileLayout\";\r\nimport ProfileHome from \"../components/Profile/ProfileHome/ProfileHome\";\r\nimport ProfileMenu from \"../components/Profile/ProfileMenu/ProfileMenu\";\r\nimport BankHome from \"../components/Bank/BankHome/BankHome\";\r\nimport { dashboardUrl } from '../components/utils/constants';\r\nimport SelectPlan from '../components/SelectPlan/SelectPlan';\r\nimport DocVerificationHome from '../components/DocumentVerification/DocVerificationHome/DocVerificationHome';\r\nimport ESignHome from '../components/ESign/ESignHome/ESignHome';\r\nimport VideoVerification from '../components/VideoVerification/VideoVerification';\r\nimport Profiler from '../components/Profiler/Profiler';\r\nimport EsignKra from '../components/ESign/ESignKra/ESignKra';\r\nimport PersoanlInfo from \"../components/Registration/PersonalInformation/PersonalInfo\";\r\n\r\nexport interface DashboardRoutesProps {}\r\n\r\nconst DashboardRoutes: React.FC = (props) => {\r\n return (\r\n \r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DashboardRoutes;\r\n","import React from \"react\";\r\nimport \"./AgentVisitForm.scss\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport { betweenNChars } from \"../../../utils/regex\";\r\nimport DropdownSearch from \"../../../UI/DropdownSearch/DropdownSearch\";\r\nimport { EsignTag } from \"../../../UI/Tag/Tag\";\r\nimport Button from \"../../../UI/Button/Button\";\r\nimport {\r\n IAddressFormat,\r\n addressErrorObj,\r\n addressErrorMsg,\r\n} from \"../../../Profile/AddressField/AddressField\";\r\nimport { IListObj, IListInfoObj } from \"../../../types/genericTypes\";\r\nimport {\r\n AGetArea,\r\n AGetFullAddress,\r\n} from \"../../../Services/dashboard/profileApiService\";\r\nimport {\r\n AAgentDatesList,\r\n AAgentTimesList,\r\n ASaveAgentVisitDetails,\r\n} from \"../../../Services/dashboard/eSignApiServices\";\r\nimport { stringToDate, dateStringToDay } from \"../../../Services/globalService\";\r\nimport GlobalStore from \"../../../store/globalStore\";\r\nimport { containerUrl } from \"../../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../../Services/gtmService\";\r\n\r\nexport interface AgentVisitFormProps {\r\n addressObj: IAddressFormat;\r\n ocvDate: string;\r\n ocvTime: string;\r\n agentTimesList?: Array;\r\n setErrCode: (value: number | string) => void;\r\n ocvDateAndTimeChange: (type: \"date\" | \"time\", value: any) => void;\r\n onAddressChange: (addressObj: IAddressFormat) => void;\r\n setIsLoading: (value: boolean) => void;\r\n handleSubmit?: () => void;\r\n isLoading: boolean;\r\n registerCleverTapScheduleAgentEvent?: (isInitial: boolean) => void;\r\n}\r\n\r\nconst AgentVisitForm: React.FC = (props) => {\r\n const history = useHistory();\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n const [areaList, setAreaList] = React.useState>([]);\r\n const [agentDatesList, setAgentDatesList] = React.useState<\r\n Array\r\n >([]);\r\n const [agentTimesList, setAgentTimesList] = React.useState>(\r\n []\r\n );\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({ ...addressErrorObj });\r\n\r\n React.useEffect(() => {\r\n props.setIsLoading(true);\r\n AGetArea(getAreaList, addressObj.PinCode);\r\n AAgentDatesList(getAgentDates);\r\n !props.agentTimesList && AAgentTimesList(getAgentTimes);\r\n document.getElementById(\"OcvAddress\")?.focus();\r\n }, [addressObj.PinCode]);\r\n\r\n function getAgentDates(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data && res.data.ecoAgentVisitDates) {\r\n const arr: Array = [];\r\n res.data.ecoAgentVisitDates.forEach((date: any) => {\r\n let obj: any = {};\r\n obj.value = date.agentVisitDate;\r\n obj.display = stringToDate(date.agentVisitDate);\r\n obj.info = dateStringToDay(date.agentVisitDate);\r\n arr.push(obj);\r\n });\r\n setAgentDatesList(arr);\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function getAgentTimes(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data && res.data.ecoAgentVisitTimes) {\r\n const arr: Array = [];\r\n res.data.ecoAgentVisitTimes.forEach((date: any) => {\r\n let obj: any = {};\r\n obj.display = date.agentVisitTime;\r\n obj.value = date.agentVisitTime;\r\n arr.push(obj);\r\n });\r\n setAgentTimesList(arr);\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function handleChangeAddress(key: keyof IAddressFormat, value: string) {\r\n if (key === \"Area\") {\r\n AGetFullAddress(getFullAddress, value, addressObj.PinCode);\r\n }\r\n setErrors({ ...errors, [key]: undefined });\r\n setAddressObj({ ...addressObj, [key]: value });\r\n props.onAddressChange({ ...addressObj, [key]: value });\r\n }\r\n\r\n function getAreaList(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.areas) {\r\n const arr: Array = [];\r\n res.data.areas.forEach((item: string) => {\r\n let obj: IListObj = {\r\n value: item,\r\n display: item,\r\n };\r\n arr.push(obj);\r\n });\r\n setAreaList(arr);\r\n } else {\r\n props.setErrCode(\"130 - Failed to fetch the area list for the pincode\");\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function getFullAddress(res: any) {\r\n if (!res || res.error) {\r\n // props.setErrCode(\r\n // \"131 - Failed to fetch details corresponding to pincode and area\"\r\n // );\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let obj: any = {};\r\n obj.pincode = res.data.pinCode;\r\n obj.area = res.data.area;\r\n obj.district = res.data.district;\r\n obj.country = res.data.country;\r\n obj.city = res.data.city;\r\n obj.state = res.data.state;\r\n obj.statecode = res.data.stateCode;\r\n obj.countrycode = res.data.countryCode;\r\n setAddressObj({ ...addressObj, ...obj });\r\n props.onAddressChange({ ...addressObj, ...obj });\r\n } else {\r\n props.setErrCode(\r\n \"131 - Failed to fetch details corresponding to pincode and area\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n function handleBlurAddress(key: keyof IAddressFormat, value: any) {\r\n switch (key) {\r\n case \"addressLine1\":\r\n setErrors({\r\n ...errors,\r\n addressLine1: value.pattern\r\n ? undefined\r\n : addressErrorMsg.addressLine1,\r\n });\r\n break;\r\n case \"Area\":\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, Area: undefined });\r\n } else {\r\n setErrors({ ...errors, Area: addressErrorMsg.area });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n function submitOcv() {\r\n const agentVisitObj = {\r\n address: addressObj.addressLine1,\r\n applicationid: GlobalStore.applicationID,\r\n area: addressObj.Area,\r\n city: addressObj.City,\r\n created_by: 0,\r\n date_for_visit: props.ocvDate,\r\n pincode: addressObj.PinCode,\r\n state: addressObj.State,\r\n statecode: 0,\r\n time_for_visit: props.ocvTime,\r\n };\r\n props.setIsLoading(true);\r\n if (props.handleSubmit) props.handleSubmit();\r\n else {\r\n gtmService({ action: \"AGENT_VISIT\", label: \"Step_Complete\" });\r\n ASaveAgentVisitDetails(agentVisitScheduled, agentVisitObj);\r\n }\r\n }\r\n\r\n function agentVisitScheduled(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n if (props.registerCleverTapScheduleAgentEvent)\r\n props.registerCleverTapScheduleAgentEvent(false);\r\n history.replace(containerUrl.ocv);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n handleBlurAddress(\"addressLine1\", error)}\r\n placeholder=\"Eg. Address\"\r\n onChange={(value) => handleChangeAddress(\"addressLine1\", value)}\r\n errorText={errors.addressLine1}\r\n name={`OcvAddress`}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleChangeAddress(\"Area\", value[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={areaList}\r\n onBlur={(val) => handleBlurAddress(\"Area\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Thane\"\r\n noDataMsg=\"Area with similar name not found\"\r\n errorText={errors.Area}\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n props.ocvDateAndTimeChange(\"date\", val)}\r\n tagList={agentDatesList}\r\n />\r\n
\r\n\r\n
\r\n \r\n props.ocvDateAndTimeChange(\"time\", val)}\r\n tagList={props.agentTimesList || agentTimesList}\r\n />\r\n
\r\n\r\n
\r\n error) ||\r\n Object.values(addressObj).some((value) => !value) ||\r\n props.ocvTime === \"\" ||\r\n props.ocvDate === \"\"\r\n }\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AgentVisitForm;\r\n","import * as React from \"react\";\r\nimport {\r\n AValidatePoaServicableCityPincode,\r\n ASavePoaDetails,\r\n ADownloadForm,\r\n} from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ocvCalender from \"../../assets/icons/ocvCalenderNew.jpg\";\r\nimport ProfileImage from \"../UI/ProfileImage/ProfileImage\";\r\nimport { IAddressFormat } from \"../Profile/AddressField/AddressField\";\r\nimport { initialAddressObj } from \"../Profile/ProfileForm/ProfileForm\";\r\nimport Button, { Verify } from \"../UI/Button/Button\";\r\nimport { integerExp } from \"../utils/regex\";\r\nimport \"./Poa.scss\";\r\nimport \"../ESign/ScheduleAgentVisit/ScheduleAgentVisit.scss\";\r\nimport AgentVisitForm from \"../ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm\";\r\nimport {\r\n ecomAgentTimeList,\r\n edelweissOfficeName,\r\n edelweissOfficeAddress,\r\n containerUrl,\r\n} from \"../utils/constants\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { stringToDate, base64toBlob } from \"../Services/globalService\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nexport interface PoaProps {}\r\n\r\nexport const downloadForm = (\r\n documentName: string,\r\n setIsLoading: Function,\r\n setErrCode: Function,\r\n isFullPdf?: boolean\r\n) => {\r\n setIsLoading(true);\r\n setErrCode(\"\");\r\n ADownloadForm(\r\n (res: any) => getDownloadForm(res, documentName, setIsLoading, setErrCode),\r\n GlobalStore.applicationID,\r\n isFullPdf || false\r\n );\r\n};\r\n\r\nfunction getDownloadForm(\r\n res: any,\r\n documentName: string,\r\n setIsLoading: Function,\r\n setErrCode: Function\r\n) {\r\n if (!res || res.error) {\r\n setErrCode(\"7345 - Failed to download form\");\r\n } else {\r\n if (res.data) {\r\n const base64 = res.data;\r\n if (base64 && base64 !== \"\") {\r\n const blob = base64toBlob(base64, \"application/pdf\");\r\n const link: HTMLAnchorElement = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = documentName;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n } else {\r\n setErrCode(\"7345 - Failed to download form\");\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n}\r\n\r\nconst Poa: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [enablePinCheck, setEnablePinCheck] = React.useState(false);\r\n const [clientAddressOcv, setClientAddressOcv] =\r\n React.useState({ ...initialAddressObj });\r\n const [ocvDate, setOcvDate] = React.useState(\"\");\r\n const [ocvTime, setOcvTime] = React.useState(\"\");\r\n const [showAgentVisitForm, setShowAgentVisitForm] =\r\n React.useState(false);\r\n const [showDownload, setShowDownload] = React.useState(true); // for disabling POA scheduling default value is true\r\n const [disablePOASchedule, setDisablePOASchedule] = React.useState(true); // disable POA download\r\n const history = useHistory();\r\n\r\n function checkPincodeServiceability() {\r\n setIsLoading(true);\r\n setShowAgentVisitForm(false);\r\n AValidatePoaServicableCityPincode(\r\n validatePincode,\r\n clientAddressOcv.PinCode\r\n );\r\n }\r\n\r\n function validatePincode(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"926 - Failed to check servicability of the pincode\");\r\n } else {\r\n if (res.data && res.data.state && res.data.drop_Vendor_Code) {\r\n setShowDownload(false);\r\n setShowAgentVisitForm(true);\r\n } else {\r\n setShowDownload(true);\r\n setTimeout(() => {\r\n document.getElementById(\"addressInfoId\")?.scrollIntoView({\r\n behavior: \"smooth\",\r\n });\r\n }, 300);\r\n setShowAgentVisitForm(false);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function pincodeChange(event: React.ChangeEvent) {\r\n let value = event.target.value;\r\n if (event.target.name === \"pincode\" && !integerExp.test(value)) {\r\n value = clientAddressOcv.PinCode;\r\n }\r\n setClientAddressOcv({ ...clientAddressOcv, PinCode: value });\r\n\r\n if (value && value.length === 6) {\r\n setEnablePinCheck(true);\r\n } else {\r\n setEnablePinCheck(false);\r\n if (showAgentVisitForm) {\r\n setShowAgentVisitForm(false);\r\n setClientAddressOcv(initialAddressObj);\r\n setOcvDate(\"\");\r\n setOcvTime(\"\");\r\n }\r\n }\r\n }\r\n\r\n function handleAddressChange(addressObj: IAddressFormat) {\r\n setClientAddressOcv({ ...clientAddressOcv, ...addressObj });\r\n }\r\n\r\n function ocvDateAndTimeChange(type: \"date\" | \"time\", value: string) {\r\n if (type === \"date\") setOcvDate(value);\r\n else setOcvTime(value);\r\n }\r\n\r\n function handlePoaSchedule() {\r\n setIsLoading(true);\r\n const reqObj = {\r\n addr: {\r\n line1: clientAddressOcv.addressLine1,\r\n line2: clientAddressOcv.Area,\r\n city: clientAddressOcv.City,\r\n state: clientAddressOcv.State,\r\n },\r\n scheduledDate: stringToDate(ocvDate, true),\r\n selectedTimeSlot: ocvTime,\r\n customerName: GlobalStore.personaldetails.PANName,\r\n customerMobile: GlobalStore.user.mobile,\r\n applicationId: GlobalStore.applicationID,\r\n selectedPincode: clientAddressOcv.PinCode,\r\n defaultPinCode: \"\",\r\n vendorResponse: \"yes\",\r\n isChequeLeafSubmitted: \"false\",\r\n emailurl: \"\",\r\n };\r\n ASavePoaDetails(vendorResponse, reqObj);\r\n }\r\n\r\n function vendorResponse(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"9102 - Failed to fetch vendor response\");\r\n } else {\r\n const [responseObj] = JSON.parse(JSON.parse(res.data));\r\n if (responseObj && responseObj.awb_number && responseObj.success)\r\n history.push(containerUrl.submit);\r\n else if (\r\n responseObj &&\r\n responseObj.reason &&\r\n responseObj.reason\r\n .toString()\r\n .indexOf(\"There is a lead already open with the same Order Id\") !== -1\r\n ) {\r\n setErrCode(\"Request Already Exists\");\r\n } else {\r\n setErrCode(\"9872 - Failed to fetch vendor response\");\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n React.useEffect(() => {\r\n registerCleverTapScheduleAgentEvent(true);\r\n });\r\n\r\n const registerCleverTapScheduleAgentEvent = (isInitial: boolean) => {\r\n // Clevertap event while user choose for e-sign\r\n const data = {\r\n EventName: cleverTapEvents.registration.agentVisit.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n if (!isInitial) {\r\n data[\"EventName\"] =\r\n cleverTapEvents.registration.agentVisit.CLICK_ON_SUBMIT;\r\n // Apps flyer event for click on proceed on Agent visit details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.agentVisit.CLICK_ON_SUBMIT\r\n );\r\n }\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends\r\n };\r\n\r\n return (\r\n
\r\n { !disablePOASchedule && \r\n \"\"\r\n }\r\n { !disablePOASchedule && ( <>\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {showAgentVisitForm && (\r\n \r\n )}\r\n
) }\r\n {showDownload && (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n setErrCode\r\n )\r\n }\r\n btnName=\"Download and Courier\"\r\n isLoading={isLoading}\r\n prefix={}\r\n />\r\n
\r\n
\r\n )}\r\n {(showDownload || showAgentVisitForm) && (\r\n history.push(containerUrl.submit)}\r\n >\r\n Continue Without POA\r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n );\r\n};\r\n\r\nexport default Poa;\r\n","import * as React from \"react\";\r\nimport \"./ExitScreen.scss\";\r\nimport ProfileImage from \"../ProfileImage/ProfileImage\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport Button from \"../Button/Button\";\r\nimport Loader from \"../Loader/Loader\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport { isSafariBrowser } from \"../../Services/globalService\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { loginUrl } from \"../../../components/utils/constants\";\r\n\r\nexport interface ExitScreenProps {\r\n heading: string;\r\n info?: string;\r\n time?: string;\r\n displayInfoList: Array;\r\n logo: string;\r\n}\r\n\r\nconst ExitScreen: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n\r\n function getStarted() {\r\n gtmService({ action: \"FINAL_STATUS\", label: \"Get_Started\" });\r\n if (DeviceContext().isDesktop) {\r\n window.location.href = loginUrl + \"user-guide/web\";\r\n } else {\r\n if (isSafariBrowser()) {\r\n window.location.href =\r\n \"https://app.appsflyer.com/id1031657545?pid=newEW\";\r\n } else {\r\n window.location.href = \"https://edel.onelink.me/3126852515/a4df843a\";\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window.scroll(0, 0);\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n \r\n \r\n {props.time && (\r\n \r\n )}\r\n
\r\n {props.displayInfoList.length > 0 ? (\r\n props.displayInfoList.map((itemObj, index) => (\r\n
\r\n \r\n \r\n
\r\n ))\r\n ) : (\r\n \r\n )}\r\n
\r\n {props.children}\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n gtmService({ action: \"FINAL_STATUS\", label: \"Download_form\" });\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n () => {}\r\n );\r\n }}\r\n >\r\n here\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ExitScreen;\r\n","import * as React from \"react\";\r\nimport ExitScreen from \"../UI/ExitScreen/ExitScreen\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport { AGetAgentVisitDetails } from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { stringToDate } from \"../Services/globalService\";\r\nimport ocvCalender from \"../../assets/icons/ocvCalenderNew.jpg\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nexport interface OcvScheduledProps {}\r\n\r\nconst OcvScheduled: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [visitDate, setVisitDate] = React.useState(\"\");\r\n const [visitTime, setVisitTime] = React.useState(\"\");\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n\r\n React.useEffect(() => {\r\n AGetAgentVisitDetails(agentVisitDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clevertap event while final page load\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.finalPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n STATUS_ON_FINAL_SCREEN: \"AGENT VISIT SCHEDULED\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Apps flyer event for When Final Status screen is viewed\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.finalPage.PAGE_LOAD\r\n );\r\n }, []);\r\n // Clevertap ends\r\n\r\n function agentVisitDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n let responseObj = JSON.parse(JSON.parse(res.data));\r\n if (responseObj && responseObj.date_for_visit && responseObj.dpid) {\r\n let arr: Array = [\r\n {\r\n display: \"Date & Time\",\r\n value: `${stringToDate(responseObj.date_for_visit)}. ${\r\n responseObj.time_for_visit\r\n }`,\r\n },\r\n { display: \"Name\", value: GlobalStore.personaldetails.PANName },\r\n { display: \"Email ID\", value: GlobalStore.user.email },\r\n {\r\n display: \"Mobile Number\",\r\n value: `+91 ${GlobalStore.user.mobile}`,\r\n },\r\n {\r\n display: \"Address\",\r\n value: `${responseObj.address} ${responseObj.area} ${responseObj.city} ${responseObj.state} ${responseObj.pincode}`,\r\n },\r\n ];\r\n setDisplayInfoList(arr);\r\n setVisitDate(stringToDate(responseObj.date_for_visit));\r\n setVisitTime(responseObj.time_for_visit);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default OcvScheduled;\r\n","import * as React from \"react\";\r\nimport arrowPoint from \"../../assets/icons/arrow_point.png\";\r\nimport \"./StepsInfo.scss\";\r\nexport interface StepsInfoProps {}\r\n\r\nconst StepsInfo: React.SFC = () => {\r\n const [viewBtn, setViewBtn] = React.useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n {/* Complete Quality Check process and upload your details at Exchanges. */}\r\n Here are the things that we will do at our end:\r\n
\r\n
\r\n \"=\" />\r\n {/* */}\r\n \r\n
\r\n
\r\n \"=\" />\r\n \r\n {/* */}\r\n
\r\n
\r\n \"=\" />\r\n \r\n {/* */}\r\n
\r\n
\r\n
\r\n
Lets Know more about DDPI:
\r\n
\r\n As per SEBI regulation POA is now replaced by Demat and Pledge\r\n instruction (DDPI). DDPI is an authorization to access your demat\r\n account to meet pay-in obligations for settlement of trades executed\r\n by you.\r\n
\r\n {viewBtn ? (\r\n <>\r\n
\r\n Purpose of DDPI is limited only for two purposes:\r\n
\r\n\r\n
\r\n
    \r\n
  1. \r\n To transfer securities held in your account toward exchange\r\n related deliveries or settlement obligations.\r\n
  2. \r\n
  3. To pledge / repledge securities
  4. \r\n
\r\n
\r\n\r\n
DDPI doesn’t support:
\r\n
\r\n
Corporate Actions (Buy Back, TakeOver, Delisting, etc).
\r\n
Mutual Fund Transactions.
\r\n
\r\n To execute any transactions above either you submit the\r\n prefilled POA on the below address or the settlement would be\r\n done through e-DIS.\r\n
\r\n
\r\n
\r\n Address: NUVAMA WEALTH & INVESTMENT LTD., 201 to 203, Zodiac\r\n Plaza, Xavier College Road, Off C G Road, Ahmedabad, Gujrat-380009\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {viewBtn ? (\r\n setViewBtn(false)}>View Less\r\n ) : (\r\n setViewBtn(true)}>View More\r\n )}\r\n
\r\n
\r\n\r\n
\r\n While the above steps are under process, why not get comfortable with\r\n our platforms.\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default StepsInfo;\r\n","import * as React from \"react\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport ExitScreen from \"../UI/ExitScreen/ExitScreen\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport { AGetClientAccountCode } from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport StepsInfo from \"./StepsInfo\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\n\r\nexport interface SubmitAOProps {}\r\n\r\nconst SubmitAO: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n const [time, setTime] = React.useState(\"\");\r\n React.useEffect(() => {\r\n AGetClientAccountCode(getClientDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clevertap event while final page load\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.finalPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n STATUS_ON_FINAL_SCREEN: \"ACCOUNT OPENING COMPLETED\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Apps flyer event for When Final Status screen is viewed\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.finalPage.PAGE_LOAD\r\n );\r\n }, []);\r\n // Clevertap ends\r\n\r\n function getClientDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (responseObj && responseObj.dpid) {\r\n let holderName = responseObj.holderfullname\r\n ? responseObj.holderfullname\r\n : clientPartialDetails_ao.PANName\r\n ? clientPartialDetails_ao.PANName\r\n : \"\";\r\n let mobile = responseObj.mobileno\r\n ? responseObj.mobileno\r\n : clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : \"\";\r\n let email = responseObj.emailid\r\n ? responseObj.emailid\r\n : clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : \"\";\r\n const displayInfo: Array = [\r\n {\r\n display: \"Trading Account Details\",\r\n value: responseObj.applicationid,\r\n },\r\n { display: \"Name\", value: holderName },\r\n {\r\n display: \"Email ID\",\r\n value: email,\r\n },\r\n {\r\n display: \"Mobile Number\",\r\n value: `+91 ${mobile}`,\r\n },\r\n { display: \"Demat Account Number\", value: responseObj.dpid },\r\n ];\r\n setTime(responseObj.esigncompletedtime);\r\n setDisplayInfoList(displayInfo);\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n if (displayInfoList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayInfoList]);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SubmitAO;\r\n","import React from 'react'\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { containerUrl } from '../components/utils/constants';\r\nimport OcvScheduled from '../components/OcvScheduled/OcvScheduled';\r\nimport RegistrationLayout from '../components/Registration/Layout/Layout';\r\nimport SubmitAO from '../components/SubmitAO/SubmitAO';\r\nimport Poa from '../components/POA/Poa';\r\n\r\nexport interface SubmissionRoutesProps {\r\n}\r\n\r\nconst SubmissionRoutes: React.FC = (props) => (\r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n \r\n } />\r\n\r\n \r\n);\r\n\r\nexport default SubmissionRoutes;","import React from 'react'\r\nimport EdelLogoCenter from '../../UI/EdelLogoCenter/EdelLogoCenter'\r\nimport './Layout.scss'\r\n\r\nexport interface StatusLayoutProps {}\r\n\r\nconst RegistrationLayout: React.FC = (props) => {\r\n return (\r\n <>\r\n
\r\n \r\n {props.children}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default RegistrationLayout","import React from \"react\";\r\nimport InputWithLabel from \"../../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport Button from \"../../../UI/Button/Button\";\r\nimport DropdownSearch from \"../../../UI/DropdownSearch/DropdownSearch\";\r\nimport { Verify } from \"../../../UI/Button/Button\";\r\nimport {\r\n AValidateMobileOtp,\r\n AGetMobileOtp,\r\n} from \"../../../Services/registration/registrationApiService\";\r\nimport \"./CheckStatusForm.scss\";\r\nimport {\r\n alphabetExp,\r\n integerExp,\r\n phoneNo,\r\n emailRegex,\r\n pan,\r\n} from \"../../../utils/regex\";\r\nimport RegOtp from \"../../../Registration/RegOtp/RegOtp\";\r\nimport ErrMsg from \"../../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../../store/globalStore\";\r\nimport {\r\n productCode,\r\n assignedTo,\r\n containerUrl,\r\n loginUrl,\r\n statusUrl,\r\n dashboardUrl,\r\n} from \"../../../utils/constants\";\r\nimport { clientContinue, setStageData } from \"../../../Services/globalService\";\r\nimport gtmService from \"../../../Services/gtmService\";\r\nimport { ClevertapService } from \"../../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../../Services/appsFlyerService\";\r\nimport cleverTapEvents from \"../../../../config/cleverTapEvents\";\r\nimport appsFlyerEvents from \"../../../../config/appsFlyerEvents\";\r\nimport useQuery from \"../../../../customHooks/useQuery\";\r\nimport { AGetApplicationStatusForKnowStatus } from \"../../../Services/knowYourStatus/knowYourStatusApiService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { AGetClientDetailsByPan } from \"../../../Services/registration/panDobApiService\";\r\nimport { AGetStageCompletionStatus } from \"../../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { APendingUploadList } from \"../../../Services/dashboard/eSignApiServices\";\r\nimport { errorMessage } from \"../../../utils/errorMessage\";\r\nimport { errorCode, errorMsg } from \"../../../../ErrorCode/ErrorCode\";\r\nexport interface ILeadFormFields {\r\n pan: string;\r\n mobile: string;\r\n rmCode: string;\r\n}\r\n\r\nconst RegistrationForm = (props: any) => {\r\n const history = useHistory();\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const UTM_PLACEMENT = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n\r\n const [showRmCode, setShowRmCode] = React.useState(false);\r\n const [cities, setCities] = React.useState([]);\r\n\r\n const [values, setValues] = React.useState({ pan: \"\", mobile: \"\" });\r\n const [rmCode, setRmCode] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(true);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n let isUploadDocumentsCompleted = false;\r\n\r\n // used to store the field wise errors\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n pan: undefined,\r\n mobile: undefined,\r\n });\r\n\r\n React.useEffect(() => {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }, []);\r\n\r\n // Field onchange method\r\n function onChange(key: keyof ILeadFormFields, value: string) {\r\n if (key === \"mobile\" && !integerExp.test(value)) {\r\n value = values[key];\r\n }\r\n\r\n key === \"rmCode\"\r\n ? setRmCode(value)\r\n : setValues({ ...values, [key]: value });\r\n\r\n if (key === \"mobile\") {\r\n if (\r\n GlobalStore.user.mobile !== \"\" &&\r\n GlobalStore.user.mobile === value &&\r\n isMobileVerified\r\n ) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n return value;\r\n }\r\n\r\n // OTP send method\r\n function sendOtp() {\r\n setIsLoading(true);\r\n AGetMobileOtp(otpSent, values.mobile);\r\n }\r\n\r\n function otpSent(res: any) {\r\n if (res.data && res.data.Success) {\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n // OTP validation method\r\n function validateOtp(val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n setDisableOtp(true);\r\n AValidateMobileOtp(checkMobileValidateOtp, values.mobile.toString(), val);\r\n }\r\n }\r\n\r\n function checkMobileValidateOtp(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n // setErrCode('115 - Failed to validate OTP, please retry.');\r\n // setErrCode(errorMessage.mobValidateOtp);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data == \"true\") {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n // GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n } else setInvalidOtp(true);\r\n setErrCode(\"\");\r\n }\r\n }\r\n\r\n function handleSubmit(e: React.FormEvent) {\r\n e.preventDefault();\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = values.pan;\r\n // clientPartialDetails_ao.mobile = values.mobile;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GlobalStore.personaldetails.pan = values.pan;\r\n // GlobalStore.user.mobile = values.mobile;\r\n // GlobalStore.user.email = 'example@email.com';\r\n AGetClientDetailsByPan(checkApplicationStatus, values.pan);\r\n }\r\n\r\n function checkApplicationStatus(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"701- Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\r\n if (res?.data == null || res?.data == \"Records Not Found\")\r\n history.push(statusUrl.accountNotFound);\r\n else if (res?.data !== null) history.push(statusUrl.statusContinue);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* Email Start*/}\r\n
\r\n
\r\n \r\n onChange(\"pan\", value.toUpperCase())}\r\n placeholder=\"Eg. ABCDE1234F\"\r\n pattern={pan}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE07),\r\n })\r\n }\r\n errorText={errors.pan}\r\n type=\"text\"\r\n maxLength={10}\r\n // defaultValue=\"CWLPA4946C\" //To be removed\r\n />\r\n
\r\n
\r\n {/* */}\r\n\r\n {/* Email End*/}\r\n\r\n {/* Mobile Phone Start*/}\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"mobile\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE08),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === values.mobile &&\r\n values.mobile !== \"\" &&\r\n isMobileVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n // defaultValue=\"987654321\" //To be removed\r\n />\r\n
\r\n {showMobileBtn && (\r\n
\r\n error\r\n ) ||\r\n Object.values([values.pan, values.mobile]).some(\r\n (value) => !value\r\n )\r\n }\r\n onClick={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"MOB_VERIFY\" });\r\n sendOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"OTP_RESEND\" });\r\n sendOtp();\r\n }}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n \r\n {/* Mobile Phone End*/}\r\n\r\n {isMobileVerified && showRmCode && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChange(\"rmCode\", value)}\r\n label=\"Enter Code (Optional)\"\r\n placeholder=\"Eg. ABC1234\"\r\n type=\"text\"\r\n onBlur={() => {}}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {isMobileVerified && (\r\n <>\r\n
\r\n

\r\n By signing up you agree to receive communication on WhatsApp\r\n

\r\n
\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n !isMobileVerified\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RegistrationForm;\r\n","import React, { Component } from \"react\";\r\nimport CheckStatusForm from \"./CheckStatusForm/CheckStatusForm\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\"; //'../../../assets/icons/regBanner.jpeg'\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport \"./CheckStatusHome.scss\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\n\r\nclass CheckStatusHome extends Component {\r\n // constructor(props: any) {\r\n // super(props);\r\n // this.init()\r\n // }\r\n\r\n // init = () => {\r\n // let queryObject = parseQuery(this.props.location.search);\r\n // if (queryObject && queryObject.utm_source && queryObject.utm_source.toUpperCase() === \"LEADFORDSA\")\r\n // GlobalStore.leadForDsa = true;\r\n\r\n // this.setUTMParams(queryObject);\r\n\r\n // if (typeof (queryObject.refno) !== \"undefined\" && queryObject.refno && queryObject.refno !== '')\r\n // // this.getClientDetails(queryObject.refno.replace(\" \", '+'));\r\n\r\n // if (typeof (queryObject.applicationid) !== \"undefined\" && queryObject.applicationid && queryObject.applicationid !== '') {\r\n // // if (typeof (queryObject.type) !== \"undefined\" && queryObject.type && queryObject.type === \"resume\")\r\n // // this.getRedisDocumentDetails(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // // else\r\n // // this.getClientDetAfterEsign(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // }\r\n // // this.checkforSiteMaintainence(queryObject);\r\n // this.onlyDematParam(queryObject);\r\n // // GlobalStore.sessionId = guid()\r\n // }\r\n\r\n // setUTMParams = (queryObject: any) => {\r\n // if (Object.keys(queryObject).length > 0) {\r\n // let objUTM_Info = {\r\n // modeofapplication: \"E\",\r\n // utm_source: queryObject.utm_source,\r\n // utm_medium: queryObject.utm_medium,\r\n // utm_term: queryObject.utm_term,\r\n // utm_creative: queryObject.utm_creative,\r\n // utm_campaign: queryObject.utm_campaign,\r\n // utm_adgroup: queryObject.utm_adgroup,\r\n // utm_placement: queryObject.utm_placement,\r\n // utm_device: queryObject.utm_device,\r\n // utm_content: queryObject.utm_content,\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"W\"\r\n // }\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n // } else {\r\n // const utmObj = JSON.parse(window.sessionStorage.getItem(\"objUTM_Info\") || '{}')\r\n // if (!utmObj && Object.keys(utmObj).length === 0) {\r\n // let objUTM_Info = {\r\n // modeofapplication: \"E\",\r\n // utm_source: queryObject.utm_source,\r\n // utm_medium: queryObject.utm_medium,\r\n // utm_term: queryObject.utm_term,\r\n // utm_creative: queryObject.utm_creative,\r\n // utm_campaign: queryObject.utm_campaign,\r\n // utm_adgroup: queryObject.utm_adgroup,\r\n // utm_placement: queryObject.utm_placement,\r\n // utm_device: queryObject.utm_device,\r\n // utm_content: queryObject.utm_content,\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"W\"\r\n // }\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n // }\r\n // }\r\n // }\r\n\r\n // // getClientDetails = (refNo: string) => {\r\n // // var clientObj = {\r\n // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // applicationId: refNo\r\n // // };\r\n // // window.sessionStorage.setItem('clientDetails', JSON.stringify(clientObj));\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: clientObj,\r\n // // }).then(function (res) {\r\n // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // $scope.kraLoader = false;\r\n // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // $('#panvarify').modal('hide');\r\n // // if ($scope.ClientDetails.personal.length == 0) {\r\n // // $state.go('personal-details');\r\n // // $window.sessionStorage.setItem(\"isEnabled\", false);\r\n // // } else if ($scope.ClientDetails.bank.length == 0) {\r\n // // $state.go('bank-details');\r\n // // } else if ($scope.ClientDetails.profile.length == 0 && $scope.ClientDetails.nominee.length == 0) {\r\n // // $rootScope.personaldetails = {};\r\n // // $rootScope.profileDetails = {};\r\n // // $state.go('profile-details');\r\n // // } else if ($scope.ClientDetails.brokeragesegment.length == 0) {\r\n // // $state.go('brokerage-segment');\r\n // // }\r\n // // //else if ($scope.ClientDetails.documents.length == 0) {\r\n // // else if ($scope.ClientDetails.documents.length > 1) { // '1' is given here, because user will have already uploaded aadhar from digilocker.\r\n // // if ($scope.ClientDetails.registration[0].bpm_pd_status != 2) {\r\n // // $rootScope.uploadedDocList = $scope.ClientDetails.documents;\r\n // // if ($scope.ClientDetails.personal[0].corrsaddraspermanent)\r\n // // $rootScope.isPermAddressProof = false;\r\n // // else\r\n // // $rootScope.isPermAddressProof = true;\r\n\r\n // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // if ($scope.ClientDetails.documents[i].documentid == 365 && $scope.ClientDetails.documents[i].documentcategoryid == 62) { // it means video ipv is done and uploaeded on ftp server\r\n // // $rootScope.videoIpvStatus = true;\r\n // // $state.go('documentVerification');\r\n // // break;\r\n // // }\r\n // // $rootScope.videoIpvStatus = false;\r\n // // $state.go('documents-upload');\r\n // // }\r\n // // } else\r\n // // $state.go('documentVerification');\r\n // // } else {\r\n // // $state.go('documents-upload');\r\n // // }\r\n // // },\r\n // // function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 106\");\r\n // // });\r\n // // }\r\n\r\n // // getRedisDocumentDetails = (appId: any) => {\r\n\r\n // // // let digiobj = {\r\n // // // applicationId: appId\r\n // // // };\r\n\r\n // // // $http({\r\n // // // method: \"POST\",\r\n // // // url: config.baseUrl + \"/api/REST/RedisDigilockerDoc\",\r\n // // // headers: { \"Content-type\": \"application/json\" },\r\n // // // data: digiobj\r\n // // // }).then(function (res) {\r\n // // // if (res.data != 'No Data') {\r\n // // // getProfileDetailsFromAadhar(res.data);\r\n // // // $scope.digiStepsCompleted = true;\r\n // // // } else {\r\n // // // $scope.digiStepsCompleted = false;\r\n // // // }\r\n // // // getclientprimarydetailsId(appId);\r\n // // // }, function (res) {\r\n // // // errorMsg(\"errorcode: 108\");\r\n // // // });\r\n // // }\r\n\r\n // // getClientDetAfterEsign = (appId: any) => {\r\n // // // $scope.loader = true;\r\n // // // let clientObj = {\r\n // // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // // applicationId: appId\r\n // // // };\r\n // // // $http({\r\n // // // method: \"POST\",\r\n // // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // // headers: { \"Content-type\": \"application/json\" },\r\n // // // data: clientObj,\r\n // // // }).then(function (res) {\r\n // // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // // $scope.kraLoader = false;\r\n // // // $('#panvarify').modal('hide');\r\n // // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // // $rootScope.personaldetails = {};\r\n // // // $rootScope.personaldetails = angular.copy($scope.ClientDetails.personal[0]);\r\n // // // $rootScope.personaldetails.pan = $scope.ClientDetails.profile[0].pan;\r\n\r\n // // // $rootScope.personaldetails.firstname = $scope.ClientDetails.personal[0].holder_first_name;\r\n // // // $rootScope.personaldetails.lastname = $scope.ClientDetails.personal[0].holder_last_name;\r\n // // // $rootScope.personaldetails.middlename = $scope.ClientDetails.personal[0].holder_middle_name;\r\n\r\n // // // $rootScope.SaveKYCResponse = {};\r\n // // // $rootScope.SaveKYCResponse.ApplicationID = appId;\r\n\r\n // // // if ($scope.ClientDetails.registration.length > 0) { $rootScope.personaldetails.mobile = $scope.ClientDetails.registration[0].mobileno; } // fetching mobile number when user clicks on continue.\r\n\r\n // // // if ($scope.ClientDetails.personal.length > 0) {\r\n // // // $rootScope.personaldetails.adrLine1 = $scope.ClientDetails.personal[0].correspondence_address_1 + $scope.ClientDetails.personal[0].correspondence_address_2 + $scope.ClientDetails.personal[0].correspondence_address_3;\r\n // // // $rootScope.personaldetails.city = $scope.ClientDetails.personal[0].correspondance_city;\r\n // // // $rootScope.personaldetails.state = $scope.ClientDetails.personal[0].correspondance_state;\r\n // // // $rootScope.personaldetails.pincode = $scope.ClientDetails.personal[0].correspondance_pincode;\r\n // // // }\r\n\r\n // // // if ($scope.ClientDetails.esignurl.length > 0) {\r\n // // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // // if ($scope.ClientDetails.documents[i].documentid == 21 && $scope.ClientDetails.documents[i].documentcategoryid == 9) { // it means cheque leaf is submitted\r\n // // // $rootScope.isChequeLeafSubmitted = true;\r\n // // // }\r\n // // // }\r\n // // // if ($scope.ClientDetails.esignurl[0].esginstatus == \"PENDING\") {\r\n // // // $state.go(\"documentVerification\");\r\n // // // } else {\r\n // // // $state.go(\"poascheduler\");\r\n // // // }\r\n // // // } else {\r\n // // // $state.go(\"documentVerification\");\r\n // // // }\r\n // // // }, function (res) {\r\n // // // console.log(res);\r\n // // // errorMsg(\"errorcode: 106\");\r\n // // // });\r\n // // }\r\n\r\n // // checkforSiteMaintainence = (queryObject: any) => {\r\n // // $http({\r\n // // method: \"GET\",\r\n // // url: config.baseUrl + \"/api/REST/Diymaintainance\",\r\n // // headers: { \"Content-type\": \"application/json\" }\r\n // // }).then(function (res) {\r\n // // var date = new Date();\r\n // // if (typeof (res.data.data) != \"undefined\" && res.data.data.Status && res.data.data.DIY_Maintainance_From <= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss') &&\r\n // // res.data.data.DIY_Maintainance_To >= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss')) {\r\n // // $scope.maintainenceMsg = res.data.data.DIY_Maintainance_Msg;\r\n // // $scope.isMaintainence = true;\r\n // // } else {\r\n // // $scope.isMaintainence = false;\r\n // // if (typeof (queryObject.leadid) != \"undefined\" && typeof (queryObject.firstname) != \"undefined\" &&\r\n // // typeof (queryObject.lastname) != \"undefined\" && typeof (queryObject.city) != \"undefined\" && typeof (queryObject.mobile) != \"undefined\" &&\r\n // // typeof (queryObject.email) != \"undefined\") {\r\n\r\n // // $rootScope.LeadID = queryObject.leadid;\r\n // // $rootScope.details = {\r\n // // firstname: queryObject.firstname,\r\n // // lastname: queryObject.lastname,\r\n // // city: queryObject.city,\r\n // // mobile: queryObject.mobile,\r\n // // emailId: queryObject.email,\r\n // // };\r\n // // $state.go('aadhaar');\r\n // // return false;\r\n // // }\r\n // // if (!$rootScope.isPartialFilledClient && typeof ($location.search().refno) == \"undefined\" && typeof (queryObject.applicationid) == \"undefined\")\r\n // // resumeAccountCreation();\r\n // // }\r\n // // }, function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 105\");\r\n // // });\r\n // // }\r\n\r\n // onlyDematParam = (queryObject: any) => {\r\n // let objAccType;\r\n // if (Object.keys(queryObject).length !== 0)\r\n // objAccType = queryObject.accType === 'DMT' ? 'DMT' : 'EQTY';\r\n // else\r\n // objAccType = 'EQTY';\r\n // window.sessionStorage.setItem(\"objAccType\", objAccType);\r\n // }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \"banner\"\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CheckStatusHome;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/account-not-found.png';\r\nimport config from '../../../config/domain';\r\nimport Button from '../../UI/Button/Button';\r\nimport { containerUrl, dashboardUrl, statusUrl } from '../../utils/constants';\r\n\r\n// import './AccountNotFound.scss';\r\n\r\nclass AccountNotFound extends Component {\r\n checkStatus = () => {\r\n window.location.href = config.root + statusUrl.statusHome.replace(\"/\", \"\");\r\n };\r\n newAccount = () => {\r\n window.location.href = config.root;\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

No Account Found

\r\n \r\n We didn't have any account with the given
\r\n details.Would you like to open an account
with us?\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default AccountNotFound;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/accountAlreadyExists.png';\r\nimport Button from '../../UI/Button/Button';\r\nimport { statusUrl } from '../../utils/constants';\r\n\r\nimport './StatusVerified.scss';\r\n\r\nclass StatusVerified extends Component {\r\n checkStatus = () => {\r\n window.location.href = statusUrl.statusHome;\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

Account Already Exists

\r\n \r\n An account already exists with this PAN\r\n
and mobile information.\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default StatusVerified;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/verificationInProgress.png';\r\nimport Button from '../../UI/Button/Button';\r\n\r\nimport './DocsVerificationInProgress.scss';\r\n\r\nclass DocsVerificationInProgress extends Component { \r\n render() {\r\n \r\n return (\r\n
\r\n \r\n
\r\n

Document Verification in Process

\r\n \r\n Your documents are getting verified by our
\r\n agents.This process usually take 1-2
business days\r\n
\r\n
We will notify you of the update via WhatsApp/Email
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DocsVerificationInProgress\r\n","import React from \"react\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\nimport regbanner from \"../../../assets/icons/docsRejected.png\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl } from \"../../utils/constants\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport {\r\n AGetClientDetailsByPan,\r\n AGetPanUtiData,\r\n} from \"../../Services/registration/panDobApiService\";\r\n\r\nimport \"./DocumentReject.scss\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface DocumentRejectProps {}\r\n\r\nconst DocumentReject: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n const history = useHistory();\r\n\r\n const handleContinue = () => {\r\n // e.preventDefault();\r\n console.log(\"Continue....\");\r\n setIsLoading(true);\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = GlobalStore.personaldetails.pan;\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n AGetPanUtiData(validatePAN, panNum);\r\n };\r\n\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode(107);\r\n // // setErrCode(errorMessage.validatePAN);\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n // AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n setErrCode(res.error);\r\n console.log(res.errMsg);\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n GlobalStore.isSeeding = false;\r\n } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n }\r\n\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n //Dudupe Logic here//\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(118);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n } else if (res.data == null) {\r\n setErrCode(\"No records found\");\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode(106);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(responseObj.isuploaddocumentscompleted);\r\n\r\n //route according to stage api response\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!responseObj.isuploaddocumentscompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n // !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign);\r\n return;\r\n }\r\n if (responseObj.isesigncompleted) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Document Rejected

\r\n {/* Please reupload the following documents\r\n
    \r\n
  • Correspondence Address Proof
  • \r\n
  • Signature
  • \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DocumentReject;\r\n","import React from \"react\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\n// import './StatusContinue.scss';\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl, statusUrl } from \"../../utils/constants\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport {\r\n AGetClientDetailsByPan,\r\n AGetPanUtiData,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { pan } from \"../../utils/regex\";\r\n\r\nexport interface StatusContinueProps {}\r\n\r\nconst StatusContinue: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n // const [isUploadDocumentsCompleted, setIsUploadDocumentsCompleted] = React.useState(false);\r\n let isUploadDocumentsCompleted = false;\r\n const history = useHistory();\r\n\r\n const handleContinue = async () => {\r\n // e.preventDefault();\r\n setIsLoading(true);\r\n const panFromLocalStorage = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n let panNum = GlobalStore.personaldetails.pan;\r\n\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n if (panNum !== \"\" && panNum !== undefined && isValidPan) {\r\n AGetPanUtiData(validatePAN, panNum);\r\n } else {\r\n alert(\r\n \"Please restart or check your status to continue with your Account Opening process as current session is expired.\"\r\n );\r\n history.push(containerUrl.registration);\r\n return;\r\n }\r\n };\r\n\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode(107);\r\n // // setErrCode(errorMessage.validatePAN);\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n // AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n setErrCode(res.error);\r\n console.log(res.errMsg);\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n GlobalStore.isSeeding = false;\r\n } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n }\r\n\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n\r\n //Dudupe Logic here//\r\n AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(118);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n // AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else if (res.data == null) {\r\n setErrCode(\"No records found\");\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n function checkPendingUpload(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n item.Mandatory == true\r\n );\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n }\r\n }\r\n setIsLoading(false);\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode(106);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n\r\n if (responseObj.isdigilockercompleted) GlobalStore.isDigiLocker = true;\r\n if (responseObj.iskra) GlobalStore.isKRA = true;\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n clientPartialDetails_ao.isKRA = GlobalStore.stageStatus.iskra;\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n //route according to stage api response\r\n if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted && responseObj.bpm_pd_status === 2) {\r\n history.push(statusUrl.documentReject);\r\n return;\r\n }\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n alert(\"Please restart/continue with your Account Opening process\");\r\n history.push(containerUrl.registration);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (responseObj.isesigncompleted && !responseObj.iskraesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=k\");\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 1) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"Welcome\"\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default StatusContinue;\r\n","import React, { useEffect } from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport StatusLayout from '../components/Status/Layout/Layout';\r\nimport WelcomeBack from '../components/Registration/WelcomeBack/WelcomeBack';\r\nimport MailVerified from '../components/Registration/MailVerified/MailVerified';\r\nimport NRI from '../components/Registration/NRI/NRI';\r\nimport OTP from '../components/Registration/OTP/OTP';\r\nimport AccExists from '../components/Registration/AccExists/AccExists';\r\nimport PANInfo from '../components/Registration/PANInfo/PANInfo';\r\nimport Error from '../components/UI/ErrorScreen/ErrorScreen';\r\nimport ShareAdd from '../components/Registration/ShareAdd/ShareAdd';\r\nimport CheckStatusHome from '../components/Status/CheckStatus/CheckStatusHome';\r\nimport AccountNotFound from '../components/Status/AccountNotFound/AccountNotFound';\r\nimport StatusVerified from '../components/Status/StatusVerified/StatusVerified';\r\nimport DocsVerificationInProgress from '../components/Status/DocsVerificationInProgress/DocsVerificationInProgress';\r\nimport DocumentReject from '../components/Status/DocumentReject/DocumentReject';\r\nimport { statusUrl } from '../components/utils/constants';\r\nimport StatusContinue from '../components/Status/StatusContinue/StatusContinue';\r\n\r\nconst StatusRoutes = () => {\r\n return (\r\n <>\r\n \r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusRoutes;\r\n","import React from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport {\r\n ACreateLead,\r\n ACreateLeadSource,\r\n ASearchLeadByName,\r\n AWhatsappNotify,\r\n} from \"../Services/registration/registrationApiService\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport { assignedTo, containerUrl, productCode } from \"../utils/constants\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport \"./Marketing.scss\";\r\n\r\nconst Marketing = () => {\r\n const queryParams = useQuery();\r\n let utm_source = \"\";\r\n let utm_medium = \"\";\r\n let utm_campaign = \"\";\r\n\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n });\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isComplete, setIsComplete] = React.useState(false);\r\n const [improperData, setImproperData] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n utm_source = queryParams.get(\"utm_source\") || \"\";\r\n utm_medium = queryParams.get(\"utm_medium\") || \"\";\r\n utm_campaign = queryParams.get(\"utm_campaign\") || \"\";\r\n const utm_term = queryParams.get(\"utm_term\") || \"\";\r\n const utm_creative = queryParams.get(\"utm_creative\") || \"\";\r\n const utm_adgroup = queryParams.get(\"utm_adgroup\") || \"\";\r\n const utm_placement = queryParams.get(\"utm_placement\") || \"\";\r\n const utm_device = queryParams.get(\"utm_device\") || \"\";\r\n const utm_content = queryParams.get(\"utm_content\") || \"\";\r\n const firstname = queryParams.get(\"fname\") || \"\";\r\n const lastName = queryParams.get(\"lname\") || \"\";\r\n const email = queryParams.get(\"email\") || \"\";\r\n const mobile = queryParams.get(\"mobile\") || \"\";\r\n const city = queryParams.get(\"city\") || \"\";\r\n const utmParams = {\r\n utm_source,\r\n utm_medium,\r\n utm_campaign,\r\n utm_term,\r\n utm_creative,\r\n utm_adgroup,\r\n utm_placement,\r\n utm_device,\r\n utm_content,\r\n };\r\n\r\n if (utm_source && utm_source.toUpperCase() === \"LEADFORDSA\")\r\n GlobalStore.leadForDsa = true;\r\n setUTMParams(utmParams);\r\n // init();\r\n\r\n if (\r\n firstname !== \"\" &&\r\n lastName !== \"\" &&\r\n email !== \"\" &&\r\n mobile !== \"\" &&\r\n city !== \"\"\r\n ) {\r\n setValues({ firstname, lastName, email, mobile, city });\r\n } else {\r\n setImproperData(true);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (Object.values(values).every((value) => value !== \"\")) {\r\n handleSubmit();\r\n }\r\n }, [values]);\r\n\r\n // New Start\r\n\r\n const setUTMParams = (queryObject: any) => {\r\n if (Object.keys(queryObject).length > 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n } else {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (!utmObj && Object.keys(utmObj).length === 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify(objUTM_Info)\r\n );\r\n }\r\n }\r\n };\r\n\r\n // New End\r\n\r\n function handleSubmit() {\r\n if (Object.values(values).every((value) => value)) {\r\n GlobalStore.user = {\r\n firstname: values.firstname,\r\n lastName: values.lastName,\r\n email: values.email,\r\n mobile: values.mobile,\r\n city: values.city,\r\n // rmCode: rmCode\r\n };\r\n if (whatsappMsgSuccess) {\r\n searchLeadByName();\r\n } else {\r\n const msgReq = {\r\n type: \"optin\",\r\n recipients: [\r\n {\r\n recipient: values.mobile,\r\n source: \"edel-web\",\r\n user_agent: navigator.appName,\r\n },\r\n ],\r\n };\r\n AWhatsappNotify(whatsappNotify, msgReq);\r\n }\r\n }\r\n }\r\n\r\n function whatsappNotify(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('101 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n setErrCode(res.error);\r\n setWhatsappMsgSuccess(false);\r\n } else {\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n }\r\n }\r\n\r\n function searchLeadByName() {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n ASearchLeadByName(searchedLead, viewLeadObj);\r\n }\r\n\r\n function searchedLead(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"\");\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n if (responseObj?.leadList[0]?.ApplicationId?.slice(0, 2) != \"80\") {\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n // rmCode: rmCode,\r\n // sourceId: 0,\r\n // subSourceId: '1',\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n setIsComplete(true);\r\n } else {\r\n createLead();\r\n }\r\n } else {\r\n createLead();\r\n }\r\n }\r\n }\r\n }\r\n\r\n function createLead() {\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n let createLead = {\r\n assignedTo: assignedTo,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n // rmCode: rmCode,\r\n // sourceId: 0,\r\n // subSourceId: '1',\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n ACreateLeadSource((res: any) => leadCreated(res, createLead), createLead);\r\n }\r\n\r\n function leadCreated(res: any, leadObj: any) {\r\n if (!res) {\r\n // setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage.CLICK_ON_PROCEED,\r\n InitiationPlatform: \"\",\r\n utm_source,\r\n utm_medium,\r\n utm_campaign,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n let responseObj = JSON.parse(res.data);\r\n if (responseObj && responseObj.LeadId) {\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.createLeadDudupeParam = leadObj;\r\n setErrCode(\"\");\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n setIsComplete(true);\r\n } else {\r\n setErrCode(\"Technical Issue\");\r\n }\r\n } else {\r\n setErrCode(\"104 - Error in generating new Lead.\");\r\n setErrCode(errorMessage.leadCreated);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {isComplete && }\r\n {!improperData && !errCode && }\r\n {improperData && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n );\r\n};\r\n\r\nexport default Marketing;\r\n","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport Marketing from '../components/Marketing/Marketing';\r\n\r\nconst MarketingRoute = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default MarketingRoute;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nimport regbanner from \"../../assets/icons/regBanner.jpeg\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { initialDocObj } from \"../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport { saveDocumentObj } from \"../Registration/PANInfo/PANInfo\";\r\nimport { AUploadDocument } from \"../Services/dashboard/brokerageServices\";\r\nimport {\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n ASaveDocumentDetails,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { ASaveIPVerificationDetails } from \"../Services/dashboard/ipvApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport { AGetClientDetailsByPan } from \"../Services/registration/panDobApiService\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport { DocDetailFormat } from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport { geoLocationConfig } from \"../utils/constants\";\r\nimport useGeoLocation from \"../../customHooks/useGeoLocation\";\r\nimport InfoModal from \"../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\n\r\nimport \"./Selfie.scss\";\r\nimport { utmDurationInfoObj } from \"../Services/globalService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nconst Selfie = () => {\r\n const queryParams = useQuery();\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n const [hasPhoto, setHasPhoto] = useState(false);\r\n const [photoObj, setPhotoObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [showRetake, setShowRetake] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [eSignCompleted, setESignCompleted] = useState(false);\r\n const [streams, setStreams] = useState();\r\n const [lat, setLat] = useState(\"\");\r\n const [long, setLong] = useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n\r\n const videoRef = useRef(null);\r\n const canvasRef = useRef(null);\r\n\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: true,\r\n checkLocation: true,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n let watchPositionId: number;\r\n\r\n let base64String: string;\r\n let saveDetails: saveDocumentObj[] = [];\r\n\r\n useEffect(() => {\r\n console.log(\"Use effect called\");\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n\r\n canvasRef.current!.hidden = true;\r\n if (id) {\r\n const pan = atob(id);\r\n console.log(pan);\r\n AGetClientDetailsByPan(searchByPan, pan);\r\n }\r\n // intiateCamera();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n setIsLoading(true);\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission]);\r\n React.useEffect(() => {\r\n // initiateCamera();\r\n if (lat && long) {\r\n const locationObj = {\r\n lat: lat,\r\n lng: long,\r\n };\r\n ACheckLocation((res: any) => checkLocationRes(res), locationObj);\r\n }\r\n }, [lat, long]);\r\n const checkLocationRes = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n setErrCode(res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here\");\r\n setLat(`${geoLoc.coordinates.lat}`);\r\n setLong(`${geoLoc.coordinates.lng}`);\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(setLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n } else {\r\n alert(\"Geo location is not supported by this browser\");\r\n }\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n }\r\n };\r\n\r\n function successPosition(data: any) {\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setLat(data.coords.latitude);\r\n setLong(data.coords.longitude);\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n }\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n\r\n function errorLocation(err: any) {\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation();\r\n }\r\n\r\n const setLocation = (position: { coords: any }) => {\r\n console.log(position.coords);\r\n setLat(position.coords.latitude);\r\n setLong(position.coords.longitude);\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n };\r\n\r\n function saveIPVerification(data: any, uploadObj: saveDocumentObj,res:any) {\r\n \r\n let latitude = lat;\r\n let longitude = long;\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd.\",\r\n organizationCode: \"2\",\r\n // geo_location: `${latitude}, ${longitude}`,\r\n latitude: latitude,\r\n longitude: longitude,\r\n ipaddress: \"192.168.200.80\",\r\n };\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n \r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response,uploadObj,res), ipvObj);\r\n }\r\n\r\n const iPVerificationSaved = (res: any, uploadObj: saveDocumentObj,prevres:any) => {\r\n \r\n if (!res || res.error) {\r\n \r\n // setErrCode(\"Error in saving geo-location details\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR146\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n \r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR146-S\",\r\n });\r\n\r\n uploadObj.fileName = prevres.data.Guid;\r\n saveDetails.push(uploadObj);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n\r\n ASaveDocumentDetails(() => documentDetailsSaved(res), saveObj);\r\n }\r\n };\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR148\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(true);\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n getLocation();\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n }\r\n } else {\r\n setErrCode(\"1182 - Error in fetching Client details from our system.\");\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR148-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n // setErrCode('1061 - Error in fetching stage completion details.');\r\n // setErrCode(errorMessage.getClientStageDetails);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR147\",\r\n });\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj.isesigncompleted) {\r\n console.log(\"Esign Completed\");\r\n setESignCompleted(true);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR147-S\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n const intiateCamera = async () => {\r\n canvasRef.current!.hidden = true;\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n try {\r\n const userMedia = await navigator.mediaDevices.getUserMedia(constraints);\r\n const video = videoRef.current;\r\n if (video) {\r\n video.srcObject = userMedia;\r\n await video.play();\r\n setStreams(userMedia);\r\n }\r\n } catch (err) {\r\n alert(err);\r\n }\r\n setShowRetake(true);\r\n };\r\n\r\n const takePhoto = async () => {\r\n canvasRef.current!.hidden = false;\r\n\r\n let video = videoRef.current;\r\n let canvas = canvasRef.current;\r\n\r\n if (canvas && video) {\r\n // console.log('If canvas');\r\n const width = video.videoWidth;\r\n const height = video.videoHeight;\r\n canvas.width = width;\r\n canvas.height = height;\r\n let ctx = canvas.getContext(\"2d\");\r\n\r\n videoRef.current!.hidden = true;\r\n ctx?.drawImage(video, 0, 0, width, height);\r\n\r\n canvas.toBlob((blob) => storePhoto(blob));\r\n\r\n closePhoto();\r\n }\r\n setHasPhoto(true);\r\n };\r\n\r\n const closePhoto = () => {\r\n streams?.getTracks().forEach((track: { stop(): any }) => {\r\n track.stop();\r\n });\r\n };\r\n\r\n const storePhoto = (blob: Blob | null) => {\r\n const new_File = new File([blob as BlobPart], \"personalPhoto.jpeg\", {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size < 1000) {\r\n alert(\"video size should be greater than 1KB. Please upload it again\");\r\n return false;\r\n }\r\n\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(new_File);\r\n fileReader.onload = function (event) {\r\n const base64 = (event.target && event.target.result)?.toString();\r\n base64String = base64!.split(\",\")[1];\r\n photoObj.base64 = base64String;\r\n // console.log(base64String);\r\n setIsLoading(true);\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n base64String,\r\n GlobalStore.leadId\r\n );\r\n };\r\n };\r\n const getExtractPhotoLiveness = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n setErrCode(res.error);\r\n setPhotoErrorMsg(\"\");\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n gtmService({ action: \"checkPhotoLiveness\", label: \"ERROR || ERR998\" });\r\n } else {\r\n if (res.data && res.data.IsLive) {\r\n setPhotoErrorMsg(res.data.Message);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: false,\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n setPhotoErrorMsg(res.data.Message);\r\n // if (errCode !== res.data.Message) {\r\n // setErrCode(res.data.Message);\r\n // }\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const uploadSelfie = () => {\r\n \r\n if (photoObj.base64 !== \"\" || photoObj.base64 !== undefined) {\r\n photoObj.id = \"photo\";\r\n photoObj.disable = false;\r\n photoObj.uploadPer = 100;\r\n photoObj.fileName = `${GlobalStore.applicationID}_Photo`;\r\n photoObj.showFile = false;\r\n photoObj.hideProgress = false;\r\n photoObj.mimeType = \"image/jpeg\";\r\n photoObj.documentId = 2;\r\n setPhotoObj(photoObj);\r\n const savePhotoObj: saveDocumentObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n fileName:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: false,\r\n mimeType: photoObj.mimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n const selfie = true;\r\n const photoUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: photoObj.base64,\r\n filename:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n };\r\n\r\n AUploadDocument(\r\n (res: any) => getUploadResponse(res, savePhotoObj),\r\n photoUploadObj\r\n );\r\n } else {\r\n setErrCode(\"Error in uploading the file...\");\r\n }\r\n };\r\n\r\n const getUploadResponse = (res: any, uploadObj: saveDocumentObj) => {\r\n saveDetails = [];\r\n if (!res || res.error) {\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n saveIPVerification({ coords: {} },uploadObj,res);\r\n // uploadObj.fileName = res.data.Guid;\r\n // saveDetails.push(uploadObj);\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // };\r\n\r\n // ASaveDocumentDetails(() => documentDetailsSaved(res), saveObj);\r\n } else {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR144-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const documentDetailsSaved = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR145\",\r\n });\r\n setIsLoading(false);\r\n saveDetails = [];\r\n } else if (res) {\r\n saveDetails = [];\r\n alert(\r\n \"Selfie captured successfully, please close this browser window and continue with your Account Opening process\"\r\n );\r\n } else {\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR145-S\",\r\n });\r\n }\r\n };\r\n async function turnOnCamera() {\r\n getLocation();\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n console.log(stream, \"then\");\r\n handleSuccess(stream);\r\n })\r\n .catch((stream) => {\r\n console.log(stream, \"catch\");\r\n handleError(stream);\r\n });\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \"banner\"\r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {!hasPhoto &&
}\r\n {!hasPhoto &&
}\r\n {!showBrowserPermissionModal && (\r\n
\r\n {\" \"}\r\n {!showRetake ? (\r\n
\r\n \r\n Ready?\r\n \r\n
\r\n ) : hasPhoto ? (\r\n
\r\n {\r\n videoRef.current!.hidden = false;\r\n setHasPhoto(false);\r\n intiateCamera();\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}{\" \"}\r\n
\r\n )}\r\n
\r\n {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, please wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n {/* Error Msg Start*/}\r\n\r\n {/* Photo Error Msg Start*/}\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Photo Error Msg End*/}\r\n\r\n {/* {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )} */}\r\n {/* Error Msg End*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Selfie;\r\n","import React from 'react';\r\nimport regbanner from '../../assets/icons/regBanner.jpeg';\r\nimport DeviceContext from '../Services/identifyDevice';\r\nimport { clientPartialDetailsToStore } from '../Services/globalService';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport './SmsLinksLayout.scss';\r\n\r\nexport interface SmsLinksLayoutProps {}\r\n\r\nconst SmsLinksLayout: React.FC = (props) => {\r\n clientPartialDetailsToStore();\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n\r\n return (\r\n
\r\n
\r\n \"banner\"\r\n
\r\n
\r\n
{props.children}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SmsLinksLayout;\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport Selfie from '../components/Selfie/Selfie';\r\nimport { containerUrl, dashboardUrl } from '../components/utils/constants';\r\nimport RegLayout from '../components/Registration/Layout/Layout';\r\nimport VideoVerification from '../components/VideoVerification/VideoVerification';\r\nimport SmsLinksLayout from '../components/SmsLinksLayout/SmsLinksLayout';\r\n\r\nconst SmsRoutes = () => (\r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n);\r\n\r\nexport default SmsRoutes;\r\n","import React, { useEffect } from \"react\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport RegistrationRoutes from \"./containers/RegistrationRoutes\";\r\nimport DashboardRoutes from \"./containers/DashboardRoutes\";\r\nimport SubmissionRoutes from \"./containers/SubmissionRoutes\";\r\nimport StatusRoutes from \"./containers/StatusRoutes\";\r\nimport \"./assets/icons/edel_icons/style.scss\";\r\nimport \"./assets/scss/variables/fontFamily.scss\";\r\nimport \"./assets/scss/variables/ffVar.scss\";\r\nimport \"./App.scss\";\r\nimport ChatText from \"./components/UI/ChatText/ChatText\";\r\nimport Downtime from \"./components/UI/Downtime/Downtime\";\r\nimport Backdrop from \"./components/UI/Backdrop/Backdrop\";\r\nimport MarketingRoute from \"./containers/MarketingRoute\";\r\nimport config from \"./config/domain\";\r\nimport SmsRoutes from \"./containers/SmsRoutes\";\r\nimport { GetErrorBank } from \"./components/Services/dashboard/errorBankServices\";\r\nimport GlobalStore from \"./components/store/globalStore\";\r\nimport DeviceContext from \"./components/Services/identifyDevice\";\r\n\r\nconst ReactZenDeskChat = require(\"@inlightmedia/react-zendesk-chat\").default;\r\n\r\ndeclare global {\r\n interface Window {\r\n ymConfig?: any;\r\n YellowMessenger?: any;\r\n }\r\n}\r\n\r\nfunction App() {\r\n useEffect(() => {\r\n GetErrorBank(getErrorMsg);\r\n (window as any).clevertap.account.push({ id: config.cleverTapId });\r\n (window as any).clevertap.privacy.push({ optOut: false }); //set the flag to true, if the user of the device opts out of sharing their data\r\n (window as any).clevertap.privacy.push({ useIP: false }); //set the flag to true, if the user agrees to share their IP data\r\n (function () {\r\n var wzrk = document.createElement(\"script\");\r\n wzrk.type = \"text/javascript\";\r\n wzrk.async = true;\r\n wzrk.src = \"lib/clevertap.js\";\r\n var s = document.getElementsByTagName(\"script\")[0];\r\n (s as any).parentNode.insertBefore(wzrk, s);\r\n })();\r\n\r\n (window as any).clevertap.notifications.push({\r\n titleText: \"Would you like to receive Push Notifications?\",\r\n bodyText:\r\n \"We promise to only send you relevant content and give you updates on your transactions\",\r\n okButtonText: \"Sign me up!\",\r\n rejectButtonText: \"No thanks\",\r\n okButtonColor: \"#f28046\",\r\n askAgainTimeInSeconds: 172800,\r\n serviceWorkerPath: \"/serviceworker.js\",\r\n });\r\n }, []);\r\n function getErrorMsg(res: any) {\r\n if (res.data && res.data.length > 0) {\r\n GlobalStore.fieldErrorBank = res.data;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.async = true;\r\n script.src =\r\n \"https://cdn.yellowmessenger.com/plugin/widget-v2/latest/dist/main.min.js\";\r\n document.getElementsByTagName(\"head\")[0].appendChild(script);\r\n\r\n window.ymConfig = {\r\n bot: \"x1648725853798\",\r\n host: \"https://cloud.yellow.ai\",\r\n payload: {},\r\n };\r\n window.YellowMessenger?.update?.(window.ymConfig);\r\n\r\n return () => {\r\n document.getElementsByTagName(\"head\")[0].removeChild(script);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n {/* */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{DeviceContext().isMobile ? \"\" : \"\"}
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const GetErrorBank = (\r\n callback: CallableFunction,\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/Errormessages\",\r\n body: {\r\n ErrorCode: null,\r\n ProductId: \"1\",\r\n SourceId: \"1\",\r\n Type: \"C\",\r\n Datasource: \"FE\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getIPVOTP,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ivp-otp\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}