{"version":3,"sources":["assets/icons/watsapp.png","assets/icons/arrow_point.png","assets/icons/regBanner.jpeg","assets/icons/esignBanner.jpeg","assets/icons/finalTick.svg","assets/Line 9.svg","assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg","assets/icons/down.svg","assets/icons/welcomeBack.jpg","assets/icons/panDob.svg","assets/right-signature-sample.jpg","assets/wrong-signature-one.jpg","assets/wrong-signature-two-new.jpg","assets/wrong-signature-three.jpg","assets/PhotographSample/correctPhoto.jpg","assets/PhotographSample/hat-covered.svg","assets/PhotographSample/sunglass-covered.svg","assets/PhotographSample/shadow-covered.svg","assets/docSampleImages/combineAadharSample.jpg","assets/docSampleImages/Aadhar-Front-Sample.jpg","assets/docSampleImages/Aadhar-Back-Sample.jpg","assets/docSampleImages/DL FRONT.jpg","assets/docSampleImages/DL BACK.jpg","assets/docSampleImages/VoterID FRONT.jpg","assets/docSampleImages/Voter ID back.jpg","assets/docSampleImages/Passport Front.jpg","assets/docSampleImages/Passport Back.jpg","assets/icons/blueTick.svg","assets/icons/profileNavLogo.svg","assets/icons/esignNavLogo.svg","assets/icons/esignNavLogoNew.svg","assets/icons/pdf.png","assets/icons/bankNavLogo.svg","assets/icons/planNavLogo.svg","assets/icons/docNavLogo.svg","assets/icons/ipvNavLogo.svg","assets/icons/investNavLogo.svg","assets/icons/profileNavLogoNew.svg","assets/icons/bankNavLogoNew.svg","assets/icons/planNavLogoNew.svg","assets/icons/docNavLogoNew.svg","assets/icons/investNavLogoNew.svg","assets/icons/dematAccount.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/call.png","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/SMTF.pdf","assets/pdf/NWIL-Booklet-A5-Nov 2022.pdf","assets/pdf/Disclaimer_DIY.pdf","assets/correct-IPV.svg","assets/wrong-ipv-one.svg","assets/wrong-ipv-two.svg","assets/wrong-ipv-three.svg","assets/icons/foldUploadIcon.jpg","assets/icons/ocvCalenderNew.jpg","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/TextArea/TextArea.tsx","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/Services/registration/digiLockerApiService.ts","components/Registration/ShareAdd/ShareAdd.tsx","components/UI/Calender/Calender.tsx","components/Services/registration/continueApiService.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/encryptionNew.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/Registration/RegistrationForm/RegistrationForm.tsx","components/Registration/Layout/Layout.tsx","components/UI/InputWithLabel/InputWithLabel.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/Selfie/NewSelfie.tsx","components/utils/eSignSubmitHandler.ts","components/DocumentVerification/DocVerificationForm/ViewSignatureSamplePopup.tsx","components/BottomPanel/BottomPanel.tsx","components/DocumentVerification/DocVerificationForm/ViewSignatureSamplePopupMobileView.tsx","components/DocumentVerification/DocVerificationForm/ViewPhotoSamplePopup.tsx","components/DocumentVerification/DocVerificationForm/ViewPhotoSampleMobileView.tsx","components/Registration/SampleFolderPopups/SampleAadharPopup.tsx","components/Registration/SampleFolderPopups/SampleDrivingLicense.tsx","components/Registration/SampleFolderPopups/SampleVoterIdPopup.tsx","components/Registration/SampleFolderPopups/SamplePassportPopup.tsx","components/Registration/SampleFolderPopups/SampleAadharPopupMobileView.tsx","components/Registration/SampleFolderPopups/SampleDLMobile.tsx","components/Registration/SampleFolderPopups/SampleVoterIDMobile.tsx","components/Registration/SampleFolderPopups/SamplePassportMobile.tsx","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","components/UI/ChatText/ChatText.tsx","components/InstantHelp/InstantHelp.tsx","components/Registration/AccountType/AccountTypeNew.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/UI/Loader/PennyDropLoader.tsx","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","components/DematSelection/DematSelectionForm.tsx","components/DematSelection/DematSelection.tsx","components/ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm.tsx","components/POA/Poa.tsx","components/KRAAuthenticate/KRAAuthenticateForm.tsx","components/KRAAuthenticate/KraAuthenticateHome.tsx","containers/DashboardRoutes.tsx","components/UI/ExitScreen/ExitScreen.tsx","components/SubmitAO/SubmitAO.tsx","components/Status/Layout/Layout.tsx","components/ESign/NewEsign/EsignNewForm.tsx","components/ESign/NewEsign/EsignMainPage.tsx","components/EsignSubmit/EsignSubmit.tsx","components/KYCSubmit/KYCSubmit.tsx","containers/SubmissionRoutes.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","props","className","headerLogoClassName","src","logo","alt","initialIListObj","value","display","emailVerificationBody","days","dashboardUrl","personalIfo","profile","bank","plan","profiler","doc","ipv","menu","eSign","demat","authenticate","geoLocationConfig","ipvNavBarObj","name","time","isComplete","navUrl","priority","percentWeight","ipvNavLogo","isRequired","dematNavBarObj","dematAccount","authenticateNavBarObj","esignNavLogo","logoNew","esignNavLogoNew","leftNavBarArray","profileNavLogo","profileNavLogoNew","bankNavLogo","bankNavLogoNew","planNavLogo","planNavLogoNew","investNavLogo","investNavLogoNew","docNavLogo","docNavLogoNew","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","forbiddenWordsRegex","nomineeEnglishRegularLanguage","nomineeAddressRestrictedExp","InputField","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","handleBlur","type","id","autoComplete","disabled","inputPattern","onKeyPress","cancelSuffix","onClick","suffix","hiddenText","helpText","helpTextColor","DropdownSearch","findFromList","list","lookFor","matchedOption","filter","val","searchKey","toLowerCase","searchLength","state","setState","isShowSuggestions","selectedObj","setTimeout","onOptionSelect","item","handleClick","event","autoSelectOff","hideSuggestion","select","scrollIntoView","behavior","block","options","indexOf","index","findIndex","includes","nextSibling","scrollTo","prevProps","console","log","this","matchedItem","nextProps","prevState","ddCount","noData","noDataMsg","suggestions","skipSearching","i","map","sort","a","b","showSuggestions","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","_","TransparentButton","isWhatsapp","isUpload","isLoading","isTick","btnName","SubmitButton","Verify","LightBlueButton","clicked","Button","isSecondary","isLightBlue","parentClassName","InfoModal","width","DeviceContext","isMobile","document","body","offsetWidth","isTablet","isDesktop","config","root","aopNewApiUrl","diyNewApiUrl","piChainNewApiUrl","tempToken","diyApiUrl","apiUrl","javaComUrl","whatsappBearerToken","clientQuesttionSourceId","ClientProfilingDataSourseId","clientId","redirectUri","cleverTapId","apiKey","digiLockerSource","pricingPage","publicKey","secretKey","hideInvestment","errorMessage","servicesList","getCities","getEnumList","getEmployeeDetailsByPan","getPanUtiDetails","getDocumentDetails","QcTaskCreation","getArea","getFullAddress","getRelationshipData","getKYCDetails","saveKYCDetails","getStageCompletionStatus","updateStageStatus","getCacheData","checkClientProfilingData","getClientProfilingQuestion","saveClientProfilingQuestion","getClientProfilingDetails","getOCRDocumentResponseData","getDistinctBankList","getBankCities","getBankBranch","getBankDetailsFromIfsc","getBankDetails","saveBankDetails","getExtractDocumentData","uploadDocumentToS3","saveDocumentDetails","saveRelationshipDetails","getOtp","getOtpNew","validateOtp","validateOtpNew","getBrokerage","getBrokerageDetails","saveBrokerageDetails","getBrokerageSegmentDetails","saveBrokerageSegmentDetails","getBeneficiaryName","downloadDocumentFromS3","getClientDetailsByPan","knowYourStatus","getClientDataByPanOrLead","checkPanInSystem","panLinkedWithAadhar","saveIpverificationDetails","saveUploadedDocumentDetails","margeMultipleImagestoPDF","getPichainBeneficiaryName","getCKYCDetails","savePanDobDetails","getKraDetails","redisDigilockerDoc","getEmployeeDetails","searchLeadByName","createLead","fetchLeadInfo","emailUpdate","uploadIPVMerge","imagetoVideoIpv","generateAccessTokenForDigilockerJavaMW","getDocListFromDigilocker","getSelectedDocument","selfieLink","getEsignLink","getEsignRMVerificationLink","getRMAssitedEsignLink","updateUtmInfo","getAccountcodeData","createApplicationTicket","whatsUpAppInitiateCommunication","whatsUpAppConsent","generateKYCPdf","getIPVOTP","ErrorBank","getDocumentAutoQcDetails","saveAddressDetails","getCityByPincode","verifyDocumentData","getAddressDetails","saveArea","checkPhotoLiveness","checkLocation","updatePanAddharLinkStatus","createUCCRegCode","CheckRAAccount","APanVerification","SaveDematDetailsRes","DPverification","getDPdetails","errorMapper","error","errMsg","ErrorMessage","errorCodeMapper","ErrorCode","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","updateStatusMapping","Data","getCacheDataMapping","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","getOtpNewMapping","validateOtpMapping","validateOtpNewMapping","getClientDetailsByPanMapping","getClientDataByPanOrLeadMapping","checkPanInSystemMapping","panLinkedWithAadharMapping","saveIpverificationDetailsMapping","saveUploadedDocumentDetailsMapping","margeMultipleImagestoPDFMapping","getPichainBeneficiaryNameMapping","getCKYCDetailsMapping","savePanDobDetailsMapping","getKraDetailsMapping","redisDigilockerDocMapping","getEmployeeDetailsMapping","existedFieldDetails","mob","find","x","Field","email","searchLeadByNameMapping","createLeadMapping","fetchLeadInformation","emailUpdateResponse","uploadIPVMergeMapping","imagetoVideoIpvMapping","generateAccessTokenForDigilockerJavaMWMapping","getDocListFromDigilockerMapping","getSelectedDocumentMapping","selfieLinkMapping","Message","StatusMsg","getEsignLinkMapping","getEsignRMVerificationLinkMapping","getRMAssitedEsignLinkMapping","updateUtmInfoMapping","getAccountcodeDataMapping","createApplicationTicketMapping","whatsUpAppInitiateCommunicationMapping","whatsUpAppConsentMapping","generateKYCPdfMapping","getIPVOTPMapping","ProductId","DataSource","getDocumentAutoQcDetailsMapping","saveAddressDetailsMapping","getCityByPincodeMapping","verifyDocumentDataMapping","getAddressDetailsMapping","saveAreaMapping","checkPhotoLivenessMapping","checkLocationMapping","updatePanAddharLinkStatusMapping","createUCCRegCodeMapping","checkRARelationShipMapper","panVerificationMapper","saveDematDetailsMapping","saveDpVerificationMapping","getDPDetailsInfo","knowYourStatusMapping","QCTaskCreationMapping","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","AGetRelationshipData","applicationid","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","AGetOtpNew","contactInfo","mode","AValidateMobileOtp","mobNo","MobNo","Otp","AValidateOtpNew","otpId","ASearchLeadByName","leadObj","AssignedTo","assignedTo","FirstName","firstName","LastName","lastName","EmailId","emailId","ProductCode","productCode","SearchBy","source","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","ALeadFetchApi","stageFlag","CreateUCCRegCode","TextArea","MultiSelectCheckBox","updatedList","checkbox","OptionDescription","QuestionID","OptionId","Checkbox","addressErrorObj","addressLine1","addressErrorMsg","AddressField","addressObj","setAddressObj","setAreaList","validPincode","setValidPincode","errors","setErrors","handleChangeAddress","setErrCode","PinCode","onAddressChange","onAddressBlur","forNomineeAddress","obj","District","Country","StateCode","CountryCode","sectionLabel","showSameAsAbove","sameAsAbove","addressType","handleSameAsAbove","isDisable","handleBlurAddress","NriDetail","nriDetailsObj","onChangeNriDetails","country","countryList","idType","idTypeOther","idTypeValue","initialNriDetail","NriDetailForm","ProfileImage","backgroundColor","AGetDocListFromDigilocker","digilockerObj","access_token","domain","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","adhar","items","push","isDigiLocker","signzydt","clientPartialDetailsToStore","sessionStorage","queryObject","Object","fromEntries","URLSearchParams","search","accessTokenObj","reDirectUrl","client_Id","Code","ReDirectUrl","ClientId","AccessToken","AGenerateAccessToken","responseObj","digiDocInfo","eaadhaar","getAccessToken","signzy_access_token","current","shareAdd","ref","isKRA","isNormalClient","aadharLinkedChoice","leftNavBarState","adharArr","uri","adharNo","utmObj","aadharNo","fileUri","filename","applicationId","applicationID","clientPrimaryDetailId","leadId","panno","Token","dataObj","FileUri","FileName","ClientPrimaryDetailId","LeadId","PanNo","AadharNo","utmInfoDetails","AGetStageCompletionStatus","esigndocumenttype","AUpdateStageCompletionStatus","reaObj","accountCagtegory","stageOrderId","UserId","rmassisted","AGetCacheData","AGetEmployeeByPan","panNo","AGetPanUtiData","panDetails","Firstname","panfirstname","Middlename","panmiddletname","Lastname","panlastname","PANIssueDate","AadharSeedingStatus","VendorName","IsValid","IsAadharSeeded","AGetClientDetailsByPan","accountType","userId","PanNumber","RequestFrom","accountCategory","AGetKraDetails","reqObj","Dob","dbo","CreatedBy","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","disable","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","decryptJwtToken","encryptedToken","CryptoJS","enc","Utf8","iv","DES","decrypt","decodeURIComponent","keySize","CBC","padding","pad","Pkcs7","sortDocumentInfo","documents","sortedDocuments","docObj","fileName","DocumentId","documentId","MimeType","mimeType","PersonalDetailsId","personaldetailsid","DocumentCategoryId","documentCategoryId","DocumentExpiryDate","documentexpirydate","IsFileCropped","isfilecropped","IsWatsappFlag","isWatsappFlag","DocumentNumber","documentNumber","AutoQc","autoqc","IsKycDocument","iskycdocument","AutoQcWithDocumentId","AUploadDocument","uploadObj","saveObj","docReqPayLoad","Base64Document","base64document","DocumentInfo","documentInfo","createdBy","DocType","QltyByPassFlag","tokenObj","tokenMainObj","ASaveBrokerageDetails","AGetDocumentList","appID","AGetUploadedDocument","QCServiceTaskCreation","AGetPendingDocument","AGetDocStatus","ADownloadDocument","filePath","FilePath","ASaveDocumentDetails","AextractAadhaar","aadhaarObj","OCR","Base64Document1","Base64Document2","ActionName","DocumentType","Source","DocumentCategory","documentcategory","AextractPassport","passportObj","AextractVoterid","voterIdObj","AextractDl","dlObj","AgetPdf","pdfObj","UploadFlag","Images","Base64DocumentImage","image1","Imagename","imagename1","image2","imagename2","DropOffLogAPI","appTicketObj","rmAssisted","AmaskAadhaar","ACheckPhotoLiveness","ACheckLocation","locationObj","latitude","lat","longitude","lng","initialAddressObj","ckycAddressObj","corrAddress","sameAsPermanent","district","corrPincode","countrycode","statecode","nomineeIdentificationList","bankAccountType","initialDocObj","uploadPer","hideProgress","showFile","imgUrl","base64","ProfileForm","quryParams","UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","startTime","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","isGuardianMinor","setIsGuardiaMinor","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","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","SettlementError","setSettlementError","togSettlement","settogSettlement","self","spouse","dependentChild","dependentParents","familyRelationshipCount","setFamilyRelationshipCount","nomiDetailsOne","nomiDetailsTwo","nomiDetailThree","nomFullName","PANName","guardianDetails","guardFullName","identificationDetail","nomineeMatch","getKycDetails","fatherspousename","permAddLocal","corrsAddLocal","isManual","scroll","isKYC","panFromLocalStorage","panNum","checkIsPanEmployee","InitiationPlatform","KRA","ADHAR_LINKED_WITH_MOBILE","DIGILOCKER_PROCESS","LEAD_ID","getDocumentStatus","ContentType","convertEnumIntoIObj","responseDataObj","Flag","EmployeeCode","srNo","fathersName","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","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","getCorrAddress","mobNumber","sameAsPermanen","sameAsPerman","sendOtp","otpType","emlObj","MailTo","mailTo","MailFrom","mailFrom","MailSubject","mailSubject","AGetEmailOtp","otpSent","mailBody","mailSource","Success","AValidateEmailOtp","checkValidateOtp","onRelationChange","emailArr","mobileArr","bothArr","bothMatchedList","relationshipListFilter","updatedCount","onRelationBlur","dropDownBlur","saveRelationshipData","hasOwnProperty","saveRelationshipObj","clientprimarydetailid","empcode","EmpCode","ASaveRelationshipData","saveFamilyRelation","validateNominees","isValidate","nomRelationOther","values","some","guardRelationOther","onBlurPan","handleAddNomineeError","mobileDropDownList","emailDropDownList","removeFromMobileList","removeFromEmailList","Self","DependentParent","DependentChild","Spouse","mobileList","emailList","additionalDetailsOfGuardian","ckycBackup","additionalDetailsOfNominee","removeSpclCracters","sumOfPer","newLeadStorage","utmDurationInfoObj","fatherOrSpouseNames","splitFullName","motherNames","getFullPANNAMe","correspondanceAddressLine","permanentAddressLine","holderFirstname","stageStatus","holderMiddleName","holderLastName","clientPrimaryDetailID","isGuardian","isNominee","persoanlDetails","KraEmail","KraMobile","Kra_mode","aadhaar","aadhaarName","additionalEmail","additionalMobile","ckycNumber","createdby","fatherOrSpouseFirstname","fatherOrSpouseMiddleName","fatherOrSpouseLastName","fatherOrSpouseTitle","flagFS","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","isPCGSubLob","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","accountcategory","saveKycDetails","toCheckString","ele","completeModuleStatus","incompleteStageNavigation","handleAddNomineeValue","objNomineeDocs","imgOfAddlIdentDtls","signature","remainigPer","removeItem","handleAddNomineeGuardianValue","ChangePoliticalVal","Value","panFullName","capitalizeWords","onMouseOver","onMouseLeave","newErrors","localShow","showSectionOrHide","dpaccounttype","existingNominee","totalNomineeCount","existingNomineeCount","countForNeedToAddBlankNomine","existingNomineeDetails","nomineeEquaPerSharing","toFixed","nomineeSharePer","1","2","3","numOfNomineeRemove","pop","d","slice","Fragment","nomOtherRelation","identificationDetailValue","setFullYear","guardOtherRelation","nomineeAdd","handleSameAsAboveForGaurdian","guardidentificationDetail","guardIdentificationDetailValue","today","selectedDate","age","monthDifference","getMonth","getDate","guardianMinororMajor","first_esign_initiated","shouldDisable","validateSubmit","clientContinue","clientDetails","partner","isPANVerified","initialObj","isSeeding","kraAddressLine1","kraPincode","calculateCompletePercentage","stage","fullName","fullNameArr","fullNameArrLength","PANMiddleName","str","queryParameter","searchstring","parseQuery","queryString","reduce","acc","pair","objUTM_Info","elapsed","getTime","innerHeight","devicetype","setStageData","apiResponseObj","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","dpaccountchanged","ispcgsublob","dp_account_type","accounttype","isdpcompleted","redirectToEntryPoint","isSafariBrowser","HTMLElement","pushNotification","enumArr","resultArr","k","arr","DisplayItem","ValueItem","monthAge","dateAge","dobYear","dobMonth","dobDate","currentMonth","currentDate","yearAge","years","months","moduleArr","currentPage","returnUrl","filteredLeftNavBar","UCC_Code","isPartialFilledClient","leadForDsa","SaveKYCResponse","LeadIdMsg","createLeadDudupeParam","sessionId","dateofbirth","pennyDropCount","clientStageStatus","dashboardDefaultUrl","dashboardActivetUrl","dpid","clientid","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","RegistrationLayout","quryMainParams","skipUrl","isSubmit","setIsSubmit","isSubmissionRoute","getData","userid","queryobject","ApplicatoinId","AccountCategory","PAN","isEsign","getClientStageDetails","Applicationid","searchByLeadId","isPOA","queryObject2","atob","skipOption","Pan","Ac","uid","regOutNewClassName","InputWithLabel","RegistrationForm","UTM_TERM","showRmCode","setShowRmCode","localProductCode","setValues","setRmCode","showMobileMailBtn","setShowMobileMailBtn","whatsappMsgSuccess","beingAssistedCheckbox","setBeingAssistedCheckbox","rmCodeAssisted","setRmCodeAssisted","rmCodeAssistedName","setRmCodeAssistedName","multipleRMCodesFound","setMultipleRMCodesFound","utmCampaignCode","setUtmCampaignCode","sourceNames","setSourceNames","planAsPerSource","setPlanAsPerSource","rmCodeList","setRmCodeList","rmCodeListDisplay","setRmCodeListDisplay","isAssistedDataValid","setIsAssistedDataValid","showEmailOtp","disableEmailOtp","setDisableEmailOtp","invalidEmailOtp","setInvalidEmailOtp","emailOtpId","mobileOtpId","otpIds","setOtpIds","relationShipTagError","setRelationShipTagError","isVerified","setIsVerified","email_mobile_verificationCheckFlag","setEmail_mobile_verificationCheckFlag","skipCreateLead","setSkipCreateLead","setMobileVerifiedFE","setMailVerifiedFE","isButtonDisabled","setIsButtonDisabled","hideAreBeingSection","setHideAreBeingSection","allreadyExistMobOrEmail","setAllreadyExistMobOrEmail","checkRMCodeValue","UserName","username","checkEmployeesDetails","getProductCode","productCodeNew","objAccType","_employeedetail","rmCodeName","EmpName","Plan","rmList","rmcodeRecord","OTPId","mobileOtpSentNew","success","checkEmailValidateOtpNew","checkMobileValidateOtpNew","availableEmailTagSum","viewLeadObj","searchedLead","searchedLeadCheck","leadList","UCCCode","IsMobileVerified","IsEmailVerified","objUtm","createLeadObj","AssignTeam","checkRAAccountResp","IsRAExists","checkRAAccountPayloadObj","MobileNo","CreateNewUCC","leadCreated","respData","onload","btoa","sendEmailOtp","emailOtpResNew","keyEvent","preventDefault","currentRmCheckBoxStatus","handleRmCodeCheckBox","timeout","clearTimeout","debounce","rmCodeFound","every","navigator","appName","Registration","init","setUTMParams","refno","onlyDematParam","modeofapplication","referralcode","couponcode","stageinfo","signupdropout","registrationdur","clientip","diysource","match","path","accType","regbanner","APendingUploadList","APendingApprovalList","AGetEsignUrlDetails","AGetClientAccountCode","ACheckClientProfilingData","AGetClientProfilingQuestion","appId","NavBarTile","isActive","isClickable","onNavTileClick","compareValues","order","varA","parseFloat","varB","comparison","checkModuleCompleteness","isUploadDocumentsCompleted","dematAccountFound","addressAccountFoundLocal","intervalTimer","ProfileNavBar","urlPath","setUrlPath","setLeftNavBarState","pathname","filterNavIndexForProfiler","splice","filterNavIndex","filterNavIndex2","tile","sidebarOptions","WelcomeBack","setDematAccountFound","clientName","setClientName","addressRejctedFound","setAddressRejctedFound","setIsUploadDocumentsCompleted","getProfilerStatus","checkPendingUpload","Mandatory","listObjFound","listObj","count","clientFullName","m","convertDate","dateString","padStart","CacheFunction","callBackFunction","Result","IsTaggingPresent","cacheResponse","TaggingMode","kra_mode","AppPerAdd1","AppPerAdd2","AppPerAdd3","AppCorAdd1","AppCorAdd2","AppCorAdd3","AppPerPincd","AppCorPincd","FatherName","cacheKRAFunction","PermanentAddressDetails","PermanentAddressLine1","PermanentAddressLine2","PermanentAddressLine3","PermanentAddressLine4","CorrespondenceAddressDetails","CorrespondenceAddressLine1","CorrespondenceAddressLine2","CorrespondenceAddressLine3","CorrespondenceAddressLine4","PermanentPincode","CorrespondencePincode","KraCheckApi","uniqueID","kraDobCheckNew","AppErrorDesc","AppStatus","mobileno","emailid","toDate","startOf","record","auth_ver","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","previewImageexternalClassName","initialAspectRatio","preview","viewMode","guides","background","responsive","autoCropArea","checkOrientation","onInitialized","instance","getCroppedCanvas","toDataURL","iscropped","disableRemove","elem","file","files","extensions","docTypeArray","extensionTypes","errorMsgCode","FormData","append","reader","FileReader","images","readAsDataURL","accept","docType","pdfIcon","jpgIcon","prevIcon","cropIcon","mandateRemove","AGetIpvOtp","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","enableHighAccuracy","maximumAge","nomineeDocsIds","NewSelfie","setToken","sdkData","setSdkData","loading","setLoading","handleSDKData","handleGetTokenAndSDKInit","requestOptions","RefId","then","AinxtSDK","Initialize","onFailedToOpenSdk","catch","finally","script","createElement","async","head","appendChild","removeChild","is_valid","disabledClick","checkESignSubmitted","isESignSubmitted","getStateFromLs","disabledUploadForEsign","ViewSignatureSamplePopup","popupRefone","handleClickOutside","setShowPopup","addEventListener","removeEventListener","rightSignatureSample","wrongSignatureOne","wrongSignatureTwo","wrongSignatureThree","BottomPanel","isOpen","setIsOpen","handleOverlayClick","setShowSection","customComponent","ViewSignatureSamplePopupMobileView","ViewPhotoSamplePopup","popupRef","correctPhoto","hatCovered","sunGlass","shadow","ViewPhotoSampleMobileViewProps","SampleAadharPopup","readMore","setReadMore","popupRefTwo","combineAadhar","borderLine","AadharFront","AadharBack","SampleDrivingLicensePopup","popupRefThree","DLFront","DLBACK","SampleVoterIDPopup","popupRefFour","VoterIDFront","VoterIDBack","SamplePassportPopup","popupRefFive","SampleAadharMobileViewProps","SampleSDLMobileViewProps","SampleVoterIDMobileViewProps","SamplePassportMobileViewProps","initialPhotoDocObj","initialPanDocObj","DocVerifcationForm","watchPositionId","showPhotographBrowseOption","renderSamplePopups","setRenderSamplePopup","renderCorrSamplePopups","setRenderCorrSamplePopup","uploadDocFlag","setUploadDocFlag","uploadVaiWatsAppFlag","setUploadViaWatsAppFlag","togFirstBank","togSecondBank","togThirdBank","togFourthBank","togFifthBank","togPermAdd","togCorrAdd","togSig","togIncome","firstBankList","setFirstBankList","secondBankList","setSecondBankList","thirdBankList","setThirdBankList","fourthBankList","setFourthBankList","fifthBankList","setFifthBankList","permAddList","setPermAddList","corrAddList","setCorrAddList","secondDoc","setSecondDoc","corrSecondDoc","setCorrSecondDoc","pendingDocObj","setPendingDocObj","photoObj","setPhotoObj","panObj","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","showSignaturePopup","setShowSignaturePopup","showPhotoPopup","setShowPhotoPopup","showSignatureMobilePopup","setShowSignatureMobilePopup","showPhotoMobilePopup","setShowPhotoMobilePopup","setPhotoBase64","panBase64","setPanBase64","setBankStage","anotherFile","setAnotherFile","corrAnotherFile","setCorrAnotherFile","panName","setFirstBankName","setSecondBankName","setThirdBankName","setFourthBankName","setFifthBankName","setFirstBankDetails","secondBankDetails","setSecondBankDetails","thirdBankDetails","setThirdBankDetails","fourthBankDetails","setFourthBankDetails","fifthBankDetails","setFifthBankDetails","setAddressName","setCorrAddressName","setSignatureName","incomeName","setIncomeName","setIsPhotoPendingFlag","isNewPhoto","setIsNewPhoto","isNewPan","setIsNewPan","setIsNewFirstBank","setIsNewSecondBank","setIsNewThirdBank","setIsNewFourthBank","setIsNewFifthBank","setIsNewPermAddress","setIsNewCorrAddress","setIsNewSignature","setIsNewIncome","loaderSign","setLoaderSign","showCorr","setShowCorr","isPanAndDobMatch","setSeedingPopup","regectedDocStatus","setRegectedDocStatus","aadharAddress","corrAadharAddress","geoLoc","isGeoError","setIsGeoError","setIsGeoErrorTimeFlag","setIsManual","firstBankListError","setFirstBankListError","secondBankListError","setSecondBankListError","thirdBankListError","setThirdBankListError","fourthBankListError","setFourthBankListError","fifthBankListError","setFifthBankListError","permAddListError","setPermAddListError","corrAddListError","setCorrAddListError","incomeListError","setIncomeListError","secondDocError","setSecondDocError","corrSecondDocError","setCorrSecondDocError","signatureListError","setSignatureListError","showBrowserPermissionModal","setsShowBrowserPermissionModal","isSdkSelfie","setIsSdkSelfie","setBrowserPermission","locationPermission","setLocationPermission","cameraPermission","setCameraPermission","defaultPermAddressProof","setDefaultPermAddressProof","showSignatureTwoPopup","setShowSignatureTwoPopup","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","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","panCardImageFound","setPanCardImageFound","permAddButDisable","setPermAddButDisable","panButDisable","setPanButDisable","liveLocationCheck","setLiveLocationCheck","photoErrorMsg","setPhotoErrorMsg","blockAadhar","setBlockAadhar","checkLocationCalled","setCheckLocationCalled","setShowCanvas","saveLocation","errorLocation","getbase64","long","checkLocationRes","guardianOne","guardianTwo","guardianThree","watchPosition","successPosition","errorPosition","getLocation","getExtractPhotoLiveness","getVideoTracks","stop","err","position","clearWatch","LocationInIndia","getDocList","getUploadedDoc","getPendingDoc","showPhotoPreview","turnOnCamera","handleSuccess","handleError","srcObject","MediaRecorder","constraints","audio","video","facingMode","mediaDevices","getUserMedia","regectedDoc","photoData","panData","firstBankObjlist","SecondBankObjlist","thirdBankObjlist","fourthBankObjlist","fifthBankObjlist","corrAddObjlist","permAddObjlist","incomeObjlist","signatureData","photoCopy","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","panObjNew","DocumentName","getBankImage","firstBankDetails","BankName","AccountType","getAddressImage","getCorrAddressImage","getSignatureImage","getIncomeImage","popularSignatures","JVBERi0","R0lGODdh","R0lGODlh","iVBORw0KGgo","Qk02U","detectMimeType","entries","startsWith","dataString","documentType","imageOBJ","penDoc","isPhotoPending","isCorrPending","Count","mandPenDoc","y","getscreenShotURL","blob","new_File","File","lastModified","fileReader","getFetchResponse","ipvObj","iPVerificationSaved","showGuideText","idObj","showText","IsLive","onRemove","getMimeType","base64String","onFirstPermAddressUploadComplete","aadharObj","maskedAadhar","savepermAddressObj","getUploadRes","onUploadProgress","getUISamplePopups","addressProodID","showPopup","SampleDrivingLicense","getUISampleMobilePopups","SampleVoterIDMobile","SamplePassportMobile","onSecondPermAddressUploadComplete","id_number_found","base64_image","saveAddressObj","getPDFData","Guid","Mergedimagespdfbase64","getCorrPDFData","onNomineeUploadComplete","fnpext","fnpnewfileName","nomFirstPhotCopy","nomFirstPhotoObj","saveDocuments","saveDocObj","fnsnewfileName","nomFirstSignatureCopy","nomFirstSignatureObj","saveTwoDocuments","saveTwpDocObj","savetwoObj","snpnewfileName","nomSecondPhotoCopy","nomSecondPhotoObj","saveThreeDocuments","saveThreeDocObj","savethreeObj","nssnewfileName","nomSecondSignatureCopy","nomSecondSignatureObj","savefourthDocuments","savefourthDocObj","savefourthObj","ntpnewfileName","nomThirdPhotoCopy","nomThirdPhotoObj","savefiveDocuments","savefiveDocObj","savefiveObj","ntsnewfileName","nomThirdSignatureCopy","nomThirdSignatureObj","savesixDocuments","savesixDocObj","savesixObj","guardFirstPhotoCopy","guardianFirstPhotoObj","savesevenDocuments","savesevenDocObj","savesevenObj","guardFirstSignatureCopy","guardianFirstSignatureObj","save8Documents","save8DocObj","save8Obj","guardSecondPhotoCopy","guardianSecondPhotoObj","save9Documents","save9DocObj","save9Obj","guardSecondSignatureCopy","guardianSecondSignatureObj","save10Documents","save10DocObj","save10Obj","guardThirdPhotoCopy","guardianThirdPhotoObj","save11Documents","save11DocObj","save11Obj","guardThirdSignatureCopy","guardianThirdSignatureObj","save12Documents","save12DocObj","save12Obj","handleRemoveDoc","handErrorForFileUpload","uploadImageObj","nomineeOneCopy","nomineeTwoCopy","nomineeThreeCopy","GuardianOneCopy","GuardianTwoCopy","GuardianThreeCopy","total","panCopy","permSecondAddressCopy","corrSecondAddressCopy","handleBankDoc","handlePermanentAddress","addDocument","getSaveStatusNew","onlyIpvPending","getSaveStatus","ADDRESS_PROOF_SUBMITTED_VIA","pendingDocQC","disableSelfieCapture","checkFilledForm","selfieSkipIfAPI","justifyContent","alignItems","ViewPhotoSampleMobileView","hideSeflieOption","saveDocumentInfor","savePhotoObj","Latitude","Longitude","Blob","cropped_image","HandleNewSDKSelfieRes","autoPlay","playsInline","canvasPic","videoPic","canvas","videoWidth","videoHeight","getContext","drawImage","toBlob","capturePhoto","RejectionReason","savebankDetails","firstBanObj","watsAppIcon","secondBanObj","thirdBank","foruthBank","saveBank","panOCR","saveDetails","savePanObj","AextractPan","docOj","handleCorrespondenceAddress","getUISampleCorrMobilePopups","getUICorrSamplePopups","saveCorrAddressObj","handleIncomeProof","saveIncomeObj","fileNameCheck","typeCreater","saveSignatureObj","removeDocObj","saveSecondBankObj","saveThirdBankObj","saveFourthBankObj","saveFifthBankObj","saveViaWatsApp","setSamplePopupups","panValidationKeyList","PanStatus","Name","SeedingStatus","PANInfo","localURL","navigateURL","isPanLinkedToAadhar","prodObj","setProdObj","aadharLinked","fatherName","isEmployee","aadhaarNo","setRemovePanImg","setUtmObj","consent","togPhoto","panNumberMatched","dobChecked","setDobChecked","setIsNormalClient","panDobState","skipUrlBoolean","setSkipUrlBoolean","errorFoundInPanValidation","setErrorFoundInPanValidation","setCacheResponse","setPanUploadObject","setPanUploaded","isPersonalStage","isProfileStage","setStageBooleanFlags","setCheckpanaaddharflag","setPanOCR","willDoLater","setWillDoLater","panFileUploaded","setPanFileUploaded","panFileUploadedLoader","setPanFileUploadedLoader","invalidPanFieldUploadedMsg","setInvalidPanFileUploadedMsg","applicationModeType","setApplicationModeType","modalDisplayText","setModalDisplayText","showSubmitModal","setShowSubmitModal","panInvalidMsg","setPanInvalidMsg","applicationInitializedFlag","setApplicationInitializedFlag","submitFlag","setSubmitFlag","extractPanResponse","setExtractPanResponse","totalDocs","totalDocsCount","uploadedDocsCount","documentsInfo","setDocumentInfo","additionalemail","additionalmobile","adrLine1","adrLine2","isArray","productObj","PANFirstName","PANlastName","rmId","newReqObj","rmid","AgetClientDetailsByPANNew","encodeURIComponent","registerCleverTapEventAfterProceed","panFunction","panValidation","handleSubmit","isValidPan","IbeatsCheck","UccCheck","UccCheckNewCalled","mobileNo","getClientStageDetailsNew","dematAccountFoundLocaL","dpclientid","stageBooleanFlags","isKra","savePanDob","dematAccountFoundLocal","checkPendingUploadNew","validatePANNew","seedingStatus","SeedingStatusMsg","searchByPan","menuOption","redirctTo","filterLeftBar","filterNavIndex3","filterNavIndex4","originalSavePANDOB","applicationIdExists","skipSavePANDOB","navigate","dobMatched","getAccountCategory","kycobj","cacheResonse","panDobObj","isemployeepan","product","platform","panFName","panMName","panLName","PanFSName","SendSelfieLink","diyReferralLink","IsEmployeePan","KycVerified","kycverified","ASavePanDobDetails","ApplicationID","AccountObj","accountObjString","encodedPan","stringParams","clientObj","panOCRval","PayloadObj","uploadPanFile","nextprocess","applicationInitialized","monthDiff","dayDiff","filterNavIndex1","panValidationCallback","checkPanValidationMsgs","id_number","date_of_birth","panObject","PanUploadObject","name_on_card","checkAutoQcForPan","prev","getPanUploadRes","AextractPanNew","extraction_output","fathers_name","disabledCondition","getCheckedDobCondition","fontSize","ErrorScreen","OptionDocumentList","showAadhar","setShowAadhar","showDL","setShowDL","showDLMobile","setShowDLMobile","showMobileAadhar","setShowMobileAadhar","showVoterID","setShowVoterID","showVoterIDMobile","setShowVoterIDMobile","showPassport","setShowPassport","showPassportMobile","setPassportMobile","setSamplePopups","DgLocker","DGLToggle","setDGLToggle","uploadDocToggle","setUploadDocToggle","dgLockerLinkUrl","setdgLockerLinkUrl","handleAppendedStage","showDigiLockerPage","showPersonalDocPage","setStageCompletionStatus","dgLockerLinkUrlLocal","digiLockerUrl","getDigiLinkObj","AGetDigiLink","getDigilockerLink","dgLocker","arrowPoint","docInfo","cleverTapConnectDLEvent","ChatText","instantHelpReadMoreFlag","setInstantHelpReadMoreFlag","readMoreFlagToggle","panPageFlag","marginBottom","cursor","callSupport","InstanHelp","AccountTypeNew","accounType","selectAccount","setSelectAccount","setInvestmentProductCode","setAOPProductCode","marginTop","buttonText","getButtonText","buttonClass","getButtonClass","RegistrationRoutes","getCleverTapIDFromService","exact","render","supportNeeded","ProfileHeader","percentageComplete","ProfileLayout","isDematAccountFound","pennydropcount","getEsignUrl","ConvertToPhysical","onbeforeunload","refreshKeyPressed","stageInfoId","appIdlocalStorage","returnValue","performance","ProfileHome","stageInfoObj","dropOffObj","profileBanner","ProfileMenu","getIFSCDetails","ifsc","Type","BankCity","Ifsc","SaveBankDetails","listsObj","PennyDropLoader","BankForm","accountnoErrors","setaccountnoErrors","bankNameOnIFSCCode","setBankNameOnIFSCCode","bankCityOnIFSCCode","setBankCityOnIFSCCode","micrModalFlag","setMicrModalFlag","ifscModalFlag","setIfscModalFlag","noBankFound","setNoBankFound","bankList","setBankList","cityList","setCityList","BranchList","setBranchList","hideSearch","setHideSearch","setIsmatched","matchScore","setMatchScore","branchDetail","setBranchDetail","bankListOnIFSC","setBankListOnIFSC","bankacctypeList","setbankacctypeList","accountholdername","accountno","bankaddr1","bankAddr2","bankAddr3","reaccountno","bankdetailsid","bankpincode","ifsccode","bankacctype","isdefaultaccount","bankcity","bankname","micr","payinpriority","qcapproved","micrcodeList","lists","setLists","setShowMandate","setUploadedBankList","setAllowOnlyAddBank","isSbi","setIsSbi","showPennyDropModal","setShowPennyDropModal","getAccountHolderName","registered_name","score","filterBankacctypeList","updateLists","match_score","actObj","account_number","micr_code","beneficiaryObj","AccountNumber","setAccError","micrData","bankAddress1","bankAddress2","bankAddress3","item2","i2","saveBankDetailsNew","saveBankAccount","accountNo","bankAccType","bankAddr1","bankCity","bankDetailsId","bankName","bankPinCode","contactNo","ifscCode","isDefaultAccount","qcApproved","isMatched","saveDetailsRes","closeIFSC","openIfscModal","getBankData","handlebanknameDropdown","getCityData","handleCityDropdown","getBranchData","sortBranch","property","sortOrder","substr","localeCompare","dynamicSort","checkDisabled","handleBranchDropdown","searchIFSC","selectedBranch","reMICR","handleSelect","handleTag","checkMatch","filterDataOnMICR","handleDropdown","handleDefaultAccount","BankHome","PdfContainer","showModal","SelectPlan","getDpAccountType","dpAcountType","setEliteCard","setLiteCard","liteData","setliteData","eliteData","setEliteData","openPlanModal","setOpenPlanModal","setShowModal","segTog","setSegTog","checkedDerNSE","setCheckedDerNSE","checkedDerBSE","setCheckedDerBSE","checkedCurrNSE","setCheckedCurrNSE","termOne","setTermOne","checkedComMCXnNCXDX","setCheckedComMCXnNCXDX","setTermTwo","setTermThree","isLite","setIsLite","isElite","setIsElite","openLite","setOpenLite","setIsEmployee","showPdfModal","setShowPdfModal","pdfName","liteResponse","setliteResponse","eliteResponse","setEliteResponse","active","setActive","incomeProofErr","setIncomeProofErr","setAccountType","accTypeToggle","setAccTypeToggle","accountTypeChangeCount","setAccountTypeChangeCount","SMTF","setSMTF","isEmployeePAN","setisEmployeePAN","checkedEquityCashNSEBSE","setCheckedEquityCashNSEBSE","checkedMutualFundsBSE","setCheckedMutualFundsBSE","checkedDebtFundsNSEBSE","setCheckedDebtFundsNSEBSE","NoSegSelected","setNoSegSelected","eSignSummited","setESignSummited","Liteplan","Eliteplan","AGetBrokerageDetails","AGetBrokerageSegmentDetails","getBrokerageSegmentDetailsRes","resdata","liteResdata","ct_display_name","eliteResData","is_selected_scheme","ischeckedData","Checked","CBEList","fetchImage","changeIncomeObj","updateIncomeObj","openCharges","saveBrokerageDetailsRes","PLAN_SELECTED","CBEListVM","cbeList_Value","cbeList","cbeListName","isReadOnly","saveSegData","bankcbe","cbelistVM","createddate","sebi_mtf","changeDematAccountType","dematAccountType","saveBrokerageSegDetailsRes","getResForNav","handleLiteTick","handleEliteTick","checkTNC","KeyFeatures","BrokingCharges","EquityDelivery","EquityIntraday","EquityFutures","EquityOptions","CurFutures","CurOptions","ComDelivery","ComFuture","ComCarryForward","ComCarryOptionSlab","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","MarginPledgeUnpledgeCharges","MTFPledgeUnpledgeCharges","PhysicalStmtCharges","MTFPledgeClosure","CUSPAPledge","CUSPAUnpledge","client_type","planOne","mobPlanOne","planTwo","mobPlanTwo","documentname","SMTF_PDF","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","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","eSignCall","IS_ESIGN","blueTick","PendingModule","moduleLink","moduleName","PendingModulesList","pendingModulesList","timeLeft","EsignKra","setIsEsign","getEsignKraUrl","timerId","esignBanner","ESignHome","setisEsign","isEsignKra","setEsignKra","pendingModules","setPendingModules","checkPendingModules","sc","VideoPlayerIpv","showStartBtn","setShowStartBtn","showVidPerm","showRecordTimer","setShowRecordTimer","showUploadBtn","setShowUploadBtn","stream","setStream","webBlob","setWebBlob","isSafari","frames","setFrames","mediaRecorder","previewRefElement","imageRefElement","imgSrcSafari","setImgSrcSafari","setVideoWidth","setVideoHeight","showPreview","ex","startFinalRecording","checkGeoLocation","interval","captureScreenShot","createObjectURL","start","framesArr","ondataavailable","onstop","ev","controls","controlsList","isLocationPermission","image64","contentType","ipvUploaded","image","imageName","VideoVerification","queryParams","showSample","setShowSample","enableLink","setEnableLink","eSignCompleted","setESignCompleted","setLat","setLong","isGeoErrorTimeFlag","errorTimer","getIpvOtp","isFromSMS","checkPdStatus","videoUploaded","saveIpvDetails","sendSms","ipvUrl","smsBody","selfieLinkText","SelfieLink","correctIPV","wrongIpvOne","wrongIpvTwo","wrongIpvThree","uploadNewObj","imageToVideo","AUploadIpvNew","Dropdown","Profiler","setCheckClientProfilingData","singleAns","setSingleAns","questionLists","setQuestionLists","getCheckClientkProfilingData","QuestionList","remultiAnswerList","IsMultiple","QuestionOptions","assign","getSaveResonse","QuestionsDescription","QuestionId","single","o","handleSelection","multiOption","newList","updatelist","saveQuestion","filterSingleAnswer","mergedmultiAnswerObj","concat","apply","optionId","questionId","versions","ListQuestionDetails","ASaveClientProfilingQuestion","AVerifyDocumentData","verifyDocumentPayload","localAadharNo","addressInfoErrorObj","PermanentAddressField","onAddressInfoChange","onAddressInfoBlur","onBlurDoi","dateOfIssue","onBlurDoe","dateOfExpiry","addObj","qrVerified","reverse","identificationListPerm","identificationListCorr","PersoanlInfo","dlExtractData","setDlExtractData","dlUploadInformation","setDLUploadInformation","corrDLExtractData","setCorrDLExtractData","corrDlUploadInformation","setCorrDLUploadInformation","permSecAddListError","setPermSecAddListError","setCorrSecAddListError","setAddressFileFound","setCorrespondanceFileFound","drivingFlag","setDrivingFlag","corrsDrivingFlag","SetCorrsDrivingFlag","qrVerifiedAadhar","setQrVerifiedAadhar","autoQCFlagPer","setAutQcFlagPer","autoQCFlagCor","setAutQcFlagCor","qrVerifiedCorrsAadhar","setQrVerifiedCorrsAadhar","AddressDetails","Corrsaddraspermanent","permResultObj","documentnumber","documentissuedate","corrsResultObj","handleAddressBlur","identificationDetailType","maskedAadharNew","addressOCR","uploadAadhar","uploadId","storeOcrData","getPDFDataNew","mergeBase64","res1","getCorrPDFDataNew","isSecondFileUpload","isPermanent","margeBase64","callbackFunction","localObj","detectMimeTypeVar","DocumentIssueDate","IsDocumentVerified","IsQRVerified","getUploadResNew","permExtractionData","corrAddres","qr_detected","qr_encoded","qr_scannable","date_of_issue","date_of_expiry","issue_dates","date_of_validity","corrsExtractionData","corrsVerifyDocumentRes","verified","verifyDocumentRes","verifyDrivingObj","DateOfBirth","IdNumber","saveAddressPayload","ASaveAddressDetails","saveAddressRes","CorrespondenceCountry","CorrespondenceState","CorrespondenceCity","CorrespondenceDistrict","CorrespondenceArea","CorrespondenceStatecode","CorrespondenceCountryCode","CorrespondenceAddressType","autoQC","documentIssueDate","documentExpiryDate","documentName","PermanentCountry","PermanentState","PermanentDistrict","Permanentarea","Permanentstatecode","Permanentcountrycode","PermanentAddresstype","AddressInfoField","DematSelectionForm","radioSelection","setRadioSelection","dpId","formData","setFormData","uploadedMaxFile","setUploadedMaxFile","fileLoader","setFileLoader","dpLoader","setDpLoader","dpIdType","setDpIdType","showAutoIfVerifyFail","setShowAutoVerifyFail","foundVerificationFail","setFoundVerficationFail","setCdslFlowFind","dpIsVerified","setDpIsVerified","showUploadSection","setShowUploadSection","onChanges","form","getDPDetails","determineDepository","dpavailable","SaveDematDetails","dpVerify","saveDpObj","dpAvailable","dPid","IsDPVerified","Dpverify","stopSaveApi","dpVerifyAutoObj","uploadDocumentFile","saveUploadObj","validateDPID","byGet","fromApi","dematPattern","dpType","fileUploadEvent","onFileUpload","foldUploadIcon","disabledButtonCo","disabledButton","DematSelection","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","isKycDownload","accounteCategory","isKYCDownload","EsignFlag","ADownloadForm","b64Data","sliceSize","byteCharacters","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","base64toBlob","link","download","click","remove","getDownloadForm","Poa","enablePinCheck","setEnablePinCheck","clientAddressOcv","setClientAddressOcv","setOcvDate","setOcvTime","showAgentVisitForm","setShowAgentVisitForm","showDownload","setShowDownload","disablePOASchedule","validatePincode","drop_Vendor_Code","vendorResponse","awb_number","reason","isInitial","ocvCalender","ASavePoaDetails","addr","line1","line2","scheduledDate","selectedTimeSlot","customerName","customerMobile","selectedPincode","defaultPinCode","isChequeLeafSubmitted","emailurl","KRAAuthenticateForm","isVerify","rmAssited","setRmAssited","setLeadDetails","proceedToAutheticate","setProceedToAutheticate","GetLeadDetails","createTask","showMobile","generateEsignFields","KraAuthenticateHome","DashboardRoutes","component","ExitScreen","heading","displayInfoList","itemObj","SubmitAO","accountId","setAccountId","setDisplayInfoList","setTime","getClientDetails","holderName","holderfullname","displayInfo","esigncompletedtime","STATUS_ON_FINAL_SCREEN","finalTick","StatusLayout","statusClassName","edelLogoClass","EsignNewForm","setAuthenticate","completionStatus","setCompletionStatus","uccCode","setUccCode","setFirstName","setLastName","setDob","mailVerifiedFE","leadDetails","mobileVerifiedFE","showMobileRadio","setIsKRA","AEmailUpdate","checkDisableForm","hideEmailVerifyButton","hideMobileVerifyButton","showEmailField","showMobileField","esignDocumentType","AGetRMEsignUrlDetails","oldMobile","oldEmail","isMobileVerify","isEmailVerify","requestStage","leadSource","isPanVerify","handleCreateUcc","showEmail","hideMpbileVerify","hideEmaileVerify","showRadio","EsignMainPage","setPan","setUserId","EsignSubmit","displayTitleList","setDisplayTitleList","KYCSubmit","linkSend","setLinkSend","sendToAPILink","esignVendorType","AGetRMEsignVerificationUrlDetails","SubmissionRoutes","setRes","setOtpId","setPanDetails","otpSentNew","panDetailsLocal","setPanDetailsinLoal","sendToContinueUrl","checkApplicationStatus","resNew","showApprovalPending","approvalPendingObj","approvalPending","apporvalPendingStatus","isTrading","resultObject","AppStatusFlag","ApplicationStatus","resObj","CheckStatusHome","AccountNotFound","checkStatus","newAccount","StatusVerified","DocsVerificationInProgress","show","showMessage","DocumentReject","validatePAN","redirectToDematPage","personalInfoIndex","StatusContinue","panValue","setPanValue","handleContinue","StatusRoutes","Marketing","setIsComplete","improperData","setImproperData","utmParams","to","MarketingRoute","Selfie","esignGenerated","setEsignGenerated","hasPhoto","setHasPhoto","streams","setStreams","videoRef","canvasRef","setCreatedBy","accountCategoryNo","prevres","intiateCamera","userMedia","play","takePhoto","ctx","storePhoto","closePhoto","getTracks","track","getUploadResponse","margin","photoUploadObj","saveIPVerification","SmsLinksLayout","SmsRoutes","ReactZenDeskChat","require","default","App","setPanPageFlag","getErrorMsg","Datasource","account","privacy","optOut","useIP","wzrk","protocol","s","getElementsByTagName","parentNode","insertBefore","notifications","titleText","bodyText","okButtonText","rejectButtonText","okButtonColor","askAgainTimeInSeconds","serviceWorkerPath","ymConfig","bot","host","payload","YellowMessenger","update","currentVersion","isEnabled","isVerboseMode","metaFileDirectory","basename","process","Boolean","hostname","ReactDOM","serviceWorker","ready","unregister"],"mappings":"4GAAAA,EAAOC,QAAU,0yB,mBCAjBD,EAAOC,QAAU,0pB,qBCAjBD,EAAOC,QAAU,IAA0B,wC,yBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,uC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,qBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,cCA3CD,EAAOC,QAAU,myW,cCAjBD,EAAOC,QAAU,mgZ,cCAjBD,EAAOC,QAAU,2uY,cCAjBD,EAAOC,QAAU,2nU,gBCAjBD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,iD,cCA3CD,EAAOC,QAAU,+2X,cCAjBD,EAAOC,QAAU,mrV,gBCAjBD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,qC,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,mBCA3CD,EAAOC,QAAU,IAA0B,4C,4CCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,80G,yMCAjBD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,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,8C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,I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","file":"static/js/main.15a0cbbc.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 = __webpack_public_path__ + \"static/media/regBanner.61a6dd18.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/esignBanner.c4fc6e58.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/finalTick.bb30f34f.svg\";","module.exports = __webpack_public_path__ + \"static/media/Line 9.213a573e.svg\";","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 = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/correctPhoto.47d0e355.jpg\";","module.exports = __webpack_public_path__ + \"static/media/hat-covered.ee6a6dca.svg\";","module.exports = __webpack_public_path__ + \"static/media/sunglass-covered.b6af0557.svg\";","module.exports = __webpack_public_path__ + \"static/media/shadow-covered.a808e5df.svg\";","module.exports = __webpack_public_path__ + \"static/media/combineAadharSample.a185cdea.jpg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/DL FRONT.0394a63f.jpg\";","module.exports = __webpack_public_path__ + \"static/media/DL BACK.44843d59.jpg\";","module.exports = __webpack_public_path__ + \"static/media/VoterID FRONT.14524c7c.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Voter ID back.f08a4f71.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Passport Front.ba5bebea.jpg\";","module.exports = __webpack_public_path__ + \"static/media/Passport Back.dd8b66bd.jpg\";","module.exports = __webpack_public_path__ + \"static/media/blueTick.b661dd9a.svg\";","module.exports = __webpack_public_path__ + \"static/media/profileNavLogo.cf97a14b.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogo.05970391.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogoNew.9ad5feaf.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/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/investNavLogoNew.0ab4b981.svg\";","module.exports = __webpack_public_path__ + \"static/media/dematAccount.d48cafb1.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 = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANBAMAAACAxflPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwDwMLBFEGDAIOCfcB6LEt4AAABLSURBVAjXY2ASYwCDxjMNYLrmjAGYljkjAKZtziiAaZ8zG8A08xkhMM0qc9C1CqRF8cyZMyAzmGTOnDkIkgk/c+YYWInzSYhWEAAAq0ETOxvqAREAAAAASUVORK5CYII=\"","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,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\"","module.exports = __webpack_public_path__ + \"static/media/SMTF.22733cc3.pdf\";","module.exports = __webpack_public_path__ + \"static/media/NWIL-Booklet-A5-Nov 2022.83932124.pdf\";","module.exports = __webpack_public_path__ + \"static/media/Disclaimer_DIY.15f30972.pdf\";","module.exports = __webpack_public_path__ + \"static/media/correct-IPV.f0480a2f.svg\";","module.exports = __webpack_public_path__ + \"static/media/wrong-ipv-one.236caedf.svg\";","module.exports = __webpack_public_path__ + \"static/media/wrong-ipv-two.91a91d32.svg\";","module.exports = __webpack_public_path__ + \"static/media/wrong-ipv-three.5e611721.svg\";","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAjAB0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9UJpkt4nlldY40UszucBQOSSewrB/4WJ4U/6GbR//AAPi/wDiq4z9pxFm+DOqQyKHhnvtMgljYZV431C3R0YdwysQR3BNHxI/Z+8I+Jvh34p0fR/CHhux1fUNKurSzuhpkEZhmkhZY33KmVwxByORiuqnTpuKlUbV3b8v8zCUp3aitl/n/kepqwdQykMpGQR0NLXzL8C9W8X/AAx8f6X4B1XwpqWh+DdXtZZdIj1O/tbp7C5hQPNBE0Mrs1uQdyBwpQ/KMjhfpqprUfYyte6ezKp1PaRvazPLf2mP+SQ3v/YT0n/05WtepVi+MvCGl+PfDN9oOswtPp14oWRY5GjdSrBldXUgqysqsGByCoNcP/woK2/6Hvx7/wCFHNVRcJU1CTs03072/wAhNSU3JK+36h8Qv+S5fCb/ALi3/pMtepVwPhX4M6R4X8RQ65JqmveINTtoZILWbXdUlvBbLJt8zy1Y7VLbVBbGcDGcE131RVlFqMYu9l+rf6jgmrt9f8kFFFFYGoUUUUAf/9k=\"","module.exports = \"data:image/jpeg;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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\"","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\taccountType?: string;\r\n\tuserId?: any;\r\n\tmiddleName?: string;\r\n}\r\nexport interface ITokenObj {\r\n\tid: string\r\n\tkey: string\r\n\tcreatedate: string\r\n\tAccountCategory: number\r\n\tUserId: number\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\nexport interface EdelLogoCenterProps{\r\n headerLogoClassName?:string;\r\n}\r\nconst EdelLogoCenter = (props:EdelLogoCenterProps) => {\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\nimport dematAccount from \"../../assets/icons/dematAccount.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 demat: \"/demat\",\r\n authenticate: \"/authenticate\"\r\n};\r\n\r\nexport const geoLocationConfig = {\r\n timeout: 6000,\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\n\r\nexport const dematNavBarObj: ILeftNavBarArray = {\r\n name: \"Demat Account\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.demat,\r\n priority: 3,\r\n percentWeight: 30,\r\n logo: dematAccount,\r\n isRequired: true,\r\n};\r\n\r\nexport const authenticateNavBarObj: ILeftNavBarArray = {\r\n name: \"Authenticate & Submit\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.authenticate,\r\n priority: 7,\r\n percentWeight: 20,\r\n logo: esignNavLogo,\r\n logoNew: esignNavLogoNew,\r\n isRequired: true,\r\n};\r\n\r\nexport const personalDetailsObj={\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\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 esignsubmit: \"/esignsubmit\",\r\n kycsubmit:\"/kycsubmit\",\r\n poa: \"/poa\",\r\n partner: \"/partner\",\r\n selfie: \"/selfie\",\r\n verify: \"/verify\",\r\n newLanding: \"/new-lading\",\r\n newLandingSample: \"/new-landing-sample\",\r\n};\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\nexport const PCGAccCategory = \"12\"; //hardCode Account category for HNI 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\nexport const photographCategoryId=\"1\";\r\nexport const signatureCategoryId=\"27\";\r\n\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, 140);\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\r\n//Reg expression use for to check for \"TEMP\" or \"tmp\" in the domain\r\nexport const forbiddenWordsRegex = /@(.*temp.*|.*tmp.*)/i;\r\n\r\n\r\n// norminee English lang regex\r\nexport const nomineeEnglishRegularLanguage=/^[A-Za-z0-9\\s.,-]*$/;\r\n//restricts below special characters for nominee and guardian\r\nexport const nomineeAddressRestrictedExp=/[<>\\\"';:?&%=]/;\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?: (\r\n error: indexer,\r\n event?: React.ChangeEvent\r\n ) => 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 inputPattern?: any;\r\n onKeyPress?: (event: React.KeyboardEvent) => void;\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(e: React.ChangeEvent) {\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, e);\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={(e) => handleBlur(e)}\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 pattern={props?.inputPattern}\r\n {...(props.onKeyPress !== undefined\r\n ? {\r\n onKeyPress: (e) => {\r\n if (props?.onKeyPress !== undefined) {\r\n props.onKeyPress(e);\r\n }\r\n },\r\n }\r\n : {})}\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 skipSearching?: 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 console.log(this.props.options);\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\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\r\n if (index > -1 && event.target.nextSibling)\r\n 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.props.skipSearching &&\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 : this.props.skipSearching\r\n ? this.props.options.map((item: any) => {\r\n ddCount++;\r\n return item;\r\n })\r\n : null;\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 | 50 | 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 parentClassName?: string;\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 digiLockerSource: number;\r\n aopNewApiUrl?: string;\r\n pricingPage: string;\r\n publicKey: string;\r\n secretKey: string;\r\n hideInvestment:boolean;\r\n}\r\nconst dev: IConfig = {\r\n //root: \"https://onboardinguat.nuvamawealth.com/dev/\",\r\n root: \"http://localhost:3001/\",\r\n //diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n // aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n // diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken: \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri: \"https://onboardinguat.nuvamawealth.com/dev/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n digiLockerSource: 2,\r\n pricingPage: \"https://vamauat.nuvamawealth.com/alpha/our-pricing\",\r\n publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true,\r\n};\r\n\r\nconst uat: IConfig = {\r\n// root:\"https://onboardinguat.nuvamawealth.com/\",\r\n root: \"https://onboardinguat.nuvamawealth.com/\",\r\n // diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken: \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri: \"https://onboardinguat.nuvamawealth.com/showdocuments\",\r\n //redirectUri: \"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 digiLockerSource: 2,\r\n pricingPage: \"https://vamauat.nuvamawealth.com/alpha/our-pricing\",\r\n publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\r\n};\r\n\r\nconst preProd: IConfig = {\r\n root: \"https://onboardingcug.nuvamawealth.com/\",\r\n //diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n // aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPICUG/api/\",\r\n // diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPICUG/api/\",\r\n aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/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: \"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 digiLockerSource: 2,\r\n pricingPage: \"https://vamacug.nuvamawealth.com/our-pricing\",\r\n publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\r\n};\r\n\r\nconst prod: IConfig = {\r\n root: \"https://onboarding.nuvamawealth.com/\",\r\n // diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/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: \"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 digiLockerSource: 2,\r\n pricingPage: \"https://www.nuvamawealth.com/our-pricing\",\r\n publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\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 QcTaskCreation: \"QCTaskCreation\",\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 updateStageStatus: \"updateStageStatus\",\r\n getCacheData: \"getCacheData\",\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 getOtpNew: \"getOtpNew\",\r\n validateOtp: \"validateOtp\",\r\n validateOtpNew: \"validateOtpNew\",\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 knowYourStatus: \"knowYourStatus\",\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 fetchLeadInfo: \"fetchLeadInfo\",\r\n emailUpdate: \"emailUpdate\",\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 getEsignRMVerificationLink: \"getEsignRMVerificationLink\",\r\n getRMAssitedEsignLink: \"getRMAssitedEsignLink\",\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 CheckRAAccount: \"CheckRAAccount\",\r\n APanVerification: \"APanVerification\",\r\n SaveDematDetailsRes: \"SaveDematDetailsRes\",\r\n DPverification: \"DPverification\",\r\n getDPdetails: \"getDPDetails\"\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 if (!errMsg.includes(error[i].ErrorMessage)) {\r\n errMsg += `, ${error[i].ErrorMessage}`;\r\n }\r\n }\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction errorCodeMapper(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].ErrorCode;\r\n else if (!errMsg.includes(error[i].ErrorCode))\r\n errMsg += `, ${error[i].ErrorCode}`;\r\n }\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction msgOfErr(msgId: string) {\r\n return \"\";\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.updateStageStatus:\r\n result = updateStatusMapping(response);\r\n return result;\r\n case serviceList.getCacheData:\r\n result = getCacheDataMapping(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.getOtpNew:\r\n result = getOtpNewMapping(response);\r\n return result;\r\n case serviceList.validateOtp:\r\n result = validateOtpMapping(response);\r\n case serviceList.validateOtpNew:\r\n result = validateOtpNewMapping(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.fetchLeadInfo:\r\n result = fetchLeadInformation(response);\r\n return result;\r\n case serviceList.emailUpdate:\r\n result = emailUpdateResponse(response);\r\n return result;\r\n\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.getEsignRMVerificationLink:\r\n result = getEsignRMVerificationLinkMapping(response);\r\n return result;\r\n case serviceList.getRMAssitedEsignLink:\r\n result = getRMAssitedEsignLinkMapping(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 case serviceList.CheckRAAccount:\r\n result = checkRARelationShipMapper(response);\r\n return result;\r\n case serviceList.APanVerification:\r\n result = panVerificationMapper(response);\r\n return result;\r\n case serviceList.SaveDematDetailsRes:\r\n result = saveDematDetailsMapping(response);\r\n return result;\r\n case serviceList.DPverification:\r\n result = saveDpVerificationMapping(response);\r\n return result;\r\n case serviceList.getDPdetails:\r\n result = getDPDetailsInfo(response);\r\n return result;\r\n case serviceList.knowYourStatus:\r\n result = knowYourStatusMapping(response);\r\n return result;\r\n case serviceList.QcTaskCreation:\r\n result = QCTaskCreationMapping(response);\r\n return result;\r\n default:\r\n break;\r\n // code block\r\n }\r\n}\r\nfunction panVerificationMapper(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 checkRARelationShipMapper(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 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\n\r\nfunction updateStatusMapping(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 getCacheDataMapping(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 ...res.ContentData,\r\n data: res.ContentData.Data,\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 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 getDPDetailsInfo(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 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\n}\r\nfunction saveDematDetailsMapping(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 QCTaskCreationMapping(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 saveDpVerificationMapping(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 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 getOtpNewMapping(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\nfunction validateOtpNewMapping(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 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 knowYourStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n let resData = res.ContentData;\r\n if (res.ContentData == null) {\r\n resData = \"Records Not Found\";\r\n } else {\r\n if (res.ContentData?.length > 0) {\r\n if (res.ContentData?.length == 1) {\r\n resData = res?.ContentData[0];\r\n } else if (res.ContentData?.length > 1) {\r\n resData = res?.ContentData;\r\n }\r\n }\r\n }\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 console.log(\"savePanDobDetailsMapping\", res);\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 console.log(result);\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 existedFieldDetails: {\r\n mob: res?.RequestResult?.Errors?.find((x: any) => x.Field == \"Mobileno\")\r\n ? true\r\n : false,\r\n email: res?.RequestResult?.Errors.find((x: any) => x.Field == \"Email\")\r\n ? true\r\n : false,\r\n },\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\nfunction fetchLeadInformation(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 emailUpdateResponse(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 getRMAssitedEsignLinkMapping(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 getEsignLinkMapping(res: any) {\r\n console.log(res, \"PPPP\");\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n if (!!res?.ContentData?.Message && !!res?.ContentData?.Message?.StatusMsg && res?.ContentData?.Message?.StatusMsg?.toLowerCase() == \"FAILURE\"?.toLowerCase()) {\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 } else {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: 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: 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\nfunction getEsignRMVerificationLinkMapping(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 \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 && (GlobalStore.token == undefined || GlobalStore?.token == null || 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: \"Document/GetDetails\",\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\nexport const ACheckRAAccount = (\r\n callback: CallableFunction,\r\n checkRAAccountPayloadObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetRAAccount\",\r\n body: {\r\n EmailId: checkRAAccountPayloadObj?.EmailId,\r\n MobileNo: checkRAAccountPayloadObj?.MobileNo,\r\n PanNo: checkRAAccountPayloadObj?.PanNo,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.CheckRAAccount,\r\n },\r\n callback\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.aopNewApiUrl,\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: \"ProfileStage/SaveRelationship\",\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: \"ProfileStage/Get\",\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: \"ProfileStage/Save\",\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 FE47: \"C11FE50\",\r\n // Signature File Size Error Message\r\n FE48: \"C11FE51\",\r\n //TEMP Email Validation\r\n FE49:\"C11FE52\",\r\n //photograph error messsage validation\r\n FE50:\"C11FE53\",\r\n //Emaild id is not in proper format\r\n FE51:\"C11FE54\",\r\n //Mobile number is not in proper format\r\n FE52:\"C11FE55\",\r\n //verification of dp failed \r\n FE53:\"C11FE60\",\r\n //only numbers are allowed,\r\n FE54:\"C11FE59\",\r\n //\tOnly spaces are not allowed\r\n FE55:\"C11FE58\",\r\n //Invalid DP ID\r\n FE56:\"C11FE57\",\r\n //This field is required\r\n FE57:\"C11FE56\",\r\n //The input contains special characters. Please remove them and try again.\r\n FE58:\"C11FE61\",\r\n //The input should only contain English characters. Please enter valid input.\r\n FE59:\"C11FE62\"\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\nexport const AGetOtpNew = (callback: CallableFunction, contactInfo: any, mode?: any) => {\r\n apiService(\r\n {\r\n url: \"Lead/GO\",\r\n body: {\r\n contactInfo: contactInfo,\r\n mode: mode\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOtpNew,\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\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\nexport const AValidateOtpNew = (\r\n callback: CallableFunction,\r\n otpId: any,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"Lead/ValO\",\r\n body: {\r\n otpId: otpId,\r\n otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.validateOtpNew,\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: \"RegistrationStage/SearchSource\",\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: \"Lead/v1/Search\",\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 source: \"DIY\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\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: \"Lead/Create\",\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.aopNewApiUrl,\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\nexport const ALeadFetchApi = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"Lead/ExternalDetail\",\r\n body: {\r\n id: leadObj?.id,\r\n name: leadObj?.name,\r\n stageFlag: leadObj?.stageFlag\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.fetchLeadInfo,\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 AEmailUpdateApi = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"Lead/EmailUpdate\",\r\n body: {\r\n emailId: leadObj?.emailId,\r\n uccCode: leadObj?.uccCode,\r\n source: leadObj?.source,\r\n ApplicationId:leadObj?.ApplicationId\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.emailUpdate,\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: \"Lead/CreateURCode\",\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 * as React from \"react\";\r\nimport \"./TextArea.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 ITextAreaProps {\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 TextArea: 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 TextArea;\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 TextArea from \"../../UI/TextArea/TextArea\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n betweenNChars,\r\n blockSpecChar,\r\n detectIntWithSpace,\r\n nomineeAddressRestrictedExp,\r\n nomineeEnglishRegularLanguage,\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 forNomineeAddress?: boolean;\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 (addressObj?.Area !== undefined && addressObj?.Area !== null) {\r\n if (addressObj?.Area == \"\") {\r\n if (\r\n props?.addressObj?.PinCode &&\r\n // addressObj?.addressLine1?.length == 0 &&\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(\r\n (res: any) => getFullAddress(res),\r\n props.addressObj.PinCode\r\n );\r\n }\r\n }\r\n } else {\r\n if (\r\n props?.addressObj?.PinCode &&\r\n // addressObj?.addressLine1?.length == 0 &&\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(\r\n (res: any) => getFullAddress(res),\r\n props.addressObj.PinCode\r\n );\r\n }\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 props?.setErrCode(\"\");\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 } else if (\r\n !!props.forNomineeAddress &&\r\n props?.forNomineeAddress == true\r\n ) {\r\n if (nomineeAddressRestrictedExp.test(value)) {\r\n setErrors({\r\n ...errors,\r\n addressLine1:\r\n errorMsg(errorCode.FE58),\r\n });\r\n } else if (!nomineeEnglishRegularLanguage.test(value)) {\r\n setErrors({\r\n ...errors,\r\n addressLine1:\r\n errorMsg(errorCode.FE59),\r\n });\r\n } else {\r\n setErrors({ ...errors, addressLine1: undefined });\r\n props.onAddressBlur({ ...errors, addressLine1: undefined });\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 =\r\n res.data[0].District == \"\" ? res.data[0].City : 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 maxLength={140}\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) => {\r\n props?.setErrCode(\"\");\r\n handleChangeAddress(\"PinCode\", value);\r\n }}\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 config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport domain from \"../../../config/domain\";\r\nimport { digiLockerUrl } from \"../../utils/constants\";\r\n\r\n\r\nexport const AGenerateAccessToken = (\r\n callback: CallableFunction,\r\n accessTokenObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Digi/GetToken\",\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 SourceId: domain.digiLockerSource,\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: \"Digi/GetDocList\",\r\n method: \"POST\",\r\n body: {\r\n access_token: digilockerObj.access_token,\r\n SourceId: domain.digiLockerSource,\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: \"Digi/GetDoc\",\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 SourceId: domain.digiLockerSource,\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\nexport const AGetDigiLink = (\r\n callback: CallableFunction,\r\n getDigiLinkObj: any\r\n) => {\r\n if(domain.digiLockerSource==2)\r\n {\r\n apiService(\r\n {\r\n url: \"Digi/GetToken\",\r\n method: \"POST\",\r\n body: {\r\n SourceId: domain.digiLockerSource,\r\n ApplicationId:getDigiLinkObj.ApplicationId\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\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 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 {\r\n dashboardUrl,\r\n containerUrl,\r\n personalDetailsObj,\r\n} 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\nimport { compareValues } from \"../../utils/sortingUtils\";\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 clientPartialDetails_ao.aadharName = response?.AadharName;\r\n clientPartialDetails_ao.gender = response.Gender;\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 clientPartialDetailsToStore();\r\n if (domain.digiLockerSource == 1) {\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 accessTokenObj.SourceId = domain.digiLockerSource;\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 }\r\n if (domain.digiLockerSource == 2) {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let signzy_access_token = clientPartialDetails_ao?.signzydt;\r\n if (signzy_access_token) {\r\n let digiDocInfo: any = {};\r\n digiDocInfo.access_token = signzy_access_token;\r\n setAccessToken(signzy_access_token);\r\n AGetDocListFromDigilocker(getDocListFromDigilocker, digiDocInfo);\r\n } else {\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\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 let responseObj = res.data;\r\n if (responseObj.access_token) {\r\n const digiDocInfo = { ...accessTokenObj };\r\n digiDocInfo.access_token = responseObj.access_token;\r\n digiDocInfo.SourceId = domain.digiLockerSource;\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 debugger;\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 debugger;\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\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\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\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 GlobalStore.isKRA = false;\r\n GlobalStore.isDigiLocker = false;\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.aadharLinkedChoice = false;\r\n clientPartialDetails_ao.isDigiLocker = false;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isNormalClient = true;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n let leftNavBarArray = GlobalStore?.leftNavBarState;\r\n // if (\r\n // leftNavBarArray?.length > 0 &&\r\n // !leftNavBarArray?.includes(personalDetailsObj)\r\n // ) {\r\n // leftNavBarArray.push(personalDetailsObj);\r\n // }\r\n GlobalStore.leftNavBarState = leftNavBarArray;\r\n history.push(dashboardUrl.personalIfo);\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 disable?: boolean;\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 AGetStageCompletionStatus = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"StageDetail/GetStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: 0\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\nexport const AUpdateStageCompletionStatus = (\r\n callback: CallableFunction,\r\n reaObj?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"StageDetail/Update\",\r\n body: {\r\n applicationId: reaObj?.applicationId,\r\n accountCagtegory: reaObj?.accountCagtegory,\r\n stageOrderId: reaObj?.stageOrderId,\r\n UserId: reaObj?.UserId ? reaObj?.UserId : \"0\",\r\n rmassisted: reaObj?.rmassisted ? reaObj?.rmassisted : false\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\nexport const AGetCacheData = (\r\n callback: CallableFunction,\r\n dataObj: {\r\n uniqueID: string;\r\n key: string;\r\n }\r\n) => {\r\n apiService(\r\n {\r\n url: \"Cache/Get\",\r\n body: dataObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCacheData,\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\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"./continueApiService\";\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: \"PanDetails/GetEmployeeDetails\",\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: \"PanDetails/CheckInSystem\",\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 let panDetails = GlobalStore.personaldetails.panDetails;\r\n console.log(\"panDetails fron Globalstrore\", panDetails);\r\n\r\n const getData = (res: any) => {\r\n if (res && res.data) {\r\n let data = JSON.parse(res.data);\r\n panDetails = {\r\n PanNo: GlobalStore.personaldetails.pan,\r\n Firstname: data?.panfirstname,\r\n Middlename: data?.panmiddletname,\r\n Lastname: data?.panlastname,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: true,\r\n IsAadharSeeded: \"\",\r\n };\r\n\r\n let result = {\r\n status: false,\r\n msgID: \"\",\r\n data: panDetails,\r\n // error: errorMessage.newPanUtiError,\r\n error: \"\",\r\n };\r\n\r\n callback(result);\r\n }\r\n };\r\n console.log(\"panDetails\", panDetails, typeof panDetails);\r\n\r\n const panFromLocalStorage = window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n );\r\n\r\n // if (panDetails === null || panDetails === undefined) {\r\n // if (!!panFromLocalStorage) {\r\n // console.log(\"panFromLocalStorage\", panFromLocalStorage);\r\n // let panDetailsLocal = JSON.parse(panFromLocalStorage);\r\n // if (!!panDetailsLocal && panDetailsLocal.panDetails) {\r\n // panDetails = panDetailsLocal.panDetails;\r\n\r\n // let result = {\r\n // status: false,\r\n // msgID: \"\",\r\n // data: panDetails,\r\n // // error: errorMessage.newPanUtiError,\r\n // error: \"\",\r\n // };\r\n // callback(result);\r\n // } else {\r\n AGetStageCompletionStatus(getData, GlobalStore.applicationID);\r\n // }\r\n // } else {\r\n // AGetStageCompletionStatus(getData, GlobalStore.applicationID);\r\n // }\r\n // }\r\n\r\n // let result = {\r\n // status: false,\r\n // msgID: \"\",\r\n // data: panDetails,\r\n // // error: errorMessage.newPanUtiError,\r\n // error: \"\",\r\n // };\r\n // // if(panDetails==null && panDetails==undefined){\r\n\r\n // // }\r\n // callback(result);\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\nexport const APanVerification = (\r\n callback: CallableFunction,\r\n panObject: {\r\n panNo: string;\r\n name: string;\r\n dob: string;\r\n source: string;\r\n }\r\n) => {\r\n apiService(\r\n {\r\n url: \"PanDetails/Verification\",\r\n method: \"POST\",\r\n body: panObject,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.APanVerification,\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\nexport const AGetClientDetailsByPan = (\r\n callback: CallableFunction,\r\n panNo: string, accountType?: number, userId?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"PanDetails/GetClientData\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: panNo,\r\n RequestFrom: 1,\r\n accountCategory: accountType ? accountType : 0,\r\n userId: userId ? parseInt(userId) : 0,\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\nexport const AKnowYourStatus = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n) => {\r\n apiService(\r\n {\r\n url: \"RegistrationStage/KnowStatus\",\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.knowYourStatus,\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, accountType?: string, userId?: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"PanDetails/GetClientData\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: \"\",\r\n LeadId: leadId,\r\n RequestFrom: 2,\r\n accountCategory: accountType ? accountType : \"\",\r\n userId: userId ? userId : \"\",\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: \"RegistrationStage/Save\",\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: \"RegistrationStage/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 ClientPrimaryDetailId: reqObj?.clientPrimaryDetailId,\r\n LeadId: reqObj?.leadId,\r\n CreatedBy: reqObj?.CreatedBy\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\r\nexport const ACheckUCCExists = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n mobile: string,\r\n email: string,\r\n leadId?: string,\r\n userId?: number,\r\n accountCategory?: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"RegistrationStage/CheckUCCExists\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n mobileNo: mobile,\r\n emailId: email,\r\n leadId: leadId,\r\n userId: userId,\r\n accountCategory: accountCategory\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};\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 CryptoJS from 'crypto-js';\r\n\r\nimport config from \"../../../config/domain\";\r\nexport const decryptJwtToken = (encryptedToken: any) => {\r\n const publicKey = config?.publicKey; // Use the same public key used in C#\r\n const secretKey = config?.secretKey; // Use the same secret key from _appSettings.Secret in C#\r\n\r\n\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const iv = CryptoJS.enc.Utf8.parse(publicKey);\r\n // console.log(\"decodeURIComponent(decodeURIComponent(needToDecrypt)\",decodeURIComponent(decodeURIComponent(encryptedToken)));\r\n let decryptedNew = CryptoJS.DES.decrypt(\r\n decodeURIComponent(decodeURIComponent(encryptedToken)),\r\n key,\r\n {\r\n keySize: 32,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n }\r\n );\r\n //console.log(\"decrypted\",decryptedNew.toString(CryptoJS.enc.Utf8));\r\n return decryptedNew.toString(CryptoJS.enc.Utf8);\r\n\r\n};\r\n\r\n\r\n\r\n","import config from \"../../../config/domain\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { xhrApiService } from \"../xhrApiServices\";\r\nimport { decryptJwtToken } from \"./encryptionNew\";\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\n\r\nexport const AUploadDocument = (\r\n callback: CallableFunction,\r\n uploadObj: any,\r\n onProgress?: any,\r\n saveObj?: any,\r\n) => {\r\n const docReqPayLoad: any = {\r\n ApplicationId: uploadObj.applicationid,\r\n FileName: uploadObj.filename,\r\n Base64Document: uploadObj.base64document,\r\n ClientPrimaryDetailId: saveObj?.clientPrimaryDetailId,\r\n LeadId: saveObj?.leadId,\r\n DocumentInfo: saveObj?.documentInfo\r\n ? sortDocumentInfo(saveObj?.documentInfo)\r\n : [],\r\n panNo: uploadObj?.panNo,\r\n createdBy:0\r\n //UtmInfoDetails: saveObj?.objUTM_Info\r\n\r\n };\r\n if (uploadObj?.DocType !== null && uploadObj?.DocType !== undefined) {\r\n docReqPayLoad.DocType = uploadObj.DocType;\r\n }\r\n if (\r\n uploadObj?.QltyByPassFlag !== null &&\r\n uploadObj?.QltyByPassFlag !== undefined\r\n ) {\r\n docReqPayLoad.QltyByPassFlag = uploadObj.QltyByPassFlag;\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 if (saveObj !== null && saveObj !== undefined) {\r\n docReqPayLoad.ClientPrimaryDetailId = saveObj?.clientPrimaryDetailId;\r\n docReqPayLoad.LeadId = saveObj?.leadId;\r\n docReqPayLoad.DocumentInfo = saveObj?.documentInfo\r\n ? sortDocumentInfo(saveObj?.documentInfo)\r\n : [];\r\n // docReqPayLoad.UtmInfoDetails = saveObj?.objUTM_Info;\r\n }\r\n let userId=0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n docReqPayLoad.createdBy=userId;\r\n xhrApiService(\r\n {\r\n url: \"Document/Upload\",\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 // 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: \"BS/Get\",\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: \"BS/Get\",\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: \"BS/SaveBr\",\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//DP/Verification\r\n\r\nexport const ADPverification = (callback: CallableFunction,\r\n saveObj: any) => {\r\n apiService(\r\n {\r\n url: \"DP/Verification\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.DPverification,\r\n },\r\n callback\r\n );\r\n\r\n}\r\nexport const ASaveDematDetails = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DP/Save\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.SaveDematDetailsRes,\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 AGetDPDetails = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DP/Get\",\r\n body: {\r\n applicationId:appID,\r\n esigndocumenttype: 0\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDPdetails,\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\nexport const ASaveBrokerageSegmentDetiails = (\r\n callback: CallableFunction,\r\n saveSegObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"BS/SaveSe\",\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: \"BS/Get\",\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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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\nexport const QCServiceTaskCreation = (\r\n callback: CallableFunction,\r\n appID: string, accountCategory: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"QC/CreateTask\",\r\n body: {\r\n applicationId: appID,\r\n esigndocumenttype: 0,\r\n accountCategory: accountCategory\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.QcTaskCreation,\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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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: \"Document/Download\",\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: \"Document/Upload\",\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 panNo: saveObj?.panNo\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 console.log(panObj, \"AextractPan\");\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\nexport const AextractPanNew = (callback: CallableFunction, panObj: any) => {\r\n console.log(panObj, \"AextractPanNew\");\r\n apiService(\r\n {\r\n url: \"Idfy/ED\",\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\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: \"Document/MargeMultipleImagestoPDF\",\r\n body: {\r\n ApplicationId: pdfObj.applicationId,\r\n UploadFlag: 2,\r\n clientPrimaryDetailId: pdfObj?.clientPrimaryDetailId,\r\n panNo: pdfObj?.panNo,\r\n leadId: pdfObj?.leadId,\r\n documentId: pdfObj?.documentId,\r\n documentCategoryId: pdfObj?.documentCategoryId,\r\n documentNumber: pdfObj?.documentNumber,\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\nexport const DropOffLogAPI = (\r\n callback: CallableFunction,\r\n appTicketObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"StageDetail/DropOffLog\",\r\n body: {\r\n applicationId: appTicketObj.applicationid,\r\n stageOrderId: appTicketObj.stageOrderId,\r\n accountCagtegory: appTicketObj?.accountCagtegory,\r\n userId: appTicketObj?.userId,\r\n rmAssisted: appTicketObj?.rmAssisted,\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\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\nexport 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 PCGAccCategory,\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, ITokenObj } 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\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 const localProductCode = localStorage.getItem(\"productCode\");\r\n const [isGuardianMinor, setIsGuardiaMinor] = React.useState(false);\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 console.log(\r\n \"GlobalStore.personaldetails.fsfullName\",\r\n GlobalStore.personaldetails.fsfullName\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 const nomineeListLabels = [\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 const [cities, setCities] = React.useState([]);\r\n const [genderError, setGenderError] = React.useState(\"\");\r\n const [SettlementError, setSettlementError] = React.useState(\"\");\r\n const [togSettlement, settogSettlement] = React.useState(true);\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 AGetStageCompletionStatus((res: any) => {\r\n if (res?.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n fatherOrSpouseName == null ||\r\n fatherOrSpouseName == undefined ||\r\n fatherOrSpouseName == \"\"\r\n ) {\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n setFatherOrSpouseName(\r\n responseObj?.fatherspousename !== undefined\r\n ? responseObj?.fatherspousename\r\n : \"\"\r\n );\r\n }\r\n }\r\n }\r\n }, 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 if (userId !== \"0\" && userId !== null && userId !== undefined) {\r\n !GlobalStore.sameAsPermanent &&\r\n GlobalStore.corrAddress !== undefined &&\r\n GlobalStore.corrAddress !== null &&\r\n GlobalStore.addressLine1 !== GlobalStore.corrAddress &&\r\n setSameAsPermanent(false);\r\n if (GlobalStore.addressLine1 && GlobalStore.PinCode) {\r\n let permAddLocal = { ...permanentAddress };\r\n permAddLocal.addressLine1 = GlobalStore.addressLine1;\r\n permAddLocal.PinCode = GlobalStore.PinCode;\r\n setPermanentAddress(permAddLocal);\r\n }\r\n if (\r\n !GlobalStore.sameAsPermanent &&\r\n GlobalStore.corrAddress &&\r\n GlobalStore.corrPincode\r\n ) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = GlobalStore.corrAddress;\r\n corrsAddLocal.PinCode = GlobalStore.corrPincode;\r\n setCorrespondanceAddress(corrsAddLocal);\r\n }\r\n } else {\r\n if (clientPartialDetails_ao.isManual) {\r\n setSameAsPermanent(clientPartialDetails_ao.sameAsPermanent);\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 if (clientPartialDetails_ao.sameAsPermanent == false) {\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 } else {\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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 }\r\n }\r\n\r\n if (\r\n (GlobalStore?.personaldetails?.gender == \"\" ||\r\n GlobalStore?.personaldetails?.gender == null ||\r\n GlobalStore?.personaldetails?.gender == undefined) &&\r\n (gender == \"\" || gender == null || gender == undefined) &&\r\n clientPartialDetails_ao.gender !== null &&\r\n clientPartialDetails_ao?.gender !== undefined &&\r\n clientPartialDetails_ao?.gender !== \"\"\r\n ) {\r\n GlobalStore.personaldetails.gender = clientPartialDetails_ao.gender;\r\n setGender(clientPartialDetails_ao.gender);\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 const showSectionOrHide = () => {\r\n let localShow: boolean = true;\r\n if (\r\n GlobalStore?.stageStatus?.accountcategory !== null &&\r\n GlobalStore?.stageStatus?.accountcategory !== undefined &&\r\n GlobalStore?.stageStatus?.accountcategory === 2\r\n ) {\r\n localShow = false;\r\n }\r\n return localShow;\r\n };\r\n const togSettlementclick = () => {\r\n if (togSettlement === true) {\r\n setSettlementError(\r\n \"Connect our nearest Branch Office, this account cannot be processed online.\"\r\n );\r\n settogSettlement(false);\r\n } else {\r\n setSettlementError(\"\");\r\n settogSettlement(true);\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.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 panNo: GlobalStore?.personaldetails.pan,\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 const guardianMinororMajor = (date: any) => {\r\n const today = new Date();\r\n const selectedDate = new Date(date);\r\n let age = today.getFullYear() - selectedDate.getFullYear();\r\n const monthDifference = today.getMonth() - selectedDate.getMonth();\r\n\r\n // Adjust age if the birth month hasn't occurred yet this year\r\n if (\r\n monthDifference < 0 ||\r\n (monthDifference === 0 && today.getDate() < selectedDate.getDate())\r\n ) {\r\n age--;\r\n }\r\n if (age >= 18) {\r\n return true;\r\n } else return false;\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 fathersName = \"\";\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 // 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 dob: guardianDetails?.dob,\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\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 fathersName = \"\";\r\n fathersName +=\r\n (resultObj.FatherOrSpouseFirstname || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseMiddleName || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseLastName || \"\");\r\n setFatherOrSpouseName(fathersName);\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 let pinCode: string = \"\";\r\n\r\n if (clientPartialDetails_ao.pincode) {\r\n pinCode = 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 pinCode = GlobalStore.kraInfoObject.pincode;\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 pinCode = GlobalStore.ckycInfoObject.pincode;\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 pinCode = GlobalStore.personaldetails.pincode;\r\n // AGetCityByPincode(\r\n // getFullAddress,\r\n // GlobalStore.personaldetails.pincode\r\n // );\r\n if (\r\n clientPartialDetails_ao.sameAsPermanent !== null &&\r\n clientPartialDetails_ao.sameAsPermanent !== undefined &&\r\n clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrPincode\r\n ) {\r\n AGetCityByPincode(\r\n (res: any) =>\r\n getCorrAddress(res, clientPartialDetails_ao.corrAddress),\r\n clientPartialDetails_ao.corrPincode\r\n );\r\n }\r\n if (pinCode !== null && pinCode !== undefined && pinCode !== \"\") {\r\n AGetCityByPincode(getFullAddress, pinCode);\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\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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\r\n AGetCityByPincode((res: any) => {\r\n if (\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null\r\n ) {\r\n if (\r\n clientPartialDetails_ao.addressLine1 !==\r\n clientPartialDetails_ao.corrAddress\r\n ) {\r\n getFullAddress(res, false);\r\n } else {\r\n getFullAddress(res, true);\r\n }\r\n }\r\n }, clientPartialDetails_ao.PinCode);\r\n // setPermanentAddress(permAddLocal);\r\n }\r\n if (\r\n clientPartialDetails_ao.sameAsPermanent !== null &&\r\n clientPartialDetails_ao.sameAsPermanen !== undefined &&\r\n !clientPartialDetails_ao.sameAsPermanent\r\n ) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = clientPartialDetails_ao.corrAddress;\r\n corrsAddLocal.PinCode = 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 setCorrespondanceAddress(corrsAddLocal);\r\n }\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 if (emailID == \"\" && emailID == undefined && emailID == null) {\r\n emailID = clientPartialDetails_ao.emailID;\r\n }\r\n if (\r\n fathersName == \"\" ||\r\n fathersName == null ||\r\n fathersName == undefined\r\n ) {\r\n if (\r\n GlobalStore.personaldetails.fsfullName == \"\" ||\r\n GlobalStore.personaldetails.fsfullName == null ||\r\n GlobalStore.personaldetails.fsfullName == undefined\r\n ) {\r\n setFatherOrSpouseName(\r\n clientPartialDetails_ao.fsfullName !== undefined\r\n ? clientPartialDetails_ao.fsfullName\r\n : \"\"\r\n );\r\n } else {\r\n setFatherOrSpouseName(GlobalStore.personaldetails.fsfullName);\r\n }\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, sameAsPerman?: boolean) {\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\r\n if (\r\n sameAsPerman !== null && sameAsPerman !== undefined\r\n ? sameAsPerman\r\n : sameAsPermanent\r\n ) {\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.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.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\r\n if (\r\n GlobalStore?.personaldetails?.fsfullName == null ||\r\n GlobalStore?.personaldetails?.fsfullName == undefined ||\r\n GlobalStore?.personaldetails?.fsfullName == \"\"\r\n ) {\r\n setFatherOrSpouseName(clientPartialDetails_ao.fsfullName);\r\n GlobalStore.personaldetails.fsfullName =\r\n clientPartialDetails_ao.fsfullName;\r\n } else {\r\n setFatherOrSpouseName(GlobalStore.personaldetails.fsfullName);\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 } 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 console.log(\r\n \"element &&\",\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 !== undefined &&\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 !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 !== undefined &&\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 );\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 !== undefined &&\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 console.log(\r\n \"OBject disabled Condition\",\r\n \"Adrr\",\r\n Object.values(permErrorObj).some((error) => error),\r\n \"nomError\",\r\n Object.values(nomErrorObj).some((error) => error),\r\n \"corrErr\",\r\n Object.values(corrErrorObj).some((error) => error),\r\n \" Object.values(guardErrorObj).some((error) => error)\",\r\n Object.values(guardErrorObj).some((error) => error),\r\n \"Object.values(permanentAddress).some((value) => !value) \",\r\n Object.values(permanentAddress).some((value) => !value),\r\n \"Object.values(correspondanceAddress).some((value) => !value)\",\r\n Object.values(correspondanceAddress).some((value) => !value),\r\n \"(relationshipData.mobileMatchedList &&\",\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 &&\r\n relationshipData.emailMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n ),\r\n \"(relationshipData?.bothMatchedList &&\",\r\n relationshipData?.bothMatchedList &&\r\n relationshipData?.bothMatchedList?.some(\r\n (value) => value.error || !value?.relationshipName\r\n ),\r\n \"validateNominees\",\r\n validateNominees(),\r\n \"!isEmailVerified\",\r\n !isEmailVerified,\r\n \" !isMobileVerified\",\r\n !isMobileVerified,\r\n \"email\",\r\n email === \"\",\r\n \"phone\",\r\n phone === \"\",\r\n \"fatherOrSpouseName\",\r\n fatherOrSpouseName.trim() === \"\",\r\n \"motherName\",\r\n motherName.trim() === \"\",\r\n \"eduQualification\",\r\n eduQualification === \"\",\r\n \"occupation\",\r\n occupation === \"\",\r\n \"indianResident\",\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 netWorth === \"\" || \"netWorth,\",\r\n parseInt(netWorth) < 1000 || \"annualIncome\",\r\n annualIncome === \"\" || \"placeOfBirth\",\r\n placeOfBirth === \"\" || \"errors\",\r\n errors,\r\n Object.values(errors).some((error) => error)\r\n );\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 console.log(\r\n \"holderFirstname\",\r\n GlobalStore.personaldetails.panDetails,\r\n\r\n {\r\n holderFirstname: GlobalStore?.stageStatus?.panfirstname ?? \"\",\r\n holderMiddleName: GlobalStore?.stageStatus?.panmiddletname ?? \"\",\r\n holderLastName: GlobalStore?.stageStatus?.panlastname ?? \"\",\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(getFullPANNAMe());\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 let holderFirstname = GlobalStore?.stageStatus?.panfirstname,\r\n holderMiddleName = GlobalStore?.stageStatus?.panmiddletname,\r\n holderLastName = GlobalStore?.stageStatus?.panlastname;\r\n if (holderFirstname == \"\" || holderFirstname == undefined) {\r\n holderFirstname = clientPartialDetails_ao?.panDetails?.Firstname;\r\n }\r\n if (holderMiddleName == \"\" || holderMiddleName == undefined) {\r\n holderMiddleName = clientPartialDetails_ao?.panDetails?.Middlename;\r\n }\r\n if (holderLastName == \"\" || holderLastName == undefined) {\r\n holderLastName = clientPartialDetails_ao?.panDetails?.Lastname;\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: parseInt(userId),\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: holderFirstname ?? \"\",\r\n holderMiddleName: holderMiddleName ?? \"\",\r\n holderLastName: holderLastName ?? \"\",\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\r\n ? employeeAccCategory\r\n : GlobalStore.stageStatus.isPCGSubLob\r\n ? PCGAccCategory\r\n : 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 createdBy: parseInt(userId),\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]?.guardianDetails?.dob).format(\r\n \"YYYY-MM-DD\"\r\n ),\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 if (sameAsPermanent) {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = true;\r\n } else kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = false;\r\n }\r\n if (GlobalStore?.stageStatus?.accountcategory === 2) {\r\n delete kycObj.periodicSettlement;\r\n delete kycObj.ddpi_type;\r\n delete kycObj.applicationType;\r\n }\r\n\r\n ASaveKycDetails(saveKycDetails, kycObj);\r\n } else {\r\n setGlobalError(\"Nominee % sharing should be 100\");\r\n setIsLoading(false);\r\n return;\r\n }\r\n }\r\n console.log(\"nomineeList\", nomineeList);\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][\"error\"][\"guardAnnualIncome\"] = \"\";\r\n array[index][\"error\"][\"guardFullName\"] = \"\";\r\n array[index][\"error\"][\"guardOccupation\"] = \"\";\r\n array[index][\"error\"][\"guardPlaceOfBirth\"] = \"\";\r\n array[index][\"error\"][\"guardRelation\"] = \"\";\r\n array[index][\"error\"][\"guardTitle\"] = \"\";\r\n\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 function ChangePoliticalVal(Value: any) {\r\n setPoliticalVal(Value);\r\n setErrCode(\"\");\r\n errorMsg(\"\");\r\n }\r\n const getFullPANNAMe = () => {\r\n let panFullName = \"\";\r\n if (\r\n GlobalStore?.stageStatus?.panfirstname !== undefined &&\r\n GlobalStore?.stageStatus?.panfirstname?.length > 0\r\n ) {\r\n panFullName = GlobalStore?.stageStatus?.panfirstname + \" \";\r\n if (\r\n GlobalStore?.stageStatus?.panmiddletname !== undefined &&\r\n GlobalStore?.stageStatus?.panmiddletname?.length > 0\r\n ) {\r\n panFullName += GlobalStore?.stageStatus?.panmiddletname\r\n .split(\" \")\r\n .join(\" \");\r\n }\r\n if (\r\n GlobalStore?.stageStatus?.panlastname !== undefined &&\r\n GlobalStore?.stageStatus?.panlastname?.length > 0\r\n ) {\r\n panFullName = GlobalStore?.stageStatus?.panlastname\r\n ? panFullName + \" \" + GlobalStore?.stageStatus?.panlastname\r\n : panFullName;\r\n }\r\n }\r\n if (panFullName == null || panFullName == undefined || panFullName == \"\") {\r\n panFullName = GlobalStore.personaldetails.PANName;\r\n }\r\n return panFullName;\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 ChangePoliticalVal(\"1\")}\r\n name=\"politicalParty\"\r\n label=\"I am a Politically Exposed Person\"\r\n //disabled={true}\r\n />\r\n ChangePoliticalVal(\"2\")}\r\n name=\"politicalParty\"\r\n label=\"I am Related to Politically Exposed Person\"\r\n //disabled={true}\r\n />\r\n ChangePoliticalVal(\"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 {showSectionOrHide() ? (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n togSettlementclick()}\r\n />\r\n
\r\n
\r\n {togSettlement && (\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) =>\r\n setDefaultAccountType(val.display)\r\n }\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 {defaultAccountType !== null &&\r\n defaultAccountType !== undefined &&\r\n defaultAccountType?.length > 0 &&\r\n defaultAccountType ==\r\n \"BSDA Resident Demat and Trading Account\" && (\r\n

\r\n You are eligible for BSDA only if this is your first\r\n demat account across all depositories. To be eligible\r\n under the scheme you should not have a demat asset\r\n value should not be more than Rs. 10 Lakh at any\r\n point. If you select this option and do not meet the\r\n required criteria of BSDA you would be charged as per\r\n ordinary resident demat account holder.\r\n

\r\n )}\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 \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 setGlobalError(\"\");\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\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 if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n event?.target?.value?.length > 8 &&\r\n event?.target?.value?.length < 18\r\n ) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue: \"\",\r\n });\r\n } else {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n errorMsg(errorCode.FE40),\r\n });\r\n } else if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n event?.target?.value?.length < 8\r\n ) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n errorMsg(errorCode.FE40),\r\n });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue: \"\",\r\n });\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\r\n
\r\n \r\n {/* DOB start */}\r\n\r\n {\r\n console.log(\"on select called\", date);\r\n if (guardianMinororMajor(date)) {\r\n setIsGuardiaMinor(false);\r\n handleAddNomineeGuardianValue(\r\n \"dob\",\r\n index,\r\n date\r\n );\r\n } else setIsGuardiaMinor(true);\r\n }}\r\n defaultDate={\r\n nomiDetails[index]?.guardianDetails?.dob\r\n ? new Date(\r\n nomiDetails[\r\n index\r\n ]?.guardianDetails?.dob\r\n )\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 // \"dob\",\r\n // errorMsg(errorCode.FE27)\r\n // );\r\n }}\r\n isError={\r\n isGuardianMinor\r\n ? true\r\n : nomiDetails[index]?.error\r\n ?.guardianDetails?.dob\r\n ? true\r\n : false\r\n }\r\n />\r\n {nomiDetails[index]?.error?.guardianDetails\r\n ?.dob && (\r\n \r\n )}\r\n {isGuardianMinor && (\r\n \r\n )}\r\n {/* DOB end */}\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

\r\n {/* Nominee Details End */}\r\n {/* Error Msg Start*/}\r\n {errCode && politicalVal == \"0\" && (\r\n
\r\n {/* {{ errCode }} */}\r\n \r\n \r\n {/* \r\n */}\r\n \r\n
\r\n )}\r\n {errCode && politicalVal != \"0\" && (\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 {SettlementError && (\r\n
\r\n {SettlementError}\r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n 0) ||\r\n isGuardianMinor\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 dpaccounttype: any;\r\n dpaccountchanged: boolean;\r\n dob: string;\r\n isPCGSubLob: boolean;\r\n panfirstname?: string;\r\n panmiddletname?: string;\r\n panlastname?: string;\r\n dp_account_type?: number;\r\n accounttype?: number;\r\n accountcategory?: number;\r\n isdpcompleted?: boolean;\r\n first_esign_initiated?:boolean;\r\n second_esign_initiated?:boolean;\r\n rmassisted?: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 accountType: \"\",\r\n userId: \"\",\r\n middleName:\"\"\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 pennyDropCount: 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 dpid:string=\"\";\r\n static clientid:string=\"\";\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 dpaccounttype: \"\",\r\n dpaccountchanged: false,\r\n dob: \"\",\r\n isPCGSubLob: false,\r\n isdpcompleted: false,\r\n first_esign_initiated:false,\r\n rmassisted:false\r\n };\r\n static accountcategory:number;\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 addressLine1?:string;\r\n static sameAsPermanent?:boolean;\r\n static corrAddress?:string;\r\n static PinCode?:string;\r\n static corrPincode?:string;\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\nimport moment from \"moment\";\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 !== null && clientDetails.isPANVerified !== undefined && !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 if (clientPartialDetails_ao.birthDate !== null && clientPartialDetails_ao.birthDate !== undefined && clientPartialDetails_ao.birthDate !== \"\") {\r\n GlobalStore.birthDate = clientPartialDetails_ao.birthDate || \"\";\r\n } else {\r\n GlobalStore.birthDate = moment(clientPartialDetails_ao.dob).format(\"MM/DD/YYYY\");\r\n }\r\n\r\n\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 !== null && clientPartialDetails_ao.isKRA !== undefined ? 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 console.log(\"Object.keys(clientPartialDetailsToStore()).length === 0\", Object.keys(clientPartialDetails_ao).length);\r\n return clientPartialDetails_ao;\r\n\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 queryParameter(searchstring: string) {\r\n return new URLSearchParams(searchstring);\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 dpaccounttype: apiResponseObj.dpaccounttype,\r\n dpaccountchanged: apiResponseObj.dpaccountchanged,\r\n dob: apiResponseObj.dob,\r\n isPCGSubLob: apiResponseObj.ispcgsublob,\r\n panfirstname: apiResponseObj?.panfirstname,\r\n panmiddletname: apiResponseObj?.panmiddletname,\r\n panlastname: apiResponseObj?.panlastname,\r\n dp_account_type: apiResponseObj?.dp_account_type,\r\n accounttype: apiResponseObj?.accounttype,\r\n accountcategory: apiResponseObj?.accountcategory,\r\n isdpcompleted: apiResponseObj?.isdpcompleted,\r\n first_esign_initiated: apiResponseObj?.first_esign_initiated,\r\n rmassisted:apiResponseObj?.rmassisted,\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 }\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 React, { useState } 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 AGetOtpNew,\r\n AValidateOtpNew,\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 forbiddenWordsRegex,\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 {\r\n ACheckRAAccount,\r\n AGetRelationshipData,\r\n} from \"../../Services/dashboard/profileApiService\";\r\n\r\nimport { debug } from \"console\";\r\nimport config from \"../../../config/domain\";\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\nexport interface rmSourceList {\r\n EmpCode: string;\r\n UserName: string;\r\n EmpName: string;\r\n EmpCodeTxt: string;\r\n Source: string;\r\n Plan: string;\r\n Mobile_No: string;\r\n}\r\nlet timer: any;\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_CONTENT = quryParams.get(\"utm_content\")\r\n ? quryParams.get(\"utm_content\")\r\n : \"\";\r\n const UTM_TERM = quryParams.get(\"utm_term\") ? quryParams.get(\"utm_term\") : \"\";\r\n const UTM_PLACEMENT = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n const [showRmCode, setShowRmCode] = React.useState(false);\r\n const [cities, setCities] = React.useState([]);\r\n const localProductCode = quryParams.get(\"productCode\");\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: undefined,\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 var CreateNewUCC: any;\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 [multipleRMCodesFound, setMultipleRMCodesFound] =\r\n React.useState(false);\r\n const [utmCampaignCode, setUtmCampaignCode] = React.useState(null);\r\n const [sourceNames, setSourceNames] = React.useState(\"\");\r\n const [planAsPerSource, setPlanAsPerSource] = React.useState(\"\");\r\n const [rmCodeList, setRmCodeList] = React.useState>([]);\r\n const [rmCodeListDisplay, setRmCodeListDisplay] = React.useState([]);\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 [otpIds, setOtpIds] = React.useState<{\r\n emailOtpId?: string;\r\n mobileOtpId?: string;\r\n }>({\r\n emailOtpId: undefined,\r\n mobileOtpId: undefined,\r\n });\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 const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [hideAreBeingSection, setHideAreBeingSection] = React.useState(false);\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 [allreadyExistMobOrEmail, setAllreadyExistMobOrEmail] = useState({\r\n mob: false,\r\n email: false,\r\n });\r\n const [createNewUCC, setCreateNewUCC] = React.useState(\"\");\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 debounce(value: string, timeout = 1000) {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(() => {\r\n checkRMCodeValue(value);\r\n }, timeout);\r\n }\r\n\r\n function checkRMCodeValue(value: string) {\r\n setRmCodeList([]);\r\n setRmCodeAssistedName(\"\");\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\r\n if (value !== \"\") {\r\n AGetEmployeeDetails(checkEmployeesDetails, { username: value });\r\n } else {\r\n setErrors({ ...errors, rmCodeAssisted: errorMsg(errorCode.FE06) });\r\n setRmCodeAssistedName(\"\");\r\n setSourceNames(\"\");\r\n setUtmCampaignCode(null);\r\n setPlanAsPerSource(\"\");\r\n }\r\n }\r\n const getProductCode = () => {\r\n let productCodeNew: string = \"\";\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n if (\r\n localProductCode !== null &&\r\n localProductCode !== undefined &&\r\n localProductCode !== \"\" &&\r\n localProductCode?.length > 0\r\n ) {\r\n productCodeNew = localProductCode;\r\n if (config?.hideInvestment && productCodeNew == \"I\") {\r\n // need to remove when we are going live with investment.// or make flag false in the config file.\r\n productCodeNew = \"TD\";\r\n }\r\n } else {\r\n if (objAccType === \"DMT\") {\r\n productCodeNew = \"D\";\r\n } else {\r\n productCodeNew = \"TD\";\r\n }\r\n }\r\n return productCodeNew;\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 && res.data._employeedetail) {\r\n if (res.data._employeedetail.length > 0) {\r\n if (res.data._employeedetail.length === 1) {\r\n const rmCodeName = res.data._employeedetail[0];\r\n setMultipleRMCodesFound(false);\r\n if (\r\n rmCodeName?.EmpName == null &&\r\n rmCodeName?.UserName == null &&\r\n rmCodeName?.EmpCode == null &&\r\n rmCodeName?.Source == null &&\r\n rmCodeName?.Plan == null\r\n ) {\r\n setErrors({ ...errors, rmCodeAssisted: \"No Data Found.\" });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\r\n } else {\r\n // setRmCodeAssistedName(rmCodeName?.EmpName ?? rmCodeName.UserName);\r\n setRmCodeAssistedName(\r\n rmCodeName?.EmpName == \"\"\r\n ? rmCodeName.UserName\r\n : rmCodeName.EmpName\r\n );\r\n setUtmCampaignCode(rmCodeName?.EmpCode);\r\n setSourceNames(rmCodeName?.Source);\r\n setPlanAsPerSource(rmCodeName.Plan);\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n setIsAssistedDataValid(false);\r\n }\r\n } else if (res.data._employeedetail.length > 1) {\r\n setRmCodeList(res.data._employeedetail);\r\n let rmList = res?.data?._employeedetail.map((rmcodeRecord: any) => {\r\n return {\r\n display:\r\n rmcodeRecord?.EmpName == \"\"\r\n ? rmcodeRecord.UserName + \" - \" + rmcodeRecord?.Source\r\n : rmcodeRecord.EmpName + \" - \" + rmcodeRecord?.Source,\r\n value: rmcodeRecord?.EmpCode,\r\n };\r\n });\r\n setRmCodeListDisplay(rmList);\r\n setMultipleRMCodesFound(true);\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n }\r\n } else {\r\n setErrors({ ...errors, rmCodeAssisted: \"No Data Found.\" });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setIsAssistedDataValid(false);\r\n setPlanAsPerSource(\"\");\r\n }\r\n } else {\r\n setErrors({\r\n ...errors,\r\n rmCodeAssisted: \"Please Enter correct RM code\",\r\n });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\r\n setMultipleRMCodesFound(false);\r\n }\r\n setErrCode(\"\");\r\n setIsLoading(false);\r\n }\r\n }\r\n const setRmAssitedThings = (rmCodeName: rmSourceList) => {\r\n setRmCodeAssistedName(\r\n rmCodeName?.EmpName == \"\" ? rmCodeName.UserName : rmCodeName.EmpName\r\n );\r\n setUtmCampaignCode(rmCodeName?.EmpCode);\r\n setSourceNames(rmCodeName?.Source);\r\n setPlanAsPerSource(rmCodeName.Plan);\r\n setMultipleRMCodesFound(false);\r\n setIsAssistedDataValid(false);\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 && res.data._employeedetail) {\r\n // if (Object.keys(res.data._employeedetail).length > 0) {\r\n // const rmCodeName = res.data._employeedetail;\r\n // setRmCodeAssistedName(rmCodeName?.EmpName ?? rmCodeName.UserName);\r\n // setUtmCampaignCode(rmCodeName?.EmpCode);\r\n // setSourceNames(rmCodeName?.Source);\r\n // setErrors({ ...errors, rmCodeAssisted: undefined });\r\n // setIsAssistedDataValid(false);\r\n // }\r\n // }\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 // setSourceNames(\"\");\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 AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n mobileOtpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n /* .. res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\" */\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 function mobileOtpSentNew(res: any) {\r\n // console.log(res);\r\n\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.mobileOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n if (res?.error) {\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\r\n setIsLoading(false);\r\n setShowMobileOtp(false);\r\n }\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 } else if (otpType === \"mobile\") {\r\n setDisableOtp(true);\r\n }\r\n AValidateOtpNew(\r\n (res: any) => {\r\n if (otpType === \"email\") {\r\n checkEmailValidateOtpNew(res);\r\n } else {\r\n checkMobileValidateOtpNew(res);\r\n }\r\n },\r\n otpType == \"email\" ? otpIds?.emailOtpId : otpIds?.mobileOtpId,\r\n val\r\n );\r\n }\r\n\r\n // if (val.length === 4) {\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\r\n function checkEmailValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.email = values.email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n setInvalidEmailOtp(true);\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 }\r\n\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\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 {\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\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 }\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 setIsButtonDisabled(true);\r\n setSkipCreateLead(false);\r\n if (\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.mobile,\r\n values.mobile,\r\n ]).every((value) => value)\r\n ) {\r\n setIsLoading(true);\r\n\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: \"\",\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 searchLeadByName();\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 === 0 || 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: getProductCode(),\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 React.useEffect(() => {\r\n if (allreadyExistMobOrEmail.email || allreadyExistMobOrEmail.mob) {\r\n setIsButtonDisabled(false);\r\n\r\n if (allreadyExistMobOrEmail.mob) {\r\n setShowMobileBtn(true);\r\n\r\n setIsMobileVerified(false);\r\n } else if (allreadyExistMobOrEmail.email) {\r\n setShowMobileMailBtn(true);\r\n\r\n setIsEmailVerified(false);\r\n }\r\n }\r\n }, [allreadyExistMobOrEmail]);\r\n\r\n function searchLeadByName_Check() {\r\n setEmail_mobile_verificationCheckFlag(true);\r\n }\r\n console.log(\r\n \"Object.values(errors).some((error) => error) \",\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 !isMobileVerified ||\r\n !isEmailVerified ||\r\n isAssistedDataValid ||\r\n isButtonDisabled,\r\n isMobileVerified,\r\n isEmailVerified,\r\n Object.values(errors).some((error) => error),\r\n isAssistedDataValid,\r\n isButtonDisabled,\r\n Object.values(values).some((value) => !value),\r\n GlobalStore.user.mobile !== values.mobile,\r\n GlobalStore?.user?.mobile,\r\n values?.mobile,\r\n GlobalStore?.user?.email,\r\n values?.email\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 setAllreadyExistMobOrEmail({\r\n ...res?.existedFieldDetails,\r\n });\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: getProductCode(),\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\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 const checkRAAccountResp = (resp: any) => {\r\n if (resp == null || resp == undefined) {\r\n setHideAreBeingSection(false);\r\n } else {\r\n if (!resp || resp.error) {\r\n setHideAreBeingSection(false);\r\n setErrCode(resp.error);\r\n } else {\r\n if (resp && resp?.data) {\r\n if (\r\n resp?.data &&\r\n resp?.data?.IsRAExists !== null &&\r\n resp?.data?.IsRAExists !== undefined &&\r\n resp?.data?.IsRAExists\r\n ) {\r\n setHideAreBeingSection(true);\r\n } else {\r\n setHideAreBeingSection(false);\r\n }\r\n } else {\r\n setHideAreBeingSection(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 ACheckRAAccount(checkRAAccountResp, {\r\n EmailId: values.email,\r\n MobileNo: values.mobile,\r\n PanNo: \"\",\r\n });\r\n }\r\n }, [isMobileVerified, isEmailVerified]);\r\n const handleCreateUcc = () => {\r\n let reqObj = {\r\n mobile: values.mobile,\r\n\r\n email: values.email,\r\n\r\n oldMobile: \"\",\r\n\r\n oldEmail: \"\",\r\n\r\n leadId: GlobalStore.leadId,\r\n\r\n isMobileVerify: mobileVerifiedFE,\r\n\r\n isEmailVerify: mailVerifiedFE,\r\n\r\n firstName: values.firstname,\r\n\r\n lastName: values.lastName,\r\n };\r\n\r\n if (!GlobalStore.user.UCC_Code) {\r\n CreateUCCRegCode((req: any) => {\r\n props.history.push(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\r\n }, reqObj);\r\n }\r\n };\r\n function searchedLead(res: any) {\r\n setSkipCreateLead(false);\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setAllreadyExistMobOrEmail({\r\n ...res.existedFieldDetails,\r\n });\r\n\r\n setErrCode(res.error);\r\n\r\n setIsLoading(false);\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 if (responseObj.leadList[0].UCCCode) {\r\n GlobalStore.user.UCC_Code = responseObj.leadList[0].UCCCode;\r\n }\r\n // else {\r\n // handleCreateUcc();\r\n // }\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\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 if (\r\n !res?.existedFieldDetails?.mob &&\r\n !res?.existedFieldDetails?.email\r\n ) {\r\n console.log(\"lead logger 11\");\r\n setSkipCreateLead(true);\r\n }\r\n }\r\n } else {\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 }\r\n console.log(\"lead logger 12\", isMobileVerified, \"||\", isEmailVerified);\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 skipCreateLead &&\r\n values.mobile &&\r\n values.email &&\r\n values.firstname &&\r\n values.lastName &&\r\n !errCode\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 = sourceNames;\r\n utm_content = planAsPerSource;\r\n utm_campaign = utmCampaignCode ? utmCampaignCode.toString() : \"\";\r\n isReferral = true;\r\n sourceName = sourceNames;\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 if (\r\n (utm_source == \"\" || utm_source == null || utm_source == undefined) &&\r\n UTM_SOURCE !== null &&\r\n UTM_SOURCE !== undefined &&\r\n UTM_SOURCE !== \"\"\r\n ) {\r\n utm_source = UTM_SOURCE;\r\n }\r\n if (\r\n (utm_campaign == \"\" ||\r\n utm_campaign == null ||\r\n utm_campaign == undefined) &&\r\n UTM_CAMPAIGN !== null &&\r\n UTM_CAMPAIGN !== undefined &&\r\n UTM_CAMPAIGN !== \"\"\r\n ) {\r\n utm_campaign = utm_campaign;\r\n }\r\n if (\r\n (utm_content == \"\" || utm_content == null || utm_content == undefined) &&\r\n UTM_CAMPAIGN !== null &&\r\n UTM_CAMPAIGN !== undefined &&\r\n UTM_CAMPAIGN !== \"\"\r\n ) {\r\n utm_campaign = utm_campaign;\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 let utm_term = objUtm.utm_term;\r\n if (\r\n (utm_term == \"\" || utm_term == null || utm_term == undefined) &&\r\n UTM_TERM !== null &&\r\n UTM_TERM !== undefined &&\r\n UTM_TERM !== \"\"\r\n ) {\r\n utm_term = UTM_TERM;\r\n }\r\n let utm_medium = objUtm.utm_medium;\r\n if (\r\n (utm_medium == \"\" || utm_medium == null || utm_medium == undefined) &&\r\n UTM_MEDIUM !== null &&\r\n UTM_MEDIUM !== undefined &&\r\n UTM_MEDIUM !== \"\"\r\n ) {\r\n utm_medium = UTM_MEDIUM;\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: getProductCode(),\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n sourceName: sourceName || objUtm.utm_source,\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: utm_medium ? utm_medium : objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source,\r\n subSourceName: subSourceName || objUtm.utm_campaign,\r\n utm_term: utm_term ? utm_term : objUtm.utm_term || \"\",\r\n };\r\n\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n if (!skipCreateLead) {\r\n console.log(\"CreateLead\", createLead);\r\n ACreateLeadSource((res: any) => leadCreated(res, createLead), createLead);\r\n // CreateNewUCC=false;\r\n } else {\r\n //CreateNewUCC=true;\r\n console.log(\"CreateNewUCC 1\", CreateNewUCC);\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 if (!res) {\r\n //setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (respData) {\r\n setErrCode(respData);\r\n setIsLoading(false);\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\r\n setIsLoading(false);\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 setIsLoading(false);\r\n }\r\n }\r\n }\r\n window.onload = () => {\r\n localStorage.setItem(\"currentURL\", window.btoa(window.location.href));\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 setSourceNames(\"\");\r\n setMultipleRMCodesFound(false);\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 AGetOtpNew(\r\n (res: any) => {\r\n emailOtpResNew(res);\r\n },\r\n values.email,\r\n \"EMAIL\"\r\n );\r\n // AGetMobileOtp(emailOtpSent, '9770308828');\r\n }\r\n function emailOtpResNew(res: any) {\r\n if (res.data && res.status) {\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.emailOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\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 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 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, event) => {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstname: errorMsg(errorCode.FE55),\r\n });\r\n } else\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, event) => {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n } else\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 autoComplete={\"off\"}\r\n />\r\n
*/}\r\n {/* City End*/}\r\n {/* Email Start*/}\r\n
\r\n
\r\n \r\n {\r\n if (forbiddenWordsRegex.test(value)) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else {\r\n setShowMobileMailBtn(true);\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"email\", value);\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: \"\",\r\n });\r\n onChange(\"email\", value);\r\n }\r\n }}\r\n onBlur={(error, e) => {\r\n if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n forbiddenWordsRegex.test(e?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else {\r\n if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n (emailRegex.test(e?.target?.value) || !error?.pattern)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE51),\r\n });\r\n } else {\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 }\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 interested in opening a Demat and Trading Account with Nuvama Wealth and Investment Limited (NWIL) through online mode. I acknowledge that my contact details will be utilized for all future communications from Nuvama, which may include transaction updates in my accounts and information on different products and services offered by Nuvama 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.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 {\r\n setShowMobileBtn(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"mobile\", value);\r\n }}\r\n onBlur={(error, event) => {\r\n if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n (phoneNo.test(event?.target?.value) || !error?.pattern)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE52),\r\n });\r\n } else {\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 }}\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n inputPattern={integerExp}\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\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 {isMobileVerified &&\r\n isEmailVerified &&\r\n !hideAreBeingSection && (\r\n
\r\n handleRmCodeCheckBox()}\r\n >\r\n \r\n If you are being assisted by nuvama representative\r\n or referred by existing account holder\r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {beingAssistedCheckbox && (\r\n <>\r\n
\r\n \r\n {\r\n setRmCodeAssisted(value);\r\n debounce(value);\r\n }}\r\n onBlur={() => {}}\r\n placeholder=\"Eg. ABC123\"\r\n errorText={errors.rmCodeAssisted}\r\n type=\"text\"\r\n />\r\n
\r\n
\r\n {rmCodeList && rmCodeList?.length > 0 ? (\r\n <>\r\n
\r\n \r\n {\r\n if (\r\n value !== undefined &&\r\n value !== null &&\r\n value?.value\r\n ) {\r\n let rmCodeFound: any = rmCodeList.find(\r\n (rmCode) => rmCode.EmpCode === value?.value\r\n );\r\n if (\r\n rmCodeFound !== null &&\r\n rmCodeFound !== undefined\r\n ) {\r\n setRmAssitedThings(rmCodeFound);\r\n }\r\n }\r\n }}\r\n // onChange={value => onChange(\"city\", value)}\r\n searchLength={0}\r\n options={rmCodeListDisplay}\r\n // onBlur={handleCityBlur}\r\n searchKey=\"display\"\r\n placeholder=\"Eg.Jiya aliani\"\r\n // noDataMsg=\"No Data found.\"\r\n // errorText={errors.city}\r\n isDownArrow={true}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n

\r\n Enter the employee / partner / EP / client code to\r\n identify the code
\r\n {/* manager */}\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([\r\n values.firstname,\r\n values.lastName,\r\n values.email,\r\n values.mobile,\r\n ]).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([\r\n values.firstname,\r\n values.lastName,\r\n values.email,\r\n values.mobile,\r\n ]).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 isButtonDisabled ||\r\n multipleRMCodesFound\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 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 queryParameter,\r\n} from \"../../Services/globalService\";\r\nimport { containerUrl, dashboardUrl, statusUrl } from \"../../utils/constants\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\n\r\nexport interface RegistrationLayoutProps {\r\n isSubmissionRoute?: boolean;\r\n supportNeeded?: boolean;\r\n headerLogoClassName?: string;\r\n regOutNewClassName?: string;\r\n skipOption?: boolean;\r\n}\r\nexport interface IEsignObject {\r\n Applicationid: string;\r\n AccountCategory: number;\r\n isEsign: string;\r\n isPOA: boolean;\r\n EsignDocType: number;\r\n UserId?: number;\r\n PanNo?: string;\r\n}\r\n\r\nexport interface IDropoffObject {\r\n Applicationid: string;\r\n Pan: string;\r\n Ac: string;\r\n uid: any;\r\n}\r\nconst RegistrationLayout: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const quryMainParams = queryParameter(location.search);\r\n let id = quryMainParams.get(\"id\");\r\n let skipUrl = quryMainParams.get(\"skipUrl\");\r\n let type: any = quryMainParams.get(\"type\");\r\n const [isSubmit, setIsSubmit] = React.useState(false);\r\n if (\r\n props.isSubmissionRoute !== undefined &&\r\n props?.isSubmissionRoute !== null &&\r\n props?.isSubmissionRoute\r\n ) {\r\n props.isSubmissionRoute && clientPartialDetailsToStore();\r\n }\r\n function searchByLeadId(res: any, queryObject?: IEsignObject) {\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 GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.accountcategory = res.data.AccountCategory;\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 clientPartialDetails_ao.leadID = res.data.LeadId;\r\n clientPartialDetails_ao.pan = res.data?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.data.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.data.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n if (\r\n queryObject !== undefined &&\r\n queryObject !== null &&\r\n queryObject?.isEsign !== null &&\r\n queryObject?.isEsign !== undefined &&\r\n queryObject?.isEsign !== \"\" &&\r\n queryObject?.isEsign === \"K\"\r\n ) {\r\n setTimeout(() => {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n queryObject?.Applicationid\r\n );\r\n }, 1000);\r\n } else history.push(statusUrl.statusContinue);\r\n } else {\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n }\r\n }\r\n }\r\n const getData = (\r\n panNo: string,\r\n accountcategory: any,\r\n userid: any,\r\n queryobject?: any\r\n ) => {\r\n AGetClientDetailsByPan(\r\n (res: any) => {\r\n searchByLeadId(res, queryobject);\r\n },\r\n panNo,\r\n accountcategory,\r\n userid\r\n );\r\n };\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 !(type !== null && type !== undefined && type !== \"\")\r\n ) {\r\n if (\r\n props.isSubmissionRoute !== undefined &&\r\n props?.isSubmissionRoute !== null &&\r\n props?.isSubmissionRoute\r\n ) {\r\n } else {\r\n if (\r\n props?.skipOption !== undefined &&\r\n props?.skipOption !== null &&\r\n props?.skipOption\r\n ) {\r\n } else {\r\n console.log(\"Submission\", props?.isSubmissionRoute);\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 if (\r\n skipUrl !== \"\" &&\r\n skipUrl !== undefined &&\r\n skipUrl?.toLowerCase() == \"yes\"\r\n ) {\r\n } else if (type !== null && type !== undefined && type !== \"\") {\r\n if (id !== null && id !== undefined && id !== \"\" && id?.length > 0) {\r\n console.log(\"queryobject\", id);\r\n let queryString = window.atob(id);\r\n let queryObject2: IDropoffObject = JSON.parse(\r\n queryString\r\n ) as IDropoffObject;\r\n if (\r\n queryObject2?.Pan !== null &&\r\n queryObject2?.Pan !== undefined &&\r\n queryObject2?.Pan !== \"\"\r\n ) {\r\n getData(queryObject2?.Pan, queryObject2?.Ac, queryObject2?.uid);\r\n }\r\n }\r\n // const queryObject = parseQuery(location.search);\r\n // console.log(\"QyerObj\", decodeURI(queryObject?.id));\r\n } else {\r\n if (\r\n props?.skipOption !== undefined &&\r\n props?.skipOption !== null &&\r\n props?.skipOption\r\n ) {\r\n } else {\r\n if (id !== null && id !== undefined && id !== \"\" && id?.length > 0) {\r\n let queryString = window.atob(id);\r\n let queryObject2: IEsignObject = JSON.parse(\r\n queryString\r\n ) as IEsignObject;\r\n if (\r\n queryObject2?.Applicationid !== null &&\r\n queryObject2?.Applicationid !== undefined\r\n ) {\r\n localStorage.removeItem(\"isESignSubmitted\");\r\n\r\n if (\r\n queryObject2?.AccountCategory !== null &&\r\n queryObject2?.AccountCategory !== undefined\r\n ) {\r\n if (\r\n queryObject2?.AccountCategory == 2 &&\r\n queryObject2.isEsign == \"A\" &&\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n GlobalStore.applicationID = queryObject2?.Applicationid;\r\n history.replace(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n queryObject2?.PanNo !== null &&\r\n queryObject2?.PanNo !== undefined &&\r\n queryObject2?.PanNo !== \"\"\r\n ) {\r\n if (queryObject2.isEsign === \"K\") {\r\n getData(\r\n queryObject2?.PanNo,\r\n queryObject2?.AccountCategory,\r\n queryObject2?.UserId,\r\n queryObject2\r\n );\r\n } else\r\n getData(\r\n queryObject2?.PanNo,\r\n queryObject2?.AccountCategory,\r\n queryObject2?.UserId\r\n );\r\n }\r\n }\r\n }\r\n if (queryObject2.isEsign === \"K\") {\r\n if (\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }\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 console.log(\"hereqqq111\");\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 (\r\n queryObject.isEsign === \"A\" &&\r\n !responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n //history.replace(statusUrl.docVerificationInProgress);\r\n } else if (\r\n queryObject.isEsign === \"A\" &&\r\n responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (!queryObject.isEsign) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n }\r\n } else {\r\n const quryParams = queryParameter(location.search);\r\n let id = quryParams.get(\"id\");\r\n if (\r\n id !== null &&\r\n id !== undefined &&\r\n id !== \"\" &&\r\n id?.length > 0\r\n ) {\r\n let queryObject2: IEsignObject = JSON.parse(\r\n window.atob(id)\r\n ) as IEsignObject;\r\n if (queryObject2.isPOA === true)\r\n history.replace(containerUrl.poa);\r\n else if (\r\n queryObject2?.AccountCategory !== null &&\r\n queryObject2?.AccountCategory !== undefined &&\r\n queryObject2?.AccountCategory == 2\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (queryObject2.isEsign === \"K\") {\r\n if (\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n history.replace(containerUrl.esignsubmit);\r\n } else history.replace(containerUrl.submit);\r\n } else if (\r\n queryObject2.isEsign === \"A\" &&\r\n !responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n //history.replace(statusUrl.docVerificationInProgress);\r\n } else if (\r\n queryObject2.isEsign === \"A\" &&\r\n responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (!queryObject2.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\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, { 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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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 AGetRMEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n userId?: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/GetRMAssistLink\",\r\n body: {\r\n applicationId: applicationid,\r\n esignDocumentType: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n UserId: userId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getRMAssitedEsignLink,\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\nexport const AGetEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n panNo?: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/GetLink\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n PanNo: panNo\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\nexport const AGetRMEsignVerificationUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n userId: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/RMVerificationLink\",\r\n body: {\r\n applicationId: applicationid,\r\n esignDocumentType: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n esignVendorType: 0,\r\n userId: userId\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: \"AccountDetail/Get\",\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 accountCategory?: any,\r\n isKycDownload?: boolean,\r\n) => {\r\n let body: any = {\r\n ApplicationId: applicationid,\r\n accountCategory: accountCategory,\r\n isKYCDownload: isKycDownload\r\n };\r\n if (isFullPdf) {\r\n body.EsignFlag = 1;\r\n }\r\n apiService(\r\n {\r\n url: \"Document/KycPdf\",\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: \"ProfileStage/GetProfilingQuestion\",\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: \"ProfileStage/GetProfilingQuestion\",\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: \"ProfileStage/SaveProfilingQuestion\",\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 authenticateNavBarObj,\r\n dashboardUrl,\r\n dematNavBarObj,\r\n ILeftNavBarArray,\r\n ipvNavBarObj,\r\n leftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport { completeModuleStatus } from \"../../Services/globalService\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\n\r\nexport interface ProfileNavBarProps {\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function checkModuleCompleteness(\r\n isUploadDocumentsCompleted: boolean,\r\n dematAccountFound?: any,\r\n addressAccountFoundLocal?: any\r\n) {\r\n let userId = 0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n if (\r\n GlobalStore.stageStatus.isaddressstagecompleted\r\n //&& (addressAccountFoundLocal == null || addressAccountFoundLocal == undefined)\r\n ) {\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n }\r\n // if (\r\n // addressAccountFoundLocal !== null &&\r\n // addressAccountFoundLocal !== undefined\r\n // ) {\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 if (!GlobalStore.leftNavBarState?.includes(ipvNavBarObj))\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n completeModuleStatus(dashboardUrl.ipv);\r\n }\r\n if (\r\n GlobalStore.stageStatus.isdpcompleted !== null &&\r\n GlobalStore?.stageStatus?.isdpcompleted !== undefined &&\r\n GlobalStore?.stageStatus?.accountcategory == 2 &&\r\n GlobalStore?.stageStatus?.isdpcompleted\r\n ) {\r\n if (!GlobalStore.leftNavBarState?.includes(dematNavBarObj))\r\n GlobalStore.leftNavBarState.push(dematNavBarObj);\r\n if (dematAccountFound !== undefined && dematAccountFound !== null) {\r\n } else completeModuleStatus(dashboardUrl.demat);\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 let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n React.useEffect(() => {\r\n setLeftNavBarState(GlobalStore.leftNavBarState);\r\n\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 (GlobalStore?.stageStatus?.accountcategory == 2) {\r\n let filterNavIndexForProfiler = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filteredLeftNavBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (userId !== 0) {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex2 > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex2, 1);\r\n } else {\r\n if (\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n } else {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (!filteredLeftNavBar?.includes(authenticateNavBarObj))\r\n filteredLeftNavBar.push(authenticateNavBarObj);\r\n }\r\n }\r\n\r\n if (filterNavIndex > 0) filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (!filteredLeftNavBar?.includes(dematNavBarObj))\r\n filteredLeftNavBar.push(dematNavBarObj);\r\n }\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n setLeftNavBarState(filteredLeftNavBar);\r\n GlobalStore.leftNavBarState = filteredLeftNavBar;\r\n }\r\n } else {\r\n if (GlobalStore?.stageStatus?.accountcategory == 2) {\r\n let filteredLeftNavBar = GlobalStore.leftNavBarState;\r\n let filterNavIndexForProfiler = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filteredLeftNavBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (\r\n GlobalStore?.isKRA == null ||\r\n clientPartialDetails_ao.isKRA == null ||\r\n GlobalStore?.isKRA == undefined ||\r\n clientPartialDetails_ao.isKRA == undefined ||\r\n GlobalStore?.isKRA == false ||\r\n clientPartialDetails_ao.isKRA == false ||\r\n GlobalStore.isDigiLocker === null ||\r\n GlobalStore.isDigiLocker == undefined ||\r\n GlobalStore.isDigiLocker == false ||\r\n clientPartialDetails_ao.isDigiLocker == null ||\r\n clientPartialDetails_ao.isDigiLocker == undefined ||\r\n clientPartialDetails_ao.isDigiLocker == false\r\n ) {\r\n if (userId == 0) {\r\n if (filteredLeftNavBar?.includes(ipvNavBarObj)) {\r\n } else filteredLeftNavBar?.push(ipvNavBarObj);\r\n filteredLeftNavBar = filteredLeftNavBar.sort(\r\n compareValues(\"priority\")\r\n );\r\n } else {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex2 > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex2, 1);\r\n }\r\n\r\n if (!filteredLeftNavBar?.includes(dematNavBarObj))\r\n filteredLeftNavBar.push(dematNavBarObj);\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 }\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(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0,\r\n GlobalStore?.personaldetails?.pan\r\n );\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 const eSignCall = {\r\n applicationId: GlobalStore.applicationID,\r\n isESignSubmitted: true,\r\n };\r\n\r\n localStorage.setItem(\r\n \"isESignSubmitted\",\r\n btoa(JSON.stringify(eSignCall))\r\n );\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 {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n dashboardUrl,\r\n containerUrl,\r\n statusUrl,\r\n ILeftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n completeModuleStatus,\r\n updateUtmInfo,\r\n setStageData,\r\n ageCalculator,\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 {\r\n AGetClientDetailsByLeadId,\r\n AGetClientDetailsByPan,\r\n AGetKraDetails,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport config from \"../../../config/domain\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\r\nimport moment from \"moment\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n const [addressRejctedFound, setAddressRejctedFound] =\r\n React.useState(null);\r\n const [isUploadDocumentsCompleted, setIsUploadDocumentsCompleted] =\r\n React.useState(false);\r\n const history = useHistory();\r\n let userId = \"0\";\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n\r\n React.useEffect(() => {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0) {\r\n history.push(containerUrl.registration);\r\n } else if (\r\n GlobalStore.isNormalClient !== undefined &&\r\n GlobalStore?.isNormalClient !== null &&\r\n GlobalStore?.isNormalClient &&\r\n GlobalStore.isPANVerified !== undefined &&\r\n GlobalStore?.isPANVerified !== null &&\r\n !GlobalStore.isPANVerified &&\r\n userId === \"0\"\r\n ) {\r\n console.log(\r\n \"GlobalStore.isNormalClient\",\r\n GlobalStore.isNormalClient,\r\n \"GlobalStore.isPANVerified\",\r\n GlobalStore.isPANVerified\r\n );\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 let panNo = GlobalStore?.personaldetails?.pan;\r\n if (panNo == \"\" || panNo == undefined || panNo == null) {\r\n const clientPartialDetails_ao1 = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n panNo = clientPartialDetails_ao1.pan;\r\n }\r\n AGetClientDetailsByPan(searchByLeadId, panNo);\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 (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n let addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n setAddressRejctedFound(addressAccountFoundLocal);\r\n setDematAccountFound(listObjFound);\r\n if (listObjFound !== null && listObjFound !== undefined) {\r\n setIsUploadDocumentsCompleted(true);\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n let addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n setAddressRejctedFound(addressAccountFoundLocal);\r\n }\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 const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\r\n };\r\n const cacheKRAFunction = (responseObj: any) => {\r\n GlobalStore.isKRA = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\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 = true;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\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 // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const CacheFunction = (\r\n callBackFunction: Function,\r\n dob?: string,\r\n pan?: string\r\n ) => {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.Data);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.Data);\r\n history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\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 clientPartialDetails_ao.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\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 setIsLoading(false);\r\n } else {\r\n if (\r\n userId == \"0\" &&\r\n dob !== undefined &&\r\n GlobalStore.personaldetails.pan !== undefined\r\n ) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n //\r\n }\r\n }\r\n } else {\r\n if (\r\n userId == \"0\" &&\r\n dob !== undefined &&\r\n GlobalStore.personaldetails.pan !== undefined\r\n ) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n }\r\n },\r\n {\r\n uniqueID: GlobalStore?.applicationID,\r\n key: `AOPDROPOFF-${GlobalStore?.applicationID}`,\r\n }\r\n );\r\n };\r\n const KraCheckApi = (dob: string, pan: string) => {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(convertDate(dob)).format(\"DD/MM/YYYY\")}`,\r\n panno: pan,\r\n };\r\n AGetKraDetails((res: any) => kraDobCheckNew(res), reqObj);\r\n };\r\n const kraDobCheckNew = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n setErrCode(res.error);\r\n setIsLoading(false);\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\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n // setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n responseObj.AppStatus === \"07\"\r\n //!responseObj.ErrorCode &&\r\n // responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\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\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\r\n ? responseObj.kra_mode\r\n : 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 =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : 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 history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else {\r\n GlobalStore.isNormalClient = true;\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\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\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 history.push(containerUrl.dgLocker);\r\n setIsLoading(false);\r\n }\r\n }\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\r\n GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\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 if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n if (date !== null && date !== undefined && ageCalculator(date) > 60) {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n } else {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\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 checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFound,\r\n addressRejctedFound\r\n );\r\n if (dematAccountFound !== null && dematAccountFound !== undefined) {\r\n // completeModuleStatus(dashboardUrl?.demat);\r\n let moduleArr: Array = GlobalStore.leftNavBarState;\r\n if (moduleArr?.length > 0) {\r\n moduleArr = moduleArr.map((record) => {\r\n if (record?.navUrl == dashboardUrl?.demat) {\r\n record.isComplete = false;\r\n }\r\n return record;\r\n });\r\n }\r\n GlobalStore.leftNavBarState = moduleArr;\r\n history?.push(dashboardUrl?.demat);\r\n return;\r\n }\r\n if (addressRejctedFound !== null && addressRejctedFound !== undefined && responseObj.bpm_pd_status === 2) {\r\n // completeModuleStatus(dashboardUrl?.demat);\r\n let moduleArr: Array = GlobalStore.leftNavBarState;\r\n if (moduleArr?.length > 0) {\r\n moduleArr = moduleArr.map((record) => {\r\n if (record?.navUrl == dashboardUrl?.personalIfo) {\r\n record.isComplete = false;\r\n }\r\n return record;\r\n });\r\n }\r\n GlobalStore.leftNavBarState = moduleArr;\r\n history?.push(dashboardUrl?.personalIfo);\r\n return;\r\n }\r\n //check completeness of stages\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 CacheFunction(() => {\r\n if (responseObj?.isaddressstagecompleted === false) {\r\n history.push(dashboardUrl?.personalIfo);\r\n } else history.push(dashboardUrl.profile);\r\n }, responseObj?.dob);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n if (\r\n responseObj.bpm_pd_status === 1 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.submit);\r\n return;\r\n } else {\r\n if (\r\n userId !== \"0\" &&\r\n responseObj.bpm_pd_status === 0 &&\r\n responseObj.applicationstatus === 0\r\n ) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n } else {\r\n history.push(dashboardUrl.authenticate);\r\n return;\r\n }\r\n }\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (\r\n responseObj?.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.submit);\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 localStorage?.removeItem(\"clientPartialDetails_ao\");\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 width?: string;\r\n parentClassName?:string;\r\n}\r\n\r\nconst Backdrop: React.FC = (props) => {\r\n return (\r\n \r\n {props.isShow && (\r\n
\r\n
\r\n {props.isCloseIcon && (\r\n \r\n )}\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 {props.isShow && (\r\n
\r\n
\r\n {props.isCloseIcon && (\r\n \r\n )}\r\n {props.children}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nexport default Backdrop;\r\n","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 docType?: string;\r\n extensionTypes?: 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 previewImageexternalClassName?: string;\r\n mandateRemove?: boolean;\r\n disableRemove?: boolean;\r\n errorMsgCode?: string;\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 if (\r\n props?.docObj?.fileName !== null &&\r\n props?.docObj?.fileName !== undefined &&\r\n props?.docObj?.fileName !== \"\"\r\n ) {\r\n setDocName(props?.docObj?.fileName);\r\n }\r\n }, []);\r\n React.useEffect(() => {\r\n setLoadingFlag(props.docObj.showFile);\r\n }, [props.docObj.showFile, props.docObj]);\r\n React.useEffect(() => {\r\n if (\r\n props?.docObj?.fileName !== null &&\r\n props?.docObj?.fileName !== undefined &&\r\n props?.docObj?.fileName !== \"\"\r\n ) {\r\n setDocName(props?.docObj?.fileName);\r\n }\r\n }, [props?.docObj?.fileName]);\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 if (props?.disableRemove) {\r\n } else {\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(errorMsg(errorCode.FE12));\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(errorMsg(errorCode.FE47));\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 let docTypeArray: any[] = [];\r\n if (\r\n props?.extensionTypes !== null &&\r\n props?.extensionTypes !== undefined\r\n ) {\r\n docTypeArray = props?.extensionTypes.split(\",\");\r\n }\r\n\r\n if (\r\n props?.extensionTypes !== null &&\r\n props?.extensionTypes !== undefined &&\r\n docTypeArray?.length > 0\r\n ? extensions[1].toUpperCase() === docTypeArray[0] ||\r\n (!!docTypeArray[1] &&\r\n docTypeArray[1] !== \"\" &&\r\n extensions[1].toUpperCase() === docTypeArray[1])\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(\r\n images,\r\n file.name,\r\n props.id,\r\n file.type\r\n );\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n } else {\r\n if (props.docObj.id == \"photo\" && props?.errorMsgCode!==\"\" && !!props?.errorMsgCode) {\r\n console.log(\"errorCode.FE49\", errorMsg(errorCode.FE49));\r\n setDocErrorMsg(errorMsg(errorCode.FE49));\r\n } else if (props.docObj.id !== \"signature\") {\r\n setDocErrorMsg(errorMsg(errorCode.FE14));\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\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 {props?.docType !== undefined && props?.docType !== null ? (\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.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 || props.mandateRemove) && (\r\n {\r\n if (props?.disableRemove) {\r\n } else {\r\n removeDoc();\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 {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 GlobalStore from \"../../store/globalStore\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { decryptJwtToken } from \"./encryptionNew\";\r\n\r\nexport const AGetIpvOtp = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"IPV/GetOTP\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: 0\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\nexport const AUploadIpvNew = (callback: CallableFunction, uploadObj: any) => {\r\n let userId=0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n \r\n apiService(\r\n {\r\n url: \"Document/UploadVIPV\",\r\n body: {\r\n image64: uploadObj?.image64,\r\n clientPrimaryDetailId: uploadObj?.clientPrimaryDetailId,\r\n applicationId: uploadObj?.applicationId,\r\n leadId: uploadObj?.leadId,\r\n panNo: uploadObj?.panNo,\r\n width: uploadObj?.width,\r\n height: uploadObj?.height,\r\n imageToVideo: uploadObj?.imageToVideo,\r\n createdBy: userId\r\n // imageName: uploadObj.imageName,\r\n // contentType: uploadObj.contentType,\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: \"IPV/Save\",\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 source: uploadObj.source,\r\n createdBy:uploadObj?.createdBy\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 Loader from \"../UI/Loader/Loader\";\r\nimport \"./Selfie.scss\";\r\n\r\ninterface INewSelfie {\r\n callback: Function;\r\n onFailedToOpenSdk: Function;\r\n disabledClick?: boolean;\r\n}\r\n\r\nconst NewSelfie = (props: INewSelfie) => {\r\n const [token, setToken] = useState(\"\");\r\n const [sdkData, setSdkData] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleSDKData = (data?: any) => {\r\n props?.callback(data);\r\n setSdkData(data);\r\n };\r\n\r\n const handleGetTokenAndSDKInit = () => {\r\n setLoading(true);\r\n\r\n const apiUrl =\r\n \"https://1d037ckgu4.execute-api.ap-south-1.amazonaws.com/default/nuvama-uat-token?RefId=124\";\r\n\r\n const requestOptions = {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({ RefId: \"1234\" }),\r\n };\r\n\r\n fetch(apiUrl, requestOptions)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setToken(data.Token);\r\n let token = data.Token;\r\n if ((window as any).AinxtSDK && !!token) {\r\n (window as any).AinxtSDK.Initialize(token, handleSDKData);\r\n } else {\r\n props?.onFailedToOpenSdk(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching token:\", error);\r\n props?.onFailedToOpenSdk(false);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://d1qpv0waqdbwtx.cloudfront.net/FaceNuvSpec.js\";\r\n script.async = true;\r\n\r\n document.head.appendChild(script);\r\n\r\n return () => {\r\n document.head.removeChild(script);\r\n setSdkData(null);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n {!loading ? (\r\n <>\r\n {sdkData !== null && sdkData?.is_valid == \"1\" ? (\r\n
\r\n {\r\n setSdkData(null);\r\n if (props.disabledClick!==undefined && props.disabledClick) {\r\n } else handleGetTokenAndSDKInit();\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n {\r\n if (props.disabledClick!==undefined && props.disabledClick) {\r\n } else handleGetTokenAndSDKInit();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {/* \r\n {loading ? \"Loading...\" : \"Get Token & Initialize AinxtSDK\"}\r\n */}\r\n\r\n {/* {sdkData && (\r\n
\r\n

\r\n Data from SDK:\r\n

\r\n
\r\n            {JSON.stringify(sdkData, null, 2)}\r\n          
\r\n
\r\n )} */}\r\n
\r\n );\r\n};\r\n\r\nexport default NewSelfie;\r\n","// localStorage.setItem(\"isESignSubmitted\", btoa(JSON.stringify(eSignCall)));\r\n\r\nimport GlobalStore from \"../store/globalStore\";\r\n\r\nexport const getStateFromLs = () => {\r\n let isESignSubmitted = localStorage.getItem(\"isESignSubmitted\");\r\n if (isESignSubmitted !== null && isESignSubmitted !== undefined && isESignSubmitted !== \"\") {\r\n return JSON.parse(atob(localStorage.getItem(\"isESignSubmitted\") || \"\"));\r\n }\r\n return null;\r\n\r\n};\r\n\r\nexport const checkESignSubmitted = (applicationId: string) => {\r\n const state = getStateFromLs();\r\n if (state !== null && state && state.applicationId == applicationId && state.isESignSubmitted) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nexport const disabledUploadForEsign = () => {\r\n if (GlobalStore?.stageStatus?.first_esign_initiated) {\r\n return true;\r\n }\r\n return false;\r\n}","import React, { Component } from \"react\";\r\nimport \"./ViewSignatureSamplePopup.scss\";\r\nimport rightSignatureSample from \"../../../assets/right-signature-sample.jpg\";\r\nimport wrongSignatureOne from \"../../../assets/wrong-signature-one.jpg\";\r\nimport wrongSignatureTwo from \"../../../assets/wrong-signature-two-new.jpg\";\r\nimport wrongSignatureThree from \"../../../assets/wrong-signature-three.jpg\";\r\n\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface IViewSignatureSamplePopupProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n parentClassName?:string;\r\n}\r\nconst ViewSignatureSamplePopup = (props: IViewSignatureSamplePopupProps) => {\r\n const popupRefone = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event:any) => {\r\n if (popupRefone.current!==null && popupRefone.current!==undefined) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n \r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n \r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n return (\r\n
\r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Guide for Signature Upload

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n
\r\n
\r\n \r\n

Use a clear background.

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

Don't use a ruled background.

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

Don't use a light stroke.

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

Don't use a thick stroke.

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default ViewSignatureSamplePopup;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./BottomPanel.scss\"; // Import the CSS file\r\n\r\nexport interface IBottomPanelProps {\r\n customComponent?: any;\r\n setShowSection?:any;\r\n}\r\nconst BottomPanel = (props: IBottomPanelProps) => {\r\n const [isOpen, setIsOpen] = useState(true); // Automatically opens on load\r\n\r\n // Close panel when clicking outside (overlay)\r\n const handleOverlayClick = () => {\r\n setIsOpen(false);\r\n props?.setShowSection(false)\r\n };\r\n return (\r\n
\r\n {/* Overlay (Backdrop) */}\r\n {\r\n // setIsOpen(false);\r\n handleOverlayClick();\r\n }}\r\n >
\r\n\r\n {/* Bottom Panel Content */}\r\n
\r\n {/* Drag Handle */}\r\n {\r\n \r\n handleOverlayClick();\r\n }}\r\n >
\r\n\r\n {/* Close Button */}\r\n {\r\n //setIsOpen(false);\r\n handleOverlayClick();\r\n }}\r\n >\r\n ✕\r\n \r\n\r\n {/* Content */}\r\n {props?.customComponent()}\r\n {/*

Bottom Panel

\r\n

This panel opens automatically and works on all mobile screens.

*/}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BottomPanel;\r\n","import React, { Component } from \"react\";\r\nimport \"./ViewSignatureSamplePopup.scss\";\r\nimport rightSignatureSample from \"../../../assets/right-signature-sample.jpg\";\r\nimport wrongSignatureOne from \"../../../assets/wrong-signature-one.jpg\";\r\nimport wrongSignatureTwo from \"../../../assets/wrong-signature-two-new.jpg\";\r\nimport wrongSignatureThree from \"../../../assets/wrong-signature-three.jpg\";\r\n\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface IViewSignatureSampleMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst ViewSignatureSamplePopupMobileView = (\r\n props: IViewSignatureSampleMobileViewProps\r\n) => {\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n

Use a clear background.

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

Don't use a ruled background.

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

Don't use a light stroke.

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

Don't use a thick stroke.

\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default ViewSignatureSamplePopupMobileView;\r\n","import React, { Component } from \"react\";\r\nimport \"./ViewPhotoSamplePopup.scss\";\r\nimport correctPhoto from \"../../../assets/PhotographSample/correctPhoto.jpg\";\r\nimport hatCovered from \"../../../assets/PhotographSample/hat-covered.svg\";\r\nimport sunGlass from \"../../../assets/PhotographSample/sunglass-covered.svg\";\r\nimport shadow from \"../../../assets/PhotographSample/shadow-covered.svg\";\r\n\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface IViewPhotoSamplePopupProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst ViewPhotoSamplePopup = (props: IViewPhotoSamplePopupProps) => {\r\n const popupRef = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event:any) => {\r\n if (popupRef.current!==null && popupRef.current!==undefined) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n\r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n \r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n return (\r\n
\r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Guide for Photo Upload

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n
\r\n
\r\n
\r\n \"Profile\"\r\n
\r\n
\r\n

\r\n Take a selfie facing the camera with a clear background.\r\n

\r\n
\r\n\r\n
\r\n \"hat\r\n

Don’t wear a hat.

\r\n
\r\n\r\n
\r\n \"sun\r\n

Don’t wear sunglasses.

\r\n
\r\n\r\n
\r\n \"Thick\r\n

Don’t click a dark and blurry photo.

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default ViewPhotoSamplePopup;\r\n","import React, { Component } from \"react\";\r\nimport \"./ViewPhotoSamplePopup.scss\";\r\nimport correctPhoto from \"../../../assets/PhotographSample/correctPhoto.jpg\";\r\nimport hatCovered from \"../../../assets/PhotographSample/hat-covered.svg\";\r\nimport sunGlass from \"../../../assets/PhotographSample/sunglass-covered.svg\";\r\nimport shadow from \"../../../assets/PhotographSample/shadow-covered.svg\";\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface IViewPhotoSampleMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst ViewPhotoSampleMobileViewProps = (props: IViewPhotoSampleMobileViewProps) => {\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"Profile\"\r\n
\r\n
\r\n

\r\n Take a selfie facing the camera with a clear background.\r\n

\r\n
\r\n\r\n
\r\n \"hat\r\n

Don’t wear a hat.

\r\n
\r\n\r\n
\r\n \"sun\r\n

Don’t wear sunglasses.

\r\n
\r\n\r\n
\r\n \"Thick\r\n

Don’t click a dark and blurry photo.

\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default ViewPhotoSampleMobileViewProps;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleAadharPopup.scss\";\r\nimport combineAadhar from \"../../../assets/docSampleImages/combineAadharSample.jpg\";\r\nimport borderLine from \"../../../assets/Line 9.svg\";\r\nimport AadharFront from \"../../../assets/docSampleImages/Aadhar-Front-Sample.jpg\";\r\nimport AadharBack from \"../../../assets/docSampleImages/Aadhar-Back-Sample.jpg\";\r\nexport interface IViewSampleAadharPopup {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n parentClassName?: string;\r\n style?: any;\r\n}\r\nconst SampleAadharPopup = (props: IViewSampleAadharPopup) => {\r\n const [readMore, setReadMore] = React.useState(false);\r\n const openAadharNewTab = () => {\r\n window.open(\"https://uidai.gov.in/en\", \"_blank\");\r\n };\r\n const popupRefTwo = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event: any) => {\r\n if (popupRefTwo.current !== null && popupRefTwo.current !== undefined) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n\r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n\r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n return (\r\n \r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Uploading Aadhaar Card Formats

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n
\r\n \r\n \r\n {!readMore ? (\r\n

\r\n Attach both sides of the E-Aadhaar as a PDF (Max Size: 2MB).{\" \"}\r\n {\r\n setReadMore(true);\r\n }}\r\n >\r\n Read more\r\n \r\n

\r\n ) : (\r\n

\r\n Attach both sides of the E-Aadhaar as a PDF (Max Size: 2MB).\r\n Download your E-Aadhaar Card from \r\n {\r\n openAadharNewTab();\r\n }}\r\n >\r\n uidai.gov.in/en/\r\n \r\n   website.\r\n

\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n Attach front & back of your physical Aadhaar card in JPEG or PNG\r\n (Max Size: 2MB)\r\n

\r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default SampleAadharPopup;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleDL.scss\";\r\nimport DLFront from \"../../../assets/docSampleImages/DL FRONT.jpg\";\r\nimport DLBACK from \"../../../assets/docSampleImages/DL BACK.jpg\";\r\nexport interface IViewSampleDLPopup {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n parentClassName?: string;\r\n}\r\nconst SampleDrivingLicensePopup = (props: IViewSampleDLPopup) => {\r\n const popupRefThree = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event: any) => {\r\n if (\r\n popupRefThree.current !== null &&\r\n popupRefThree.current !== undefined\r\n ) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n\r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n\r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n\r\n return (\r\n \r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Uploading Driving Licence

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n\r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Driving Licence in\r\n JPEG or PNG (Max Size: 2MB)\r\n

\r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default SampleDrivingLicensePopup;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleVoterId.scss\";\r\nimport VoterIDFront from \"../../../assets/docSampleImages/VoterID FRONT.jpg\";\r\nimport VoterIDBack from \"../../../assets/docSampleImages/Voter ID back.jpg\";\r\nexport interface IViewSampleVoterIDPopup {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n parentClassName?: string;\r\n}\r\nconst SampleVoterIDPopup = (props: IViewSampleVoterIDPopup) => {\r\n const popupRefFour = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event: any) => {\r\n if (popupRefFour.current !== null && popupRefFour.current !== undefined) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n\r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n\r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n return (\r\n \r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Uploading Voter ID

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n\r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Voter ID in JPEG or\r\n PNG (Max Size: 2MB)\r\n

\r\n \r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\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 SampleVoterIDPopup;\r\n","import React, { Component } from \"react\";\r\nimport \"./SamplePassport.scss\";\r\nimport VoterIDFront from \"../../../assets/docSampleImages/Passport Front.jpg\";\r\nimport VoterIDBack from \"../../../assets/docSampleImages/Passport Back.jpg\";\r\nexport interface IViewSamplePassportPopup {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n parentClassName?: string;\r\n}\r\nconst SamplePassportPopup = (props: IViewSamplePassportPopup) => {\r\n const popupRefFive = React.useRef(null);\r\n React.useEffect(() => {\r\n const handleClickOutside = (event: any) => {\r\n if (popupRefFive.current !== null && popupRefFive.current !== undefined) {\r\n props?.setShowPopup(); // Close popup if clicked outside\r\n }\r\n };\r\n\r\n const timer = setTimeout(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n }, 0);\r\n\r\n return () => {\r\n clearTimeout(timer);\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [props?.setShowPopup]);\r\n\r\n return (\r\n \r\n
\r\n {/* Close Button */}\r\n {\r\n if (props?.setShowPopup !== undefined) props?.setShowPopup(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n

Uploading Passport

\r\n\r\n {/* Popup Content */}\r\n {/* {commonUIView()} */}\r\n\r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Passport in JPEG or\r\n PNG (Max Size: 2MB)\r\n

\r\n \r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\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 SamplePassportPopup;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleAadharPopup.scss\";\r\nimport combineAadhar from \"../../../assets/docSampleImages/combineAadharSample.jpg\";\r\nimport borderLine from \"../../../assets/Line 9.svg\";\r\nimport AadharFront from \"../../../assets/docSampleImages/Aadhar-Front-Sample.jpg\";\r\nimport AadharBack from \"../../../assets/docSampleImages/Aadhar-Back-Sample.jpg\";\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface ISampleAadharMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst SampleAadharMobileViewProps = (props: ISampleAadharMobileViewProps) => {\r\n const [readMore, setReadMore] = React.useState(false);\r\n const openAadharNewTab = () => {\r\n window.open(\"https://uidai.gov.in/en\", \"_blank\");\r\n };\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n {!readMore ? (\r\n

\r\n Attach both sides of the E-Aadhaar as a PDF (Max Size: 2MB).{\" \"}\r\n {\r\n setReadMore(true);\r\n }}\r\n >\r\n Read more\r\n \r\n

\r\n ) : (\r\n

\r\n Attach both sides of the E-Aadhaar as a PDF (Max Size: 2MB).\r\n Download your E-Aadhaar Card from \r\n {\r\n openAadharNewTab();\r\n }}\r\n >\r\n uidai.gov.in/en/\r\n \r\n   website.\r\n

\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n Attach front & back of your physical Aadhaar card in JPEG or PNG\r\n (Max Size: 2MB)\r\n

\r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default SampleAadharMobileViewProps;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleDL.scss\";\r\nimport DLFront from \"../../../assets/docSampleImages/DL FRONT.jpg\";\r\nimport DLBACK from \"../../../assets/docSampleImages/DL BACK.jpg\";\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface ISampleDLMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst SampleSDLMobileViewProps = (props: ISampleDLMobileViewProps) => {\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Driving Licence in\r\n JPEG or PNG (Max Size: 2MB)\r\n

\r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default SampleSDLMobileViewProps;\r\n","import React, { Component } from \"react\";\r\nimport \"./SampleVoterId.scss\";\r\nimport VoterIDFront from \"../../../assets/docSampleImages/VoterID FRONT.jpg\";\r\nimport VoterIDBack from \"../../../assets/docSampleImages/Voter ID back.jpg\";\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface ISampleVoterIDMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst SampleVoterIDMobileViewProps = (props: ISampleVoterIDMobileViewProps) => {\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Voter ID in JPEG or\r\n PNG (Max Size: 2MB)\r\n

\r\n \r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default SampleVoterIDMobileViewProps;\r\n","import React, { Component } from \"react\";\r\nimport \"./SamplePassport.scss\";\r\nimport VoterIDFront from \"../../../assets/docSampleImages/Passport Front.jpg\";\r\nimport VoterIDBack from \"../../../assets/docSampleImages/Passport Back.jpg\";\r\nimport BottomPanel from \"../../BottomPanel/BottomPanel\";\r\nexport interface ISamplePassportMobileViewProps {\r\n setShowPopup: Function;\r\n showPopup: boolean;\r\n text?: any;\r\n children?: any;\r\n}\r\nconst SamplePassportMobileViewProps = (\r\n props: ISamplePassportMobileViewProps\r\n) => {\r\n const getMobileUIPopup = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n

\r\n Attach a readable front & back photo of your Passport in JPEG or\r\n PNG (Max Size: 2MB)\r\n

\r\n \r\n \r\n
\r\n \r\n
1
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
2
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n );\r\n};\r\nexport default SamplePassportMobileViewProps;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"../../UI/DocumentBrowse/DocumentBrowse.scss\";\r\n\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\n\r\nimport {\r\n containerUrl,\r\n photographCategoryId,\r\n signatureCategoryId,\r\n statusUrl,\r\n} from \"../../utils/constants\";\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 QCServiceTaskCreation,\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\n//import SignatureCanvas from \"react-signature-canvas\";\r\nimport prevIcon from \"../../../assets/icons/eye.png\";\r\nimport cropIcon from \"../../../assets/icons/crop.png\";\r\nimport NewSelfie from \"../../Selfie/NewSelfie\";\r\nimport {\r\n checkESignSubmitted,\r\n disabledUploadForEsign,\r\n} from \"../../utils/eSignSubmitHandler\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { errorCode } from \"../../../ErrorCode/ErrorCode\";\r\nimport ViewSignatureSamplePopup from \"./ViewSignatureSamplePopup\";\r\nimport ViewSignatureSamplePopupMobileView from \"./ViewSignatureSamplePopupMobileView\";\r\nimport ViewPhotoSamplePopup from \"./ViewPhotoSamplePopup\";\r\nimport ViewPhotoSampleMobileViewProps from \"./ViewPhotoSampleMobileView\";\r\nimport SampleAadharPopup from \"../../Registration/SampleFolderPopups/SampleAadharPopup\";\r\nimport SampleDrivingLicensePopup from \"../../Registration/SampleFolderPopups/SampleDrivingLicense\";\r\nimport SampleVoterIDPopup from \"../../Registration/SampleFolderPopups/SampleVoterIdPopup\";\r\nimport SamplePassportPopup from \"../../Registration/SampleFolderPopups/SamplePassportPopup\";\r\nimport SampleAadharMobileViewProps from \"../../Registration/SampleFolderPopups/SampleAadharPopupMobileView\";\r\nimport SampleSDLMobileViewProps from \"../../Registration/SampleFolderPopups/SampleDLMobile\";\r\nimport SampleVoterIDMobileViewProps from \"../../Registration/SampleFolderPopups/SampleVoterIDMobile\";\r\nimport SamplePassportMobileViewProps from \"../../Registration/SampleFolderPopups/SamplePassportMobile\";\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 panNo: 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\nexport const initialPhotoDocObj: 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\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const showPhotographBrowseOption = () => {\r\n if (\r\n userId !== \"0\" &&\r\n (GlobalStore?.isNormalClient ||\r\n (GlobalStore?.isDigiLocker == false && GlobalStore?.isKRA == false)) &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const [captureSigPad, setCaptureSigPad] = React.useState(false);\r\n let sigPad: any = {};\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [renderSamplePopups, setRenderSamplePopup] =\r\n React.useState(false);\r\n const [renderCorrSamplePopups, setRenderCorrSamplePopup] =\r\n React.useState(false);\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 showPhotographBrowseOption()\r\n ? { ...initialPhotoDocObj }\r\n : {\r\n ...initialDocObj,\r\n }\r\n );\r\n const [panObj, setPanObj] = useState({\r\n ...JSON.parse(JSON.stringify(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 const [showSignaturePopup, setShowSignaturePopup] =\r\n React.useState(false);\r\n const [showPhotoPopup, setShowPhotoPopup] = React.useState(false);\r\n const [showSignatureMobilePopup, setShowSignatureMobilePopup] =\r\n React.useState(false);\r\n const [showPhotoMobilePopup, setShowPhotoMobilePopup] =\r\n React.useState(false);\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 [isSdkSelfie, setIsSdkSelfie] = useState(true);\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 const [showSignatureTwoPopup, setShowSignatureTwoPopup] =\r\n React.useState(false);\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 [panCardImageFound, setPanCardImageFound] = useState(true);\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 const [checkLocationCalled, setCheckLocationCalled] =\r\n React.useState(false);\r\n\r\n const [ShowCanvas, setShowCanvas] = useState(true);\r\n const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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?.isKRA && GlobalStore?.stageStatus?.accountcategory == 2) {\r\n setCameraPermission(false);\r\n }\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 if (\r\n GlobalStore?.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2 &&\r\n uploadedPhotoRefElement !== null &&\r\n uploadedPhotoRefElement.current !== null\r\n )\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n }, []);\r\n React.useEffect(() => {\r\n if (\r\n panBase64 !== null &&\r\n panBase64 !== undefined &&\r\n panBase64 !== \"\" &&\r\n (panObj?.imgUrl == \"\" ||\r\n panObj?.imgUrl == undefined ||\r\n panObj?.imgUrl == null)\r\n ) {\r\n setPanObj((panObj) => {\r\n panObj.imgUrl = getbase64(panBase64, panObj);\r\n return panObj;\r\n });\r\n }\r\n }, [panBase64]);\r\n React.useEffect(() => {\r\n if (location && !checkLocationCalled && !isSdkSelfie) {\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 if (!isSdkSelfie) {\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 }\r\n getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission, isSdkSelfie]);\r\n\r\n React.useEffect(() => {\r\n if (photoObj.imgUrl && !isSdkSelfie) {\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, isSdkSelfie]);\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 GlobalStore.location = {\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 setCheckLocationCalled(true);\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 setPanObj((panObj) => {\r\n panObj.documentCategoryId = panData[0].DocumentCategoryId;\r\n panObj.documentId = panData[0].DocumentId;\r\n panObj.documentcategory = panData[0].DocumentCategory;\r\n panObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n return panObj;\r\n });\r\n // let panCopy = { ...panObj };\r\n\r\n // // panCopy.base64 = panBase64 ? panBase64 : panObj?.base64;\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 // let permAddObjListNew=permAddObjlist((permAdd:any)=>permAdd?.DocumentId!==125);\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 console.log(\"isPANCARD\", isPANCard);\r\n if (isPANCard.length > 0) {\r\n setIsLoading(true);\r\n setPanObj((panObj) => {\r\n let panObjNew = { ...panObj };\r\n panObjNew.id = \"panCard\";\r\n panObjNew.disable = false;\r\n panObjNew.uploadPer = 100;\r\n panObjNew.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n panObjNew.showFile = false;\r\n panObjNew.hideProgress = false;\r\n panObjNew.mimeType = isPANCard[0].MimeType;\r\n panObjNew.documentCategoryId = isPANCard[0].DocumentCategoryId;\r\n panObjNew.documentId = isPANCard[0].DocumentId;\r\n panObjNew.documentcategory = isPANCard[0].DocumentCategory;\r\n ADownloadDocument(\r\n (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 || ERR127\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setPanBase64(res.data.base64document);\r\n if (\r\n !!res?.data?.base64document &&\r\n res?.data?.base64document !== \"\" &&\r\n res?.data?.base64document?.length > 0\r\n ) {\r\n setPanCardImageFound(true);\r\n } else {\r\n setPanCardImageFound(false);\r\n }\r\n setPanButDisable(false);\r\n const base64 = getbase64(res.data.base64document, panObj);\r\n panObjNew.imgUrl = base64;\r\n // setPanObj((panObj) => {\r\n\r\n // return panObj;\r\n // });\r\n\r\n //panObj.imgUrl = base64;\r\n // console.log(\"base64 of PAN\", 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 isPANCard[0].FileName,\r\n isPANCard[0].UploadedDocPath\r\n );\r\n return panObjNew;\r\n });\r\n\r\n // setPanObj(panObj);\r\n }\r\n if (isPANCard?.length == 0) {\r\n setPanCardImageFound(false);\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 setShowCanvas(false);\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 return panObj;\r\n });\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 const popularSignatures = {\r\n JVBERi0: \"application/pdf\",\r\n R0lGODdh: \"image/gif\",\r\n R0lGODlh: \"image/gif\",\r\n iVBORw0KGgo: \"image/png\",\r\n \"/9j/\": \"image/jpg\",\r\n Qk02U: \"image/bmp\",\r\n };\r\n\r\n function detectMimeType(base64 = \"\") {\r\n for (const [signature, type] of Object.entries(popularSignatures)) {\r\n if (base64.startsWith(signature)) {\r\n return type;\r\n }\r\n }\r\n return undefined; // Explicitly return undefined if no match is found\r\n }\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n if (obj.mimeType === \"\" || obj.mimeType == \".\") {\r\n let mimeType = detectMimeType(dataString);\r\n return \"data:\" + mimeType + \";base64,\" + dataString;\r\n } else {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\"\r\n ? \"application/pdf\"\r\n : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\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 const renderUISampleThings = (showPopup: boolean) => {\r\n let returnUI: any = \"\";\r\n switch (showPopup) {\r\n case showPhotoPopup:\r\n returnUI = (\r\n <>\r\n \r\n \r\n );\r\n break;\r\n case showSignaturePopup:\r\n returnUI = (\r\n <>\r\n \r\n \r\n );\r\n break;\r\n case showSignatureMobilePopup:\r\n returnUI = (\r\n \r\n );\r\n break;\r\n default:\r\n returnUI = \"\";\r\n break;\r\n }\r\n return returnUI;\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 uploadedPhotoRefElement.current!.hidden = false;\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 if (\r\n !!res?.data?.base64document &&\r\n res?.data?.base64document !== \"\" &&\r\n res?.data?.base64document?.length > 0\r\n ) {\r\n setPanCardImageFound(true);\r\n } else {\r\n setPanCardImageFound(false);\r\n }\r\n setPanButDisable(false);\r\n setPanObj((panObj) => {\r\n const base64 = getbase64(res.data.base64document, panObj);\r\n panObj.imgUrl = base64;\r\n return panObj;\r\n });\r\n\r\n //panObj.imgUrl = base64;\r\n // console.log(\"base64 of PAN\", 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 if (detectMimeType(res.data.base64document) !== \"application/pdf\") {\r\n permAddressObj.base64 = base64;\r\n } else 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 console.log(\"isLoading\", isLoading, loaderSign);\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 const onPhotographUpload = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n // setLoaderSign(true);\r\n let saveDocumentInfor = [];\r\n photoObj.imgUrl = val!.split(\",\")[1];\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType:\r\n photoObj?.mimeType && photoObj?.mimeType !== \"\"\r\n ? photoObj?.mimeType\r\n : \"image/jpeg\",\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 saveDocumentInfor.push(savePhotoObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentInfor,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, fileName),\r\n uploadObj,\r\n () => {},\r\n saveObj\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 source: \"DocVerification\",\r\n createdBy: parseInt(userId),\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n };\r\n const HandleNewSDKSelfieRes = (data: any) => {\r\n if (data && data.errMsg) {\r\n setBrowserPermission(true);\r\n } else if (data.is_valid == \"1\" && data.Latitude && data.Longitude) {\r\n setIsLoading(true);\r\n setIsNewPhoto(true);\r\n const new_File = new File(\r\n [Blob as unknown as BlobPart],\r\n \"personalPhoto.jpeg\",\r\n {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n }\r\n );\r\n\r\n uploadedPhotoRefElement.current!.hidden = false;\r\n let base64 = data?.cropped_image;\r\n photoObj.imgUrl = `data:image/jpeg;base64, ${base64}`;\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(base64);\r\n // data.Country=\"ID\";\r\n\r\n if (data?.Country && data?.Country.toLowerCase() == \"india\") {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n checkPhotoLiveness: false,\r\n });\r\n\r\n if (base64?.toString()) {\r\n let saveDocumentInfor = [];\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: new_File.name,\r\n isfilecropped: true,\r\n mimeType:\r\n photoObj?.mimeType && photoObj?.mimeType !== \"\"\r\n ? photoObj?.mimeType\r\n : \"image/jpeg\",\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 saveDocumentInfor.push(savePhotoObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentInfor,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: base64,\r\n filename: new_File.name,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n\r\n // ACheckPhotoLiveness(\r\n // (res: any) => getExtractPhotoLiveness(res),\r\n // base64,\r\n // GlobalStore.leadId\r\n // );\r\n\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, new_File.name),\r\n uploadObj,\r\n () => {},\r\n saveObj\r\n );\r\n if (\r\n data?.Latitude !== null &&\r\n data?.Longitude !== null &&\r\n data?.Latitude !== undefined &&\r\n data?.Longitude !== undefined &&\r\n ((data?.Latitude !== \"\" && data?.Longitude !== \"\") ||\r\n (data?.Latitude !== 0 && data?.Longitude !== 0))\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: data.Latitude,\r\n longitude: data.Longitude,\r\n ipaddress: \"192.168.200.80\",\r\n source: \"DocVerification\",\r\n createdBy: parseInt(userId),\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n } else {\r\n if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\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: GlobalStore?.location?.lat,\r\n longitude: GlobalStore?.location?.long,\r\n ipaddress: \"192.168.200.80\",\r\n source: \"DocVerification\",\r\n createdBy: parseInt(userId),\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n }\r\n // else {\r\n // setErrCode(\r\n // errCode\r\n // ? errCode\r\n // : \" \" +\r\n // \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\r\n // );\r\n // }\r\n }\r\n }\r\n } else {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n\r\n setErrCode(\r\n errCode\r\n ? errCode\r\n : \"\" +\r\n \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\r\n );\r\n }\r\n setIsLoading(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 panNo: GlobalStore?.personaldetails.pan,\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 source: \"DocVerification\",\r\n createdBy: parseInt(userId),\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n }\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n };\r\n\r\n const capturePhoto = () => {\r\n if (\r\n location !== \"\" &&\r\n location !== undefined &&\r\n location.lat !== \"\" &&\r\n location.lat !== undefined &&\r\n location.long !== \"\" &&\r\n location.long !== undefined\r\n ) {\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(true);\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 (\r\n location !== undefined &&\r\n location !== \"\" &&\r\n location.lat !== \"\" &&\r\n location.lat !== undefined &&\r\n location.long !== \"\" &&\r\n location.long !== undefined\r\n ) {\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(true);\r\n }\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 setLoaderSign(false);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR143-S\",\r\n });\r\n }\r\n };\r\n const showGuideText = (idObj: any) => {\r\n let showText: boolean = false;\r\n if (\r\n idObj?.DocumentCategoryId == photographCategoryId ||\r\n idObj?.DocumentCategoryId == signatureCategoryId\r\n ) {\r\n showText = true;\r\n }\r\n return showText;\r\n };\r\n const setSamplePopupups = (idObj: any) => {\r\n if (idObj?.DocumentCategoryId == signatureCategoryId) {\r\n setShowPhotoPopup(false);\r\n setShowPhotoMobilePopup(false);\r\n if (DeviceContext()?.isMobile) {\r\n setShowSignatureMobilePopup(true);\r\n } else setShowSignaturePopup(true);\r\n } else if (idObj?.DocumentCategoryId == photographCategoryId) {\r\n setShowSignaturePopup(false);\r\n setShowSignatureMobilePopup(false);\r\n if (DeviceContext()?.isMobile) {\r\n setShowPhotoMobilePopup(true);\r\n } else setShowPhotoPopup(true);\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 console.log(\"res.data.Message\", res.data.Message);\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\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 const onRemovePhotoObj = () => {\r\n setPhotoObj((photoObj) => {\r\n photoObj.base64 = \"\";\r\n photoObj.imgUrl = \"\";\r\n return photoObj;\r\n });\r\n };\r\n function onRemove(doc: any, docType: string) {\r\n if (docType === \"panObj\") {\r\n setPanObj((panObj) => {\r\n panObj.base64 = \"\";\r\n panObj.imgUrl = \"\";\r\n return panObj;\r\n });\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 setErrCode(\"\");\r\n setPanObj((panObj) => {\r\n panObj.imgUrl = \"\";\r\n return panObj;\r\n });\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 panNo: GlobalStore?.personaldetails.pan,\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 /*\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 let saveDetails: any[] = [];\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: getMimeType(val!.split(\",\")[1]),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: panObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n //let autoQc: boolean = false;\r\n AextractPan((res: any) => {\r\n if (!res || res.error) {\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n\r\n if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n setIsLoading(false);\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 // savePanObj.autoqc = false;\r\n // saveDetails.push(savePanObj);\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 // AUploadDocument(\r\n // (res: any) => getUploadRes(res, id, val, fileName),\r\n // uploadObj,\r\n // (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n // saveObj\r\n // );\r\n // setIsLoading(false);\r\n // setErrCode(\"1361- Error in uploading the file.\");\\\r\n // setErrCode(errCode + res.error);\r\n\r\n // handErrorForFileUpload(id, res);\r\n // if (\r\n // !res?.errorCode?.includes(\"C11BE292\") &&\r\n // !res?.errorCode?.includes(\"C11BE422\")\r\n // ) {\r\n // setErrCode(errCode + res.error);\r\n // }\r\n } else {\r\n if (res.data) {\r\n if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n let panCopy = { ...panObj };\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = 100;\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 setPanButDisable(true);\r\n setIsLoading(false);\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\r\n setPanButDisable(false);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n false\r\n // clientPartialDetails_ao.pan !==\r\n // res.data.result.extraction_output.id_number\r\n ) {\r\n savePanObj.autoqc = false;\r\n saveDetails.push(savePanObj);\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 AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n // setIsPanAndDobMatch(false);\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n // setPanCardError(errorMessage.imgNotMatchWithPan);\r\n } else {\r\n savePanObj.autoqc = true;\r\n saveDetails.push(savePanObj);\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 (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n }\r\n // setIsPanAndDobMatch(true);\r\n // setPanCardError(\"\");\r\n // setErrCode(\"\");\r\n }\r\n }\r\n }\r\n }\r\n }, panOCR);\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: firstBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(firstBanObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n setErrCode(\"\");\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\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 saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let secondBanObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: secondBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(secondBanObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 const savebankDetails = [];\r\n let thirdBank = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: thirdBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(thirdBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let foruthBank = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fourthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(foruthBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let saveBank = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fifthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(saveBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\r\n );\r\n }\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n }\r\n }\r\n }\r\n }\r\n const getUISamplePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case aadhaarDocumnetId:\r\n return (\r\n
\r\n \r\n
\r\n );\r\n case dlDocumentId:\r\n return (\r\n \r\n );\r\n case voterIdDocumentId:\r\n return (\r\n \r\n );\r\n case passportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUISampleMobilePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case aadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case dlDocumentId:\r\n return (\r\n \r\n );\r\n case voterIdDocumentId:\r\n return (\r\n \r\n );\r\n case passportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUICorrSamplePopups = (addressProodID: any) => {\r\n console.log(\"documentId\", addressProodID);\r\n switch (addressProodID) {\r\n case corrAadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case corrDlDocumentId:\r\n return (\r\n \r\n );\r\n case corrVoterIdDocumentId:\r\n return (\r\n \r\n );\r\n case corrPassportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUISampleCorrMobilePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case corrAadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case corrDlDocumentId:\r\n return (\r\n \r\n );\r\n case corrVoterIdDocumentId:\r\n return (\r\n \r\n );\r\n case corrPassportDocumnetId:\r\n return (\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 let saveAddressDetails = [];\r\n\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 let saveAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\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 panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: permSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n }\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(\r\n res,\r\n id,\r\n uploadObj.base64document,\r\n uploadObj.filename\r\n ),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 setIsLoading(false);\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 let panNo: string = \"\";\r\n const clientPartialDetails_ao1 = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n panNo = clientPartialDetails_ao1.pan;\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocuments = [];\r\n let saveDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeOne.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fnpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDocuments.push(saveDocObj);\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocuments,\r\n leadId: GlobalStore.leadId,\r\n\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let saveTwoDocuments = [];\r\n let saveTwpDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeOne.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fnsnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveTwoDocuments.push(saveTwpDocObj);\r\n\r\n const savetwoObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveTwoDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savetwoObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let saveThreeDocuments = [];\r\n let saveThreeDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeTwo.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: snpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveThreeDocuments.push(saveThreeDocObj);\r\n\r\n const savethreeObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveThreeDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savethreeObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let savefourthDocuments = [];\r\n let savefourthDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeTwo.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: nssnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savefourthDocuments.push(savefourthDocObj);\r\n\r\n const savefourthObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savefourthDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savefourthObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savefiveDocuments = [];\r\n let savefiveDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeThree.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: ntpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savefiveDocuments.push(savefiveDocObj);\r\n\r\n const savefiveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savefiveDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savefiveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savesixDocuments = [];\r\n let savesixDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeThree.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: ntsnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savesixDocuments.push(savesixDocObj);\r\n\r\n const savesixObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savesixDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savesixObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let savesevenDocuments = [];\r\n let savesevenDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savesevenDocuments.push(savesevenDocObj);\r\n\r\n const savesevenObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savesevenDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n savesevenObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let save8Documents = [];\r\n let save8DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save8Documents.push(save8DocObj);\r\n\r\n const save8Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save8Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n save8Obj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save9Documents = [];\r\n let save9DocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save9Documents.push(save9DocObj);\r\n\r\n const save9Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save9Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n save9Obj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save10Documents = [];\r\n let save10DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save10Documents.push(save10DocObj);\r\n\r\n const save10Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save10Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n save10Obj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save11Documents = [];\r\n let save11DocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save11Documents.push(save11DocObj);\r\n\r\n const save11Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save11Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdPhotoObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n save11Obj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save12Documents = [];\r\n let save12DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save12Documents.push(save12DocObj);\r\n\r\n const save12Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save12Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdSignatureObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n save12Obj\r\n );\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\r\n console.log(\"signatureObj\", signatureObj);\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 setErrCode(\"\");\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 && signatureObj.base64 !== \"\") {\r\n let saveDetails = [];\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileNameCheck,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 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 let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: signatureObj.base64!.split(\",\")[1],\r\n panNo: GlobalStore?.personaldetails.pan,\r\n filename: fileNameCheck\r\n ? `${GlobalStore.applicationID}_Signature.${typeCreater}`\r\n : `${GlobalStore.applicationID}_Signature}.${typeCreater}`,\r\n DocType: \"1\",\r\n QltyByPassFlag: \"0\",\r\n };\r\n if (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\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 saveObj\r\n );\r\n }\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n panNo: GlobalStore?.personaldetails.pan,\r\n filename: `${GlobalStore.applicationID}_Signature.${\r\n type!.split(\"/\")[1]\r\n }`,\r\n DocType: \"1\",\r\n QltyByPassFlag: \"0\",\r\n };\r\n let saveDetails = [];\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 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 (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\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 saveObj\r\n );\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDetails = [];\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 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 (shouldDisable()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\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 saveObj\r\n );\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 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 if (\r\n !res?.errorCode?.includes(\"C11BE292\") &&\r\n !res?.errorCode?.includes(\"C11BE422\")\r\n ) {\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(false);\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(false);\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(false);\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 setIsLoading(false);\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 setIsLoading(false);\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\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 getLocation();\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 // AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n // saveDocument();\r\n if (userId !== null && userId !== undefined && userId !== \"0\") {\r\n QCServiceTaskCreation(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n // setIsLoading(false);\r\n // handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n\r\n setLoaderSign(false);\r\n } else {\r\n if (\r\n res &&\r\n res.data !== null &&\r\n Object.keys(res?.data)?.length > 0\r\n ) {\r\n // getSaveStatusNew();\r\n // history.replace(containerUrl.submit);\r\n \r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n setErrCode(\"Something went wrong. please try again later.\");\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n }\r\n },\r\n GlobalStore?.applicationID,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\r\n );\r\n } else getSaveStatusNew();\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\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 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 if (savePanObj?.fileName == \"\") {\r\n savePanObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n }\r\n // if(savePanObj?.b)\r\n if (isPanAndDobMatch == false) {\r\n savePanObj.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 const getSaveStatusNew = () => {\r\n AGetPendingDocument((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 setLoaderSign(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 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 item.DocumentCategory !== \"In Person Verification\"\r\n );\r\n if (onlyIpvPending?.length == 0) {\r\n setLoaderSign(false);\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 setErrCode(\"Please upload all required documents.\");\r\n setIsLoading(false);\r\n setLoaderSign(false);\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 }, GlobalStore.applicationID);\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 const hideSeflieOption = () => {\r\n if (GlobalStore?.isKRA && GlobalStore?.stageStatus?.accountcategory == 2) {\r\n return true;\r\n } else return false;\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 const panSkipIfAPI = () => {\r\n if (GlobalStore.isKRA && parseInt(userId) > 0) return false;\r\n else return (!panObj.imgUrl && !isNewPan) || !isPanAndDobMatch;\r\n };\r\n const selfieSkipIfAPI = () => {\r\n if (\r\n GlobalStore.isKRA &&\r\n parseInt(userId) > 0 &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n )\r\n return false;\r\n else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return false;\r\n } else return !photoObj.imgUrl && !isNewPhoto;\r\n };\r\n const disableSelfieCapture = () => {\r\n if (\r\n GlobalStore.isKRA &&\r\n parseInt(userId) > 0 &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n )\r\n return true;\r\n else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return true;\r\n } else if (GlobalStore?.isKRA == false && disabledUploadForEsign()) {\r\n return true;\r\n } else return false;\r\n };\r\n const checkFilledForm = () => {\r\n // Check if photo is taken\r\n if (selfieSkipIfAPI()) {\r\n return true;\r\n } else if (panSkipIfAPI()) {\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 console.log(\r\n \"showPopup Variables\",\r\n showSignaturePopup,\r\n showSignatureMobilePopup,\r\n showPhotoPopup\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 console.log(\r\n \"button condition\",\r\n (typeof errCode === \"string\" && errCode != \"\") ||\r\n checkESignSubmitted(GlobalStore.applicationID) ||\r\n signatureListError ||\r\n checkFilledForm() ||\r\n permAddButDisable ||\r\n panButDisable ||\r\n // || nomineeDisable ||\r\n // guardianDisable\r\n liveLocationCheck.checkPhotoLiveness,\r\n \"(typeof errCode\",\r\n typeof errCode === \"string\" && errCode != \"\",\r\n \"EsignSubmitted\",\r\n checkESignSubmitted(GlobalStore.applicationID),\r\n \"signature\",\r\n signatureListError,\r\n \"filledForm\",\r\n checkFilledForm(),\r\n \"permAddButDisable\",\r\n permAddButDisable,\r\n \"panButDisable\",\r\n panButDisable,\r\n // || nomineeDisable ||\r\n // guardianDisable\r\n \"liveLocationCheck.checkPhotoLiveness\",\r\n liveLocationCheck.checkPhotoLiveness\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 {showSignaturePopup == true ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {showPhotoPopup == true ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {showSignatureMobilePopup == true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {showPhotoMobilePopup == true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {hideSeflieOption() ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n \r\n {showPhotographBrowseOption() ? (\r\n
\r\n
\r\n {\r\n onRemovePhotoObj();\r\n }}\r\n docType=\"image/jpeg, image/jpg\"\r\n extensionTypes=\"JPEG,JPG\"\r\n errorMsgCode={errorCode.FE49}\r\n />\r\n
\r\n
\r\n ) : (\r\n <>\r\n
\r\n {isSdkSelfie ? (\r\n {\r\n HandleNewSDKSelfieRes(data);\r\n }}\r\n onFailedToOpenSdk={setIsSdkSelfie}\r\n disabledClick={disableSelfieCapture()}\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 if (disableSelfieCapture()) {\r\n } else {\r\n capturePhoto();\r\n }\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 )}\r\n\r\n \r\n \"photograph\"\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 {/* {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 {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?.isKRA && parseInt(userId) > 0) &&\r\n panObj !== null &&\r\n panObj !== undefined && (\r\n
\r\n \r\n
\r\n onRemove(docOj, \"panCard\")}\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 IDENTITY\" &&\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 {errCode && panButDisable == true && (\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 {/* {!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 !== null &&\r\n isManual !== undefined &&\r\n isManual && (\r\n
\r\n \r\n {\r\n setRenderSamplePopup(false);\r\n handlePermanentAddress(val);\r\n }}\r\n />\r\n \r\n
\r\n {\r\n console.log(\"rrrr\", permAddList, defaultAddress);\r\n setRenderSamplePopup(true);\r\n }}\r\n >\r\n View Sample\r\n \r\n {renderSamplePopups && (\r\n <>\r\n {DeviceContext().isMobile ? (\r\n <>\r\n {getUISampleMobilePopups(\r\n permAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultAddress\r\n )?.DocumentId\r\n )}\r\n \r\n ) : (\r\n <>\r\n {getUISamplePopups(\r\n permAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultAddress\r\n )?.DocumentId\r\n )}\r\n \r\n )}\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 {!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 {\r\n setRenderSamplePopup(false);\r\n handlePermanentAddress(val);\r\n }}\r\n />\r\n \r\n
\r\n {\r\n console.log(\"rrrr\");\r\n setRenderSamplePopup(true);\r\n }}\r\n >\r\n View Sample\r\n \r\n {renderSamplePopups && (\r\n <>\r\n {DeviceContext().isMobile ? (\r\n <>\r\n {getUISampleMobilePopups(\r\n permAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultAddress\r\n )?.DocumentId\r\n )}\r\n \r\n ) : (\r\n <>\r\n {getUISamplePopups(\r\n permAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultAddress\r\n )?.DocumentId\r\n )}\r\n \r\n )}\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 {\r\n setRenderCorrSamplePopup(false);\r\n handleCorrespondenceAddress(val);\r\n }}\r\n />\r\n \r\n
\r\n {\r\n console.log(\r\n \"corrAddList\",\r\n corrAddList,\r\n defaultCorrAddress\r\n );\r\n setRenderCorrSamplePopup(true);\r\n }}\r\n >\r\n View Sample\r\n \r\n {renderCorrSamplePopups && (\r\n <>\r\n {DeviceContext().isMobile ? (\r\n <>\r\n {getUISampleCorrMobilePopups(\r\n corrAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultCorrAddress\r\n )?.DocumentId\r\n )}\r\n \r\n ) : (\r\n <>\r\n {getUICorrSamplePopups(\r\n corrAddList.find(\r\n (item: any) =>\r\n item.DocumentName === defaultCorrAddress\r\n )?.DocumentId\r\n )}\r\n \r\n )}\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n \"PROOF OF ADDRESS CORRESPONDENCE\" && (\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 setShowSignatureTwoPopup(true);\r\n }}\r\n >\r\n View Guideline\r\n \r\n \r\n {showSignatureTwoPopup == true ? (\r\n <>\r\n {DeviceContext()?.isMobile ? (\r\n <>\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n \r\n ) : (\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\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\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 && panButDisable == false && (\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 ) : 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 (\r\n \r\n {item.DocumentCategory}\r\n {showGuideText(item) ? (\r\n {\r\n setSamplePopupups(item);\r\n }}\r\n >\r\n View Sample\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n );\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, { useEffect, useState } from \"react\";\r\nimport regbanner from \"../../../assets/icons/panDob.svg\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport {\r\n authenticateNavBarObj,\r\n containerUrl,\r\n dashboardUrl,\r\n dematNavBarObj,\r\n DIY,\r\n leftNavBarArray,\r\n statusUrl,\r\n} from \"../../utils/constants\";\r\n\r\nimport { pan, alphaNumExp } from \"../../utils/regex\";\r\nimport \"./PANInfo.scss\";\r\nimport {\r\n ACheckPanIbeats,\r\n AGetClientDetailsByPan,\r\n AGetClientDetailsByLeadId,\r\n AIsPANExists,\r\n ASavePanDobDetails,\r\n AGetCkycNumber,\r\n AGetKraDetails,\r\n AGetEmployeeByPan,\r\n ACheckUCCExists,\r\n APanVerification,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n ACreateLeadSource,\r\n ALeadFetchApi,\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} from \"../../Services/globalService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\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 { initialPanDocObj } from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport {\r\n AextractPanNew,\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 config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { ASendSms } from \"../../Services/dashboard/ipvApiServices\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport Loader from \"../../UI/Loader/Loader\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\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 firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n fatherName?: string;\r\n}\r\n\r\nconst panValidationKeyList: any = {\r\n PanStatus: \"PanStatusMsg\",\r\n Name: \"NameMsg\",\r\n Dob: \"DobMsg\",\r\n SeedingStatus: \"SeedingStatusMsg\",\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 ILocalQueryObject {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n createdBy?: any;\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 let localURL = localStorage.getItem(\"currentURL\"),\r\n navigateURL: string = \"\";\r\n const localProductCode = quryParams.get(\"productCode\");\r\n const localProuctObj = quryParams.get(\"localProuctObj\");\r\n const id = quryParams.get(\"id\");\r\n const name = quryParams.get(\"name\");\r\n const skipUrl = quryParams.get(\"skipUrl\");\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n if (\r\n localURL !== null &&\r\n localURL !== undefined &&\r\n localURL !== \"\" &&\r\n localURL?.length > 0\r\n ) {\r\n navigateURL = window.atob(localURL);\r\n localURL = window.atob(localURL);\r\n }\r\n const [prodObj, setProdObj] = React.useState({});\r\n const [values, setValues] = React.useState({\r\n pan: \"\",\r\n aadharLinked: \"No\",\r\n dob: null,\r\n //aadhaarNo: \"\",\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n fatherName: \"\",\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 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 firstName: undefined,\r\n middleName: undefined,\r\n lastName: 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\r\n const [consent, setConsent] = React.useState(true);\r\n const [togPhoto, setTogPhoto] = 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 [skipUrlBoolean, setSkipUrlBoolean] = React.useState(false);\r\n const [errorFoundInPanValidation, setErrorFoundInPanValidation] =\r\n useState(false);\r\n const [cacheResponse, setCacheResponse] = React.useState(null);\r\n //setModalDisplayText\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 [stageBooleanFlags, setStageBooleanFlags] = React.useState<{\r\n isPersonalStage: boolean;\r\n isProfileStage: boolean;\r\n }>({\r\n isPersonalStage: false,\r\n isProfileStage: 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 const [panOCR, setPanOCR] = useState(null);\r\n const [willDoLater, setWillDoLater] = useState(false);\r\n const [panFileUploaded, setPanFileUploaded] = useState(false);\r\n const [panFileUploadedLoader, setPanFileUploadedLoader] =\r\n useState(false);\r\n const [invalidPanFieldUploadedMsg, setInvalidPanFileUploadedMsg] =\r\n React.useState(\"\");\r\n const [applicationModeType, setApplicationModeType] = useState(\"\");\r\n const [modalDisplayText, setModalDisplayText] = useState(\"\");\r\n const [showSubmitModal, setShowSubmitModal] = useState(false);\r\n const [panInvalidMsg, setPanInvalidMsg] = React.useState(\"\");\r\n // const [panValidationResp,setPanValidationResp]=React.useState();\r\n let panValidationResp: any;\r\n const [applicationInitializedFlag, setApplicationInitializedFlag] =\r\n useState(false);\r\n const [submitFlag, setSubmitFlag] = useState(false);\r\n const [extractPanResponse, setExtractPanResponse] = React.useState<{\r\n age: number;\r\n date_of_birth: string;\r\n date_of_issue: string;\r\n fathers_name: string;\r\n id_number: string;\r\n is_scanned: boolean;\r\n minor: boolean;\r\n name_on_card: string;\r\n pan_type: string;\r\n }>();\r\n let salesLandingPage = localStorage.getItem(\"salesLandingPage\");\r\n const [documentsInfo, setDocumentInfo] = useState({\r\n totalDocs: [],\r\n totalDocsCount: 0,\r\n uploadedDocsCount: 0,\r\n });\r\n\r\n let panDob: string;\r\n const saveDetails: saveDocumentObj[] = [];\r\n const saveKraDetails: saveDocumentObj[] = [];\r\n\r\n let kraDocCount = 0;\r\n let kraDocs = 0;\r\n // let totalDocs: Array = [];\r\n // let totalDocsCount = 0;\r\n // let uploadedDocsCount = 0;\r\n\r\n let isPanLinkedToAadhar: boolean;\r\n\r\n const checkAutoQcForPan = () => {\r\n let name =\r\n (values.firstName as string) + values.middleName + values.lastName;\r\n\r\n if (\r\n values.pan === extractPanResponse?.id_number &&\r\n moment(values.dob).format(\"YYYY-MM-DD\") ===\r\n extractPanResponse?.date_of_birth &&\r\n name === extractPanResponse?.name_on_card.replace(/\\s/g, \"\")\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\r\n };\r\n\r\n React.useEffect(() => {\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 console.log(\"showSubmitModal2\", showSubmitModal);\r\n history.push(containerUrl.continue);\r\n } else {\r\n console.log(\"GlobalStore.leadId check =\", GlobalStore.leadId);\r\n if (!GlobalStore.leadId || GlobalStore.leadId === \"\") {\r\n console.log(\"registration push\");\r\n // history.push(containerUrl.registration);\r\n } else {\r\n init();\r\n window.scroll(0, 0);\r\n }\r\n }\r\n console.log(\"skipUrl\", skipUrl);\r\n if (\r\n skipUrl !== null &&\r\n skipUrl !== undefined &&\r\n skipUrl !== \"\" &&\r\n skipUrl?.toLowerCase() == \"yes\"\r\n ) {\r\n if (\r\n id !== null &&\r\n id !== undefined &&\r\n id !== \"\" &&\r\n id?.length > 0 &&\r\n name !== null &&\r\n name !== undefined &&\r\n name !== \"\" &&\r\n name?.length > 0\r\n ) {\r\n // setIsLoading(true);\r\n setPanFileUploadedLoader(true);\r\n ALeadFetchApi(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n setSkipUrlBoolean(true);\r\n setPanFileUploadedLoader(false);\r\n setPanFileUploaded(true);\r\n // gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res?.data) {\r\n if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n let productObj = res?.data[0] as ILocalQueryObject;\r\n setPanFileUploadedLoader(false);\r\n if (\r\n productObj?.createdBy != null &&\r\n productObj?.createdBy !== undefined\r\n ) {\r\n setProdObj(productObj);\r\n setSkipUrlBoolean(true);\r\n setWillDoLater(true);\r\n setDobChecked(true);\r\n setValues((values) => {\r\n if (productObj?.pan) {\r\n values.pan = productObj.pan;\r\n }\r\n if (productObj?.dob) {\r\n values.dob = moment(\r\n moment(convertDate(productObj?.dob)).toDate()\r\n )\r\n .startOf(\"day\")\r\n .toDate();\r\n if (ageCalculator(values.dob) > 60) {\r\n window.sessionStorage.setItem(\r\n \"isSeniorCitizen\",\r\n \"true\"\r\n );\r\n } else {\r\n window.sessionStorage.setItem(\r\n \"isSeniorCitizen\",\r\n \"false\"\r\n );\r\n }\r\n }\r\n if (productObj?.firstName) {\r\n values.firstName = productObj?.firstName;\r\n }\r\n if (productObj?.middleName) {\r\n values.middleName = productObj?.middleName;\r\n }\r\n if (productObj?.lastName) {\r\n values.lastName = productObj?.lastName;\r\n }\r\n if (productObj?.leadid) {\r\n GlobalStore.leadId = productObj?.leadid;\r\n }\r\n if (productObj?.email) {\r\n GlobalStore.user.email = productObj?.email;\r\n }\r\n if (productObj?.mobile) {\r\n GlobalStore.user.mobile = productObj?.mobile;\r\n }\r\n if (productObj?.createdBy) {\r\n GlobalStore.user.rmCode = productObj?.createdBy;\r\n }\r\n if (productObj?.accountCategory) {\r\n GlobalStore.accountcategory = parseInt(\r\n productObj?.accountCategory\r\n );\r\n GlobalStore.user.accountType =\r\n parseInt(productObj?.accountCategory) == 2 ? \"I\" : \"TD\";\r\n }\r\n let PANFirstName = productObj?.firstName;\r\n let PANMiddleName = productObj?.middleName ?? \"\";\r\n let PANlastName = productObj?.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 +\r\n \" \" +\r\n 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 = {\r\n PanNo: values.pan,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: true,\r\n IsAadharSeeded: \"\",\r\n };\r\n let reqObj: any = {\r\n pan: productObj.pan,\r\n accountType: productObj?.accountCategory,\r\n rmId: productObj?.createdBy,\r\n };\r\n let newReqObj = {\r\n rmid: productObj?.createdBy,\r\n skipUrlBoolean: true,\r\n };\r\n AgetClientDetailsByPANNew(reqObj, newReqObj);\r\n return values;\r\n });\r\n setPanFileUploaded(true);\r\n }\r\n }\r\n }\r\n },\r\n {\r\n id: encodeURIComponent(id),\r\n name: encodeURIComponent(name),\r\n stageFlag: 1,\r\n }\r\n );\r\n }\r\n } else {\r\n if (!GlobalStore.user.email || !GlobalStore.user.mobile) {\r\n if (!!navigateURL) {\r\n setSkipUrlBoolean(false);\r\n window.location.href = navigateURL;\r\n }\r\n }\r\n }\r\n }, []);\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 console.log(\"applicationModeType\", applicationModeType);\r\n if (applicationModeType === \"isKRA\") {\r\n setModalDisplayText(\r\n \"As per SEBI Regulations, under the Income Tax Guidelines we have successfully verified your Name on the Income Tax Website. Your application is pre-filled since you are an existing KRA Validated Customer.\"\r\n );\r\n } else if (applicationModeType === \"isDigiLocker\") {\r\n setModalDisplayText(\r\n \"As per SEBI Regulations, under the Income Tax Guidelines we have successfully verified your Name on the Income Tax Website. We suggest completing your journey using Digilocker. For Using Digilocker your Aadhar and Mobile should be linked. It is not mandatory to have a Digilocker account. This will help you to speed up your activation process.\"\r\n );\r\n }\r\n }, [applicationModeType]);\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 (\r\n key === \"pan\" &&\r\n typeof value === \"string\" &&\r\n !alphaNumExp.test(value)\r\n ) {\r\n value = values[key];\r\n }\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 console.log(\"onChange 1\");\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 console.log(\"errors\", errors);\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 const UccCheckNewCalled = (res: any, callBackFunction: Function) => {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n\r\n setIsLoading(false);\r\n gtmService({ action: \"CheckUCCExists\", label: \"ERROR || ERR105\" });\r\n } else {\r\n if (\r\n !!res?.data &&\r\n res?.data?.Source === 1 &&\r\n res?.data?.IbeatsCheck !== null &&\r\n res?.data?.IbeatsCheck !== undefined &&\r\n res?.data?.IbeatsCheck\r\n ) {\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 if (\r\n !!res?.data &&\r\n res?.data?.Source === 2 &&\r\n res?.data?.UccCheck !== null &&\r\n res?.data?.UccCheck !== undefined &&\r\n res?.data?.UccCheck\r\n ) {\r\n callBackFunction();\r\n }\r\n }\r\n };\r\n const panFunction = () => {\r\n panValidation(\r\n {\r\n panNo: values.pan,\r\n name:\r\n values.firstName +\r\n \" \" +\r\n (values?.middleName ?? \"\" + \" \") +\r\n values.lastName,\r\n dob: moment(values.dob).format(\"DD/MM/YYYY\"),\r\n source: \"DIY\",\r\n },\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 setSubmitFlag(false);\r\n\r\n let isValidPan = pan.test(values.pan);\r\n if ((values.pan !== \"\" || values.pan !== undefined) && isValidPan) {\r\n if (isMinor(values.dob)) {\r\n setErrCode(\"The PAN belongs to a minor.\");\r\n setIsLoading(false);\r\n } else {\r\n AGetEmployeeByPan(checkIsPanEmployee, values.pan);\r\n // ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n let panFullName = values.firstName + \" \";\r\n if (values?.middleName !== undefined && values.middleName?.length > 0) {\r\n panFullName += values.middleName?.split(\" \").join(\" \");\r\n }\r\n panFullName += values?.lastName ?? \"\";\r\n let accountType = getProductCode() == \"I\" ? 2 : 1;\r\n if (getProductCode() == \"I\") {\r\n accountType = 2;\r\n }\r\n ACheckUCCExists(\r\n (res: any) => {\r\n UccCheckNewCalled(res, panFunction);\r\n },\r\n values.pan,\r\n GlobalStore.user.mobile,\r\n GlobalStore.user.email,\r\n GlobalStore.leadId,\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n prodObj?.createdBy !== \"\"\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n accountType\r\n );\r\n }\r\n console.log(\"values\", values);\r\n\r\n // if(values?.pan?.length > 0 && extractPanResponse && extractPanResponse?.id_number?.length > 0 && values.pan===extractPanResponse.id_number){\r\n // setPanInvalidMsg(\"\");\r\n\r\n // }else{\r\n // setPanInvalidMsg(\"Oops!! Pan Number is incorrect\");\r\n // setIsLoading(false);\r\n // }\r\n // panValidation({panNo:values.pan,name:values.firstName+\" \"+values?.middleName??\"\"+\r\n // values.lastName,dob:moment(values.dob).format(\"DD/MM/YYYY\"),source:\"DIY\"}, ()=>{AIsPANExists(isPANExists, values.pan)});\r\n } else {\r\n setErrCode(\r\n \" PAN uploaded does not belong to an 'Individual Resident.' Please upload a PAN for an 'Individual Resident' to proceed\"\r\n );\r\n setIsLoading(false);\r\n //setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n\r\n function CheckUCCExists(res: any) {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n\r\n setIsLoading(false);\r\n gtmService({ action: \"CheckUCCExists\", label: \"ERROR || ERR105\" });\r\n } else {\r\n console.log(\"UCC Check 3\");\r\n\r\n savePanDob();\r\n }\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n\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\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n\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 if (res.data == false) {\r\n validatePANNew(\r\n panValidationResp?.SeedingStatus,\r\n panValidationResp?.SeedingStatusMsg,\r\n panValidationResp?.PanStatus\r\n );\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 function checkPendingUploadNew(res: any, reqObj?: any) {\r\n let dematAccountFoundLocal: any = null;\r\n if (!res || res.error) {\r\n // setErrCode('1221 - Error in fetching pending document upload list.');\r\n // setErrCode(errorMessage.checkPendingUpload);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR112\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res?.data == null) {\r\n let isUploadDocumentsCompleted: boolean = false;\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetailsNew(res, isUploadDocumentsCompleted, reqObj),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res && res.data !== null) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) => item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetailsNew(\r\n res,\r\n isUploadDocumentsCompleted,\r\n reqObj,\r\n dematAccountFoundLocal\r\n ),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n // setErrCode('1222 - Error in fetching pending document upload list.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const getCheckedDobCondition = () => {\r\n let disabledCondition: boolean = false;\r\n if (\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n prodObj?.createdBy !== 0 &&\r\n prodObj?.dob != undefined &&\r\n prodObj?.dob !== null &&\r\n prodObj?.dob !== \"\" &&\r\n values?.dob !== null &&\r\n values?.dob !== undefined &&\r\n values?.dob ===\r\n moment(moment(convertDate(prodObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate()\r\n ) {\r\n disabledCondition = true;\r\n }\r\n return disabledCondition;\r\n };\r\n function getClientStageDetailsNew(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean,\r\n reqObj?: any,\r\n dematAccountFoundLocaL?: any\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 && res.data !== null) {\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 setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\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 clientPartialDetails_ao.pan = GlobalStore.personaldetails.pan;\r\n\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.accountcategory = GlobalStore.accountcategory;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.dpid = responseObj?.dpid;\r\n clientPartialDetails_ao.clientid = responseObj?.dpclientid;\r\n GlobalStore.dpid = responseObj?.dpid;\r\n GlobalStore.clientid = responseObj?.dpclientid;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n let cacheData = null;\r\n //check completeness of stages\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\r\n );\r\n setCheckpanaaddharflag(responseObj.checkpanaaddharflag);\r\n setStageBooleanFlags((stageBooleanFlags) => {\r\n stageBooleanFlags.isPersonalStage =\r\n responseObj?.ispersonaldetailscompleted;\r\n stageBooleanFlags.isProfileStage =\r\n responseObj?.isprofiledetailscompleted;\r\n return stageBooleanFlags;\r\n });\r\n\r\n if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n }\r\n if (responseObj?.isaddressstagecompleted == false) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.personalIfo;\r\n } else GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n }\r\n\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n if (responseObj?.isaddressstagecompleted == false) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.personalIfo;\r\n } else GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n } else if (!responseObj.isbankdetailscompleted) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n } else if (\r\n responseObj?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n )\r\n history.push(statusUrl.docVerificationInProgress);\r\n else if (responseObj.bpm_pd_status === 1)\r\n history.push(containerUrl.poa);\r\n let newReqObj = reqObj;\r\n newReqObj.isKra = responseObj.iskra;\r\n if (!isUploadDocumentsCompleted && responseObj.bpm_pd_status === 2) {\r\n history.push(statusUrl.documentReject);\r\n return;\r\n } else if (\r\n isUploadDocumentsCompleted == true &&\r\n responseObj.bpm_pd_status === 2\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else history.push(containerUrl.kycsubmit);\r\n }\r\n } else savePanDob(true, true, newReqObj);\r\n } else {\r\n // setErrCode('1062 - Error in fetching stage completion details.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const AgetClientDetailsByPANNew = (reqObj: any, newReqObj?: any) => {\r\n AGetClientDetailsByPan(\r\n (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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 !== null) {\r\n if (res.data !== null && 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.accountcategory = res.AccountCategory;\r\n GlobalStore.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res.data.Token;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n APendingUploadList((res: any) => {\r\n checkPendingUploadNew(res, newReqObj);\r\n }, GlobalStore.applicationID);\r\n }\r\n } else {\r\n // setErrCode('1182 - Error in fetching Client details from our system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n },\r\n reqObj.pan,\r\n reqObj.accountType,\r\n reqObj.rmId\r\n );\r\n };\r\n const validatePANNew = (\r\n seedingStatus?: string,\r\n SeedingStatusMsg?: string,\r\n PanStatus?: string\r\n ) => {\r\n let PANFirstName = values?.firstName;\r\n let PANMiddleName = values.middleName ?? \"\";\r\n let PANlastName = values?.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 = 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 console.log(\r\n \"PAN DETails\",\r\n GlobalStore?.personaldetails?.panDetails,\r\n SeedingStatusMsg,\r\n PanStatus\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 = {\r\n PanNo: values.pan,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: SeedingStatusMsg,\r\n VendorName: \"\",\r\n IsValid: PanStatus === \"Y\" ? true : false,\r\n IsAadharSeeded: seedingStatus,\r\n };\r\n console.log(\"PAN DETails\", GlobalStore?.personaldetails?.panDetails);\r\n if (seedingStatus === \"N\") {\r\n GlobalStore.isSeeding = false;\r\n } else {\r\n GlobalStore.isSeeding = true;\r\n }\r\n let accountType = getProductCode() == \"I\" ? 2 : 1;\r\n if (getProductCode() == \"I\") {\r\n accountType = 2;\r\n }\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n values.pan,\r\n accountType,\r\n skipUrlBoolean &&\r\n prodObj?.createdBy != null &&\r\n prodObj?.createdBy !== undefined\r\n ? prodObj?.createdBy\r\n : GlobalStore?.user?.userId\r\n );\r\n //ACheckPanIbeats(checkedPanInIbeats, values.pan);\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 // if (errCode?.includes(res.error)) {\r\n // setErrCode(errCode);\r\n // } else {\r\n // setErrCode(errCode + res.error);\r\n // }\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 // if (errCode?.includes(res.error)) {\r\n // setErrCode(errCode);\r\n // } else {\r\n // setErrCode(errCode + (res.error || \"\"));\r\n // }\r\n // // setErrCode(errCode + (res.error || \"\"));\r\n // setIsLoading(false);\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_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 // if (errCode?.includes(res.error)) {\r\n // setErrCode(errCode);\r\n // } else {\r\n // setErrCode(errCode + (res.error || \"\"));\r\n // }\r\n // //setErrCode(errCode + (res.error || \"\"));\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 !== null) {\r\n if (res.data !== null && 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 GlobalStore.accountcategory = res.AccountCategory;\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else {\r\n savePanDob();\r\n }\r\n // else if (res.data == \"Records Not Found\") {\r\n // AGetClientDetailsByLeadId(\r\n // searchByLeadId,\r\n // GlobalStore.leadId,\r\n // getProductCode(),\r\n // GlobalStore?.user?.userId\r\n // );\r\n // }\r\n } else if (res.data === null) {\r\n savePanDob();\r\n } else {\r\n // setErrCode('1182 - Error in fetching Client details from our system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\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(errorMessage.searchByLeadId);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR103\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"UCC Check 1\");\r\n if (res.data && res.data != null) {\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\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 console.log(\"UCC Check 2\");\r\n\r\n savePanDob();\r\n } else {\r\n // setErrCode('1192 - Error in fetching Client details from our system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const cacheKRAFunction = (\r\n responseObj: any,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) => {\r\n GlobalStore.isKRA = true;\r\n if (applicationModeType !== \"isKRA\") {\r\n console.log(\"setApplicationModeType 4\");\r\n setApplicationModeType(\"isKRA\");\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\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 = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }'\r\n if (skipSavePANDOB) {\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails.pan;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore?.clientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.accountcategory = GlobalStore?.accountcategory;\r\n clientPartialDetails_ao.token = GlobalStore?.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n }\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n if (skipSavePANDOB) {\r\n menuOption(reqObj, () => {\r\n history.push(dashboardUrl.profile);\r\n });\r\n } else dobMatched({}, true, true);\r\n // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const menuOption = (reqObj?: any, redirctTo?: Function) => {\r\n if (\r\n reqObj.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (!reqObj?.isKra || isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n setDobChecked(true);\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n if (redirctTo !== undefined) redirctTo();\r\n }\r\n };\r\n const originalSavePANDOB = (\r\n applicationIdExists?: boolean,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) => {\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 // if(GlobalStore?.applicationID && GlobalStore?.isDigiLocker){\r\n // setShowSubmitModal(true);\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 if (GlobalStore?.applicationID && GlobalStore?.isDigiLocker) {\r\n history.push(GlobalStore?.nextIncompleteStage);\r\n } else {\r\n if (skipSavePANDOB) {\r\n menuOption(reqObj, () => {\r\n navigate(applicationIdExists, reqObj);\r\n });\r\n } else navigate(applicationIdExists);\r\n }\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 if (skipSavePANDOB) {\r\n let clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n 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 addressLine1: GlobalStore.addressLine1,\r\n corrAddress: GlobalStore.corrAddress,\r\n PinCode: GlobalStore.PinCode,\r\n corrPincode: GlobalStore.corrPincode,\r\n sameAsPermanent: GlobalStore.sameAsPermanent,\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 if (\r\n reqObj.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (!reqObj?.isKra || isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n // setShowSubmitModal(true);\r\n setDobChecked(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\r\n setShowSubmitModal(true);\r\n navigate(applicationIdExists, reqObj);\r\n } else {\r\n if (isPanLinkedToAadhar == true) {\r\n // AGetCkycNumber(\r\n // (res: any) => getCkycNumber(res, applicationIdExists),\r\n // values.pan\r\n // );\r\n dobMatched({});\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 const CalledCkycFunctionNew = (applicationIdExists?: boolean) => {\r\n AGetCkycNumber(\r\n (res: any) => getCkycNumber(res, applicationIdExists),\r\n values.pan\r\n );\r\n };\r\n function savePanDob(\r\n applicationIdExists?: boolean,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) {\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true\r\n ) {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.Data, skipSavePANDOB, reqObj);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.PANName =\r\n GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId =\r\n GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo =\r\n 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 clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.Data);\r\n if (skipSavePANDOB) menuOption();\r\n history.push(dashboardUrl.profile);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\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.PANName =\r\n GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId =\r\n GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo =\r\n 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.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n GlobalStore.addressLine1 = clientPartialDetails_ao.addressLine1;\r\n GlobalStore.corrAddress = clientPartialDetails_ao.corrAddress;\r\n GlobalStore.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n GlobalStore.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n GlobalStore.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\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 clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n if (skipSavePANDOB) menuOption();\r\n history.push(dashboardUrl.profile);\r\n }\r\n } else {\r\n originalSavePANDOB(applicationIdExists, skipSavePANDOB, reqObj);\r\n }\r\n\r\n setCacheResponse(res?.data);\r\n } else {\r\n originalSavePANDOB(applicationIdExists, skipSavePANDOB, reqObj);\r\n setCacheResponse(null);\r\n }\r\n },\r\n {\r\n uniqueID: GlobalStore?.applicationID,\r\n key: `AOPDROPOFF-${GlobalStore?.applicationID}`,\r\n }\r\n );\r\n } else {\r\n originalSavePANDOB(applicationIdExists, skipSavePANDOB, reqObj);\r\n }\r\n\r\n console.log(\"panlink log\", isPanLinkedToAadhar);\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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) => kraDobCheckNew(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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n const kraDobCheckNew = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n getKraDetails(responseObj, applicationIdExists);\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n dobMatched(responseObj, applicationIdExists);\r\n }\r\n }\r\n };\r\n // const kraDobCheckNew = (res: any, applicationIdExists?: boolean) => {\r\n // if (!res || res.error) {\r\n // // setErrCode(1227);\r\n // if (errCode?.includes(res.error)) {\r\n // setErrCode(errCode);\r\n // } else {\r\n // setErrCode(errCode + res.error);\r\n // }\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\r\n // // setErrCode('Date of Birth is not matching with the PAN');\r\n // setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n // setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n // } else {\r\n // getKraDetails(res, applicationIdExists);\r\n // //dobMatched(responseObj, applicationIdExists);\r\n // }\r\n // }\r\n // };\r\n const getProductCode = () => {\r\n let productCodeNew: string = \"\";\r\n if (\r\n GlobalStore?.user?.accountType !== null &&\r\n GlobalStore?.user?.accountType !== undefined &&\r\n GlobalStore?.user?.accountType !== \"\"\r\n ) {\r\n productCodeNew = GlobalStore?.user?.accountType;\r\n } else {\r\n const objAccType = window.sessionStorage.getItem(\"objAccType\");\r\n if (\r\n localProductCode !== null &&\r\n localProductCode !== undefined &&\r\n localProductCode !== \"\" &&\r\n localProductCode?.length > 0\r\n ) {\r\n productCodeNew = localProductCode;\r\n } else {\r\n if (objAccType === \"DMT\") {\r\n productCodeNew = \"D\";\r\n } else {\r\n productCodeNew = \"TD\";\r\n }\r\n }\r\n }\r\n\r\n return productCodeNew;\r\n };\r\n const getAccountCategory = () => {\r\n let accountCategory = null;\r\n if (getProductCode() == \"I\") {\r\n accountCategory = 2;\r\n } else {\r\n accountCategory = 1;\r\n }\r\n return accountCategory;\r\n };\r\n function dobMatched(\r\n kycobj: any,\r\n applicationIdExists?: boolean,\r\n cacheResonse?: 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: \"\",\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: getProductCode(),\r\n platform: 1,\r\n panFName: values?.firstName,\r\n panMName: values?.middleName,\r\n panLName: values?.lastName,\r\n PanFSName: values.fatherName,\r\n SendSelfieLink: togPhoto, //((photoObj.base64==null || photoObj.base64==\"\") && togPhoto==false) ? true:\r\n diyReferralLink: localURL,\r\n accountCategory: getAccountCategory() !== null ? getAccountCategory() : 0,\r\n createdBy:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n rmAssisted:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? true\r\n : false,\r\n };\r\n console.log(\"called here ===> 2\");\r\n ASavePanDobDetails(\r\n (res: any) =>\r\n applicationInitialized(res, kycobj, applicationIdExists, cacheResonse),\r\n panDobObj\r\n );\r\n }\r\n const isMinor = (dob: any) => {\r\n const today = new Date();\r\n const birthDate = new Date(dob); // Parse the DOB\r\n const age = today.getFullYear() - birthDate.getFullYear();\r\n const monthDiff = today.getMonth() - birthDate.getMonth();\r\n const dayDiff = today.getDate() - birthDate.getDate();\r\n\r\n // Adjust age if the current date is before the birthday in the current year\r\n if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) {\r\n return age - 1 < 18;\r\n }\r\n\r\n if (age < 18) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n function applicationInitialized(\r\n res: any,\r\n kycobj: any,\r\n applicationIdExists?: boolean,\r\n cacheResponse?: boolean\r\n ) {\r\n console.log(\"function applicationInitialized : \", kycobj, \"||\", res);\r\n if (!res || res.error) {\r\n console.log(\"applicationInitialized 00\");\r\n // setErrCode('121 - Error in Application initialization.');\r\n // setErrCode(errorMessage.applicationInitialized);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"SavePanDobDetails\", label: \"ERROR || ERR106\" });\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"applicationInitialized 11\");\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 let AccountObj = {\r\n PanNo: values?.pan,\r\n AccountCategory: getProductCode() == \"I\" ? 2 : 1,\r\n userid: prodObj?.createdBy,\r\n };\r\n let accountObjString = JSON.stringify(AccountObj);\r\n const encodedPan = btoa(accountObjString);\r\n let stringParams = `selfie?id=${encodedPan}`;\r\n\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 //extract pan\r\n console.log(\"applicationInitialized 22\", GlobalStore);\r\n if (cacheResponse == true) {\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 clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n clientPartialDetails_ao.selfieUrl = GlobalStore.selfieUrl;\r\n clientPartialDetails_ao.isManual = false;\r\n clientPartialDetails_ao.aadharNo =\r\n GlobalStore.personaldetails.aadharNo;\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 history.push(dashboardUrl.profile);\r\n } else {\r\n if (!willDoLater) {\r\n if (\r\n isPanLinkedToAadhar &&\r\n (getProductCode() == \"I\" || prodObj?.accountCategory == \"2\")\r\n ) {\r\n // setShowSubmitModal(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndexForProfiler = leftNavBarArray?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filterLeftBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n let panOCRval = panOCR;\r\n panOCRval.PayloadObj.applicationid = GlobalStore.applicationID;\r\n setPanOCR(panOCRval);\r\n uploadPanFile(panOCR.val, panOCR.fileName, panOCR.id, panOCR.type);\r\n // AextractPan(\r\n // (res: any) =>\r\n // storeOcrData(\r\n // res,\r\n // panOCR.val,\r\n // panOCR.fileName,\r\n // panOCR.id,\r\n // panOCR.type\r\n // ),\r\n // panOCR.PayloadObj\r\n // );\r\n } else {\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n if (isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndexForProfiler = leftNavBarArray?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filterLeftBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0)\r\n filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n // setShowSubmitModal(true);\r\n setDobChecked(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0)\r\n filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\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 fsfullName: values?.fatherName,\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 nextprocess(kycobj);\r\n }\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 // debugger;\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n //setApplicationInitializedFlag(true);\r\n }\r\n\r\n React.useEffect(() => {\r\n if (applicationInitializedFlag && applicationModeType === \"isDigiLocker\") {\r\n setShowSubmitModal(true);\r\n }\r\n }, [applicationInitializedFlag, applicationModeType]);\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR112\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res?.data == null) {\r\n let isUploadDocumentsCompleted: boolean = false;\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res && res.data !== null) {\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 AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n // setErrCode('1222 - Error in fetching pending document upload list.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 let cacheData = null;\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n setCheckpanaaddharflag(responseObj.checkpanaaddharflag);\r\n setStageBooleanFlags((stageBooleanFlags) => {\r\n stageBooleanFlags.isPersonalStage =\r\n responseObj?.ispersonaldetailscompleted;\r\n stageBooleanFlags.isProfileStage =\r\n responseObj?.isprofiledetailscompleted;\r\n return stageBooleanFlags;\r\n });\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\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 {\r\n if (responseObj.isdigilockercompleted) {\r\n GlobalStore.isDigiLocker = true;\r\n console.log(\"setApplicationModeType 2\");\r\n setApplicationModeType(\"isDigiLocker\");\r\n }\r\n }\r\n\r\n if (responseObj.iskra) {\r\n GlobalStore.isKRA = true;\r\n console.log(\"setApplicationModeType 3\");\r\n setApplicationModeType(\"isKRA\");\r\n }\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?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n !responseObj.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n 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 } 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 if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n !responseObj.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n if (responseObj.bpm_pd_status === 0)\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n savePanDob(true);\r\n }\r\n } else {\r\n // setErrCode('1062 - Error in fetching stage completion details.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\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\r\n if (kraDocs === kraDocCount) {\r\n ASaveDocumentDetails(\r\n (res: any) =>\r\n kraDocumentDetailsSaved(res, applicationIdExists, uploadObj),\r\n saveObj\r\n );\r\n }\r\n };\r\n const kraDocumentDetailsSaved = (\r\n res: any,\r\n applicationIdExists?: boolean,\r\n uploadObj?: saveDocumentObj\r\n ) => {\r\n console.log(\"SaveUploadedDocumentDetails\", kraDocs, kraDocCount);\r\n\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 setDocumentInfo((prev) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n uploadObj?.fileName,\r\n prev.totalDocs.filter((x) => x != uploadObj?.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter((x) => x !== uploadObj?.fileName),\r\n };\r\n });\r\n setShowSubmitModal(true);\r\n // setIsLoading(false);\r\n // setShowSubmitModal(true);\r\n }\r\n };\r\n const documentDetailsSaved = (\r\n res: any,\r\n applicationIdExists?: boolean,\r\n uploadObj?: saveDocumentObj\r\n ) => {\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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 setDocumentInfo((prev) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n uploadObj?.fileName,\r\n prev.totalDocs.filter((x) => x !== uploadObj?.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter((x) => x != uploadObj?.fileName),\r\n };\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\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 QltyByPassFlag: 1,\r\n };\r\n\r\n setDocumentInfo((prev: any) => {\r\n let isDocsAvailable = !prev.totalDocs.includes(\r\n savePermAddressObj.fileName\r\n );\r\n return {\r\n ...prev,\r\n totalDocsCount: isDocsAvailable\r\n ? prev.totalDocsCount + 1\r\n : prev.totalDocsCount,\r\n totalDocs: isDocsAvailable\r\n ? [...prev.totalDocs, savePermAddressObj.fileName]\r\n : [...prev.totalDocs],\r\n };\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 QltyByPassFlag: 1,\r\n };\r\n\r\n setDocumentInfo((prev: any) => {\r\n let isDocsAvailable = !prev.totalDocs.includes(\r\n savePermAddressDefaultObj.fileName\r\n );\r\n return {\r\n ...prev,\r\n totalDocsCount: isDocsAvailable\r\n ? prev.totalDocsCount + 1\r\n : prev.totalDocsCount,\r\n totalDocs: isDocsAvailable\r\n ? [...prev.totalDocs, savePermAddressDefaultObj.fileName]\r\n : [...prev.totalDocs],\r\n };\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\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.AppStatus === \"07\"\r\n // !responseObj.ErrorCode &&\r\n // responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\r\n ) {\r\n GlobalStore.isKRA = true;\r\n if (applicationModeType !== \"isKRA\") {\r\n setApplicationModeType(\"isKRA\");\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\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 if (getAccountCategory() == 2) {\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n } else {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex1 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex1 > 0) filterLeftBar?.splice(filterNavIndex1, 1);\r\n if (!filterLeftBar?.includes(authenticateNavBarObj))\r\n filterLeftBar.push(authenticateNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\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 =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : 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 setShowSubmitModal(true);\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n setDocumentInfo({\r\n totalDocs: [],\r\n totalDocsCount: 0,\r\n uploadedDocsCount: 0,\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\r\n } // if (applicationIdExists) history.push(GlobalStore.nextIncompleteStage);\r\n // else {\r\n // // history.push(dashboardUrl.profile);\r\n // // setIsLoading(false);\r\n // setShowSubmitModal(true);\r\n // }\r\n } else {\r\n if (!GlobalStore.isKRA) {\r\n console.log(\"setApplicationModeType 5\");\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n setIsNormalClient(true);\r\n setShowSubmitModal(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 history.push(dashboardUrl?.personalIfo);\r\n } else {\r\n setApplicationModeType(\"isDigiLocker\");\r\n\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 navigate(applicationIdExists);\r\n }\r\n } else navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n const checkPanValidationMsgs = (response: any) => {\r\n let result = \"\";\r\n Object.keys(panValidationKeyList).forEach((x) => {\r\n if (response[x] === \"N\") {\r\n // console.log(data[panValidationKeyList[x]])\r\n result = result + \"\\n\" + response[panValidationKeyList[x]];\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n const panValidationCallback = (res: any, callBackFunction: Function) => {\r\n if (!res || res.error) {\r\n if (panInvalidMsg?.includes(res.error)) {\r\n setPanInvalidMsg(panInvalidMsg);\r\n } else {\r\n setPanInvalidMsg(panInvalidMsg + res.error);\r\n }\r\n setIsLoading(false);\r\n } else {\r\n /*\r\n new api added for a pan api check\r\n */\r\n if (res && res.data) {\r\n panValidationResp = res.data;\r\n if (\r\n res &&\r\n res.data &&\r\n (res.data?.Dob === \"N\" ||\r\n res.data?.Name === \"N\" ||\r\n res.data?.PanStatus === \"N\" ||\r\n res.data?.SeedingStatus === \"N\")\r\n ) {\r\n setErrorFoundInPanValidation(false);\r\n setPanInvalidMsg(checkPanValidationMsgs(res.data));\r\n }\r\n if (res?.data?.SeedingStatus === \"Y\") {\r\n isPanLinkedToAadhar = true;\r\n } else {\r\n isPanLinkedToAadhar = false;\r\n }\r\n if (\r\n (res && res.data && res.data?.Dob === \"N\") ||\r\n res.data?.Name === \"N\" ||\r\n res.data?.PanStatus === \"N\" ||\r\n res.data?.SeedingStatus === \"N\"\r\n ) {\r\n setIsLoading(false);\r\n } else {\r\n setErrorFoundInPanValidation(true);\r\n // console.log(\"values.dob===extractPanResponse?.date_of_birth\",values.dob===extractPanResponse?.date_of_birth,values,extractPanResponse)\r\n if (\r\n values.pan === extractPanResponse?.id_number &&\r\n moment(values.dob).format(\"YYYY-MM-DD\") ===\r\n extractPanResponse?.date_of_birth\r\n ) {\r\n setDobChecked(true);\r\n } else {\r\n setDobChecked(false);\r\n }\r\n\r\n validatePANNew(\r\n res?.data?.SeedingStatus,\r\n res?.data?.SeedingStatusMsg,\r\n res?.data?.PanStatus\r\n );\r\n }\r\n }\r\n }\r\n };\r\n const panValidation = (\r\n panObject: {\r\n panNo: string;\r\n name: string;\r\n dob: string;\r\n source: string;\r\n },\r\n callBackFunction: Function\r\n ) => {\r\n APanVerification((res: any) => {\r\n panValidationCallback(res, callBackFunction);\r\n }, panObject);\r\n };\r\n function navigate(applicationIdExists: boolean | undefined, reqObj?: any) {\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 console.log(\r\n \"ckyc,kra-values-\",\r\n clientPartialDetails_ao.ckycNo,\r\n \"||\",\r\n clientPartialDetails_ao.isKRA\r\n );\r\n console.log(\"showSubmitModal\", showSubmitModal);\r\n if (showSubmitModal) {\r\n if (\r\n !clientPartialDetails_ao.ckycNo ||\r\n clientPartialDetails_ao.ckycNo === \"\" ||\r\n !clientPartialDetails_ao.isKRA\r\n ) {\r\n console.log(\"oabove ddglocker\");\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy != undefined\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n } else {\r\n history.push(containerUrl.dgLocker);\r\n }\r\n } else if (applicationIdExists) {\r\n console.log(\"oabove ddglocker 1\");\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n // else if (values.aadharLinked !== 'No') history.push(containerUrl.dgLocker);\r\n else {\r\n console.log(\"oabove ddglocker 2\");\r\n if (!errCode && errCode.length === 0)\r\n history.push(dashboardUrl.profile);\r\n }\r\n }\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy != undefined &&\r\n applicationIdExists\r\n ) {\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n if (\r\n reqObj !== null &&\r\n reqObj !== undefined &&\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid != undefined &&\r\n applicationIdExists\r\n ) {\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n if (!showSubmitModal) {\r\n setShowSubmitModal(true);\r\n setIsLoading(false);\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 setPanFileUploadedLoader(true);\r\n setIsLoading(true);\r\n panObj.imgUrl = \"\";\r\n panObj.documentId = 1;\r\n panObj.documentCategoryId = \"2\";\r\n panObj.uploadPer = 100;\r\n setPanObj(panObj);\r\n setErrCode(\"\");\r\n setErrorFoundInPanValidation(false);\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 setPanOCR({\r\n PayloadObj: panOCR,\r\n val: val,\r\n fileName: fileName,\r\n id: id,\r\n type: type,\r\n });\r\n\r\n AextractPanNew((res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('Invalid Image');\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setPanFileUploaded(true);\r\n setPanFileUploadedLoader(false);\r\n // alert('Pan Card number entered and the uploaded image do not match. Please upload correct PAN');\r\n } else {\r\n if (res?.data?.error && res?.data?.error !== \"INVALID_PDF\") {\r\n setErrCode(errCode + res?.data?.error);\r\n setPanFileUploaded(true);\r\n setPanFileUploadedLoader(false);\r\n } else {\r\n if (res && res?.data?.result) {\r\n setExtractPanResponse(res?.data?.result?.extraction_output);\r\n if (\r\n res?.data?.result?.extraction_output?.id_number === \"\" ||\r\n res?.data?.result?.extraction_output?.id_number === null ||\r\n res?.data?.result?.extraction_output?.id_number === undefined\r\n ) {\r\n setInvalidPanFileUploadedMsg(\r\n \"Oops!! You seem to have uploaded the wrong document. Please upload Pan Card!!\"\r\n );\r\n setPanFileUploaded(false);\r\n setPanFileUploadedLoader(false);\r\n } else {\r\n setInvalidPanFileUploadedMsg(\"\");\r\n }\r\n setValues((values) => {\r\n values.pan = res?.data?.result?.extraction_output?.id_number;\r\n values.dob = new Date(\r\n res?.data?.result?.extraction_output?.date_of_birth\r\n );\r\n if (res?.data?.result?.extraction_output?.name_on_card !== null) {\r\n let fullName =\r\n res?.data?.result?.extraction_output?.name_on_card?.split(\r\n \" \"\r\n );\r\n values.firstName =\r\n fullName?.length > 0 ? fullName[0] ?? \"\" : \"\";\r\n values.lastName =\r\n fullName?.length > 0\r\n ? fullName[fullName?.length - 1] ?? \"\"\r\n : \"\";\r\n console.log(\"splice\", fullName);\r\n fullName.splice(0, 1);\r\n fullName.splice(fullName?.length - 1);\r\n values.middleName = fullName.join(\" \");\r\n values.fatherName =\r\n res?.data?.result?.extraction_output?.fathers_name;\r\n }\r\n\r\n return values;\r\n });\r\n\r\n GlobalStore.personaldetails.fsfullName =\r\n res?.data?.result?.extraction_output?.fathers_name;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.fsfullName =\r\n GlobalStore.personaldetails.fsfullName;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setPanFileUploadedLoader(false);\r\n if (\r\n val !== null &&\r\n val !== undefined &&\r\n fileName?.length > 0 &&\r\n id?.length > 0\r\n ) {\r\n setPanFileUploaded(true);\r\n } else {\r\n setPanFileUploaded(false);\r\n }\r\n }else{\r\n setPanFileUploaded(true);\r\n setPanFileUploadedLoader(false);\r\n }\r\n }\r\n }\r\n }, panOCR);\r\n setIsLoading(false);\r\n }\r\n const uploadPanFile = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n panNo: values?.pan,\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 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 const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n\r\n setPanUploadObject(PanUploadObject);\r\n GlobalStore.panOCRObj = extractPanResponse;\r\n if (checkAutoQcForPan()) {\r\n savePanObj.autoqc = true;\r\n } else {\r\n savePanObj.autoqc = false;\r\n }\r\n saveDetails.push(savePanObj);\r\n setDocumentInfo((prev: any) => {\r\n return {\r\n ...prev,\r\n totalDocsCount: prev.totalDocsCount + 1,\r\n totalDocs: !prev.totalDocs.includes(savePanObj.fileName)\r\n ? [...prev.totalDocs, savePanObj.fileName]\r\n : [...prev.totalDocs],\r\n };\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 AUploadDocument(\r\n (res: any) => getPanUploadRes(res, savePanObj),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\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 if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-8\" });\r\n setIsLoading(false);\r\n setPanUploaded(false);\r\n setShowSubmitModal(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\r\n if (isPanLinkedToAadhar !== true) {\r\n setApplicationInitializedFlag(true);\r\n }\r\n setDocumentInfo((prev: any) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n savePanObj.fileName,\r\n prev.totalDocs.filter((x: string) => x != savePanObj.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter(\r\n (x: string) => x != savePanObj.fileName\r\n ),\r\n };\r\n });\r\n // ASaveDocumentDetails((res: any) => {\r\n // if (!res || res.error) {\r\n // if (errCode?.includes(res.error)) {\r\n // setErrCode(errCode);\r\n // } else {\r\n // setErrCode(errCode + res.error);\r\n // }\r\n // if (isPanLinkedToAadhar !== true) {\r\n // setApplicationInitializedFlag(true);\r\n // }\r\n // } else {\r\n // if (res && res.data) {\r\n // if (isPanLinkedToAadhar !== true) {\r\n // setApplicationInitializedFlag(true);\r\n // }\r\n // setDocumentInfo((prev: any) => {\r\n // console.log(\r\n // \"prev.totalDocs\",\r\n // prev.totalDocs,\r\n // savePanObj.fileName,\r\n // prev.totalDocs.filter((x: string) => x != savePanObj.fileName)\r\n // );\r\n // return {\r\n // ...prev,\r\n // uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n // totalDocs: prev.totalDocs.filter(\r\n // (x: string) => x != savePanObj.fileName\r\n // ),\r\n // };\r\n // });\r\n // }\r\n // }\r\n // }, saveObj);\r\n }\r\n };\r\n\r\n const handleContinue = () => {\r\n setErrCode(\"\");\r\n if (!GlobalStore.leadId || GlobalStore.leadId === \"\") 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\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 const handleRemove = () => {\r\n setPanFileUploaded(false);\r\n setPanFileUploadedLoader(false);\r\n setPanInvalidMsg(\"\");\r\n setInvalidPanFileUploadedMsg(\"\");\r\n setPanOCR(null);\r\n setErrors({\r\n pan: undefined,\r\n dob: undefined,\r\n aadharLinked: undefined,\r\n aadhaarNo: undefined,\r\n firstName: undefined,\r\n middleName: undefined,\r\n lastName: undefined,\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n if (submitFlag && errCode == \"\") {\r\n handleSubmit();\r\n }\r\n }, [submitFlag, errCode]);\r\n\r\n const clear_Error = () => {\r\n setErrCode(\"\");\r\n setSubmitFlag(true);\r\n };\r\n\r\n // disabled={\r\n // Object.values(errors).some((error) => error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n // (isNormalClient &&\r\n // (!panNumberMatched || !dobChecked || removePanImg)) ||\r\n // !consent ||\r\n // !panOCR\r\n // }\r\n\r\n function nextprocess(kycobj: any) {\r\n // updateUtmInfo(() => {});\r\n\r\n if (false) {\r\n //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 if (\r\n isPanLinkedToAadhar !== null &&\r\n isPanLinkedToAadhar !== undefined &&\r\n isPanLinkedToAadhar == true\r\n ) {\r\n setIsLoading(true);\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 clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n CreatedBy:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n };\r\n AGetKraDetails(\r\n (res: any) =>\r\n kraDobCheckNew(\r\n res,\r\n GlobalStore?.applicationID !== null &&\r\n GlobalStore?.applicationID !== undefined\r\n ? true\r\n : false\r\n ),\r\n reqObj\r\n );\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 {/* setShowDigiRedirection(false)}>\r\n \r\n */}\r\n
\r\n
\r\n \"banner\"\r\n
\r\n
\r\n \r\n
\r\n {!skipUrlBoolean && (\r\n
\r\n \r\n Please upload a PAN Card to verify your details on Pan Card.\r\n \r\n
\r\n )}\r\n\r\n
\r\n
\r\n
\r\n {!skipUrlBoolean && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {panFileUploadedLoader && (\r\n
\r\n \r\n
\r\n )}\r\n {invalidPanFieldUploadedMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {panFileUploaded &&\r\n !panFileUploadedLoader &&\r\n invalidPanFieldUploadedMsg == \"\" && (\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"firstName\", value)}\r\n required={true}\r\n onBlur={(error: any, event) => {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n firstName: errorMsg(errorCode.FE57),\r\n });\r\n } else if (\r\n !!values?.firstName &&\r\n (values.firstName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n firstName: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstName: errorMsg(errorCode.FE55),\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Pranav\"\r\n // pattern={pan}\r\n errorText={errors.firstName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n
\r\n \r\n onChange(\"middleName\", value)}\r\n onBlur={(error: any, event) => {\r\n if (\r\n !!values?.middleName &&\r\n (values.middleName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n middleName: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n middleName: errorMsg(errorCode.FE55),\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Prashant\"\r\n // pattern={pan}\r\n errorText={errors.middleName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n
\r\n \r\n onChange(\"lastName\", value)}\r\n onBlur={(error, event) => {\r\n if (\r\n !!values?.lastName &&\r\n (values.lastName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Joshi\"\r\n // pattern={pan}\r\n errorText={errors.lastName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n {/* Pan Field start */}\r\n
\r\n \r\n {\r\n setPanInvalidMsg(\"\");\r\n onChange(\"pan\", value.toUpperCase());\r\n }}\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={\r\n validPan ? : <>\r\n }\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 defaultDate={values?.dob ? values.dob : undefined}\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 18\r\n )\r\n )\r\n }\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={onBlurDob}\r\n disable={\r\n isLoading ||\r\n errorFoundInPanValidation ||\r\n getCheckedDobCondition()\r\n }\r\n isError={errors.dob ? true : false}\r\n />\r\n
\r\n\r\n {errors.dob && (\r\n

{errors.dob}

\r\n )}\r\n {/* DOB end */}\r\n
\r\n\r\n {showSubmitModal && dobChecked && (\r\n \r\n \r\n

Please Note!

\r\n
\r\n {modalDisplayText ? (\r\n \r\n {modalDisplayText}\r\n
\r\n ) : (\r\n \"Loading...\"\r\n )}\r\n
\r\n
\r\n {\r\n if (applicationModeType === \"isKRA\")\r\n history.push(dashboardUrl.profile);\r\n if (applicationModeType === \"isDigiLocker\")\r\n history.push(containerUrl.dgLocker);\r\n }}\r\n type=\"submit\"\r\n disabled={\r\n documentsInfo.totalDocsCount !==\r\n documentsInfo.uploadedDocsCount\r\n }\r\n >\r\n {documentsInfo.totalDocsCount !==\r\n documentsInfo.uploadedDocsCount\r\n ? \"Please Wait\"\r\n : \"OK, Proceed\"}\r\n \r\n
\r\n \r\n
\r\n )}\r\n
\r\n {}}\r\n />\r\n \r\n
\r\n\r\n {utmObj &&\r\n Object.keys(utmObj).length > 0 &&\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 {/* Pan Matching Error Msg Start */}\r\n {panInvalidMsg !== \"\" && panInvalidMsg?.length > 0 && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Pan Matching Error Msg End */}\r\n
\r\n error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n !(\r\n errors?.dob != null ||\r\n (errors?.dob != undefined &&\r\n errors.firstName != null) ||\r\n errors.firstName != undefined ||\r\n (errors.firstName !== \"\" && errors?.pan != null) ||\r\n errors?.pan != undefined ||\r\n errors?.pan !== \"\"\r\n ) ||\r\n values?.firstName == \"\" ||\r\n values?.firstName == undefined ||\r\n values.firstName == null ||\r\n values?.pan == null ||\r\n values?.pan == undefined ||\r\n values?.pan == \"\" ||\r\n (values?.firstName?.length == 0 &&\r\n values?.pan?.length == 0 &&\r\n (values?.dob === null ||\r\n values?.dob === undefined)) ||\r\n values?.dob == null ||\r\n values?.dob === undefined ||\r\n (errCode == \"\" &&\r\n isNormalClient &&\r\n (!panNumberMatched || !dobChecked)) ||\r\n !consent ||\r\n liveLocationCheck.checkPhotoLiveness ||\r\n liveLocationCheck.checkLocation ||\r\n (skipUrlBoolean ? false : !panOCR) ||\r\n errCode\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\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\nimport SampleAadharPopup from \"../SampleFolderPopups/SampleAadharPopup\";\r\nimport SampleAadharMobileViewProps from \"../SampleFolderPopups/SampleAadharPopupMobileView\";\r\nimport SampleDrivingLicensePopup from \"../SampleFolderPopups/SampleDrivingLicense\";\r\nimport SampleSDLMobileViewProps from \"../SampleFolderPopups/SampleDLMobile\";\r\nimport SampleVoterIDPopup from \"../SampleFolderPopups/SampleVoterIdPopup\";\r\nimport SampleVoterIDMobileViewProps from \"../SampleFolderPopups/SampleVoterIDMobile\";\r\nimport SamplePassportPopup from \"../SampleFolderPopups/SamplePassportPopup\";\r\nimport SamplePassportMobileViewProps from \"../SampleFolderPopups/SamplePassportMobile\";\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 const [showAadhar, setShowAadhar] = React.useState(false);\r\n const [showDL, setShowDL] = React.useState(false);\r\n const [showDLMobile, setShowDLMobile] = React.useState(false);\r\n const [showMobileAadhar, setShowMobileAadhar] =\r\n React.useState(false);\r\n const [showVoterID, setShowVoterID] = React.useState(false);\r\n const [showVoterIDMobile, setShowVoterIDMobile] =\r\n React.useState(false);\r\n const [showPassport, setShowPassport] = React.useState(false);\r\n const [showPassportMobile, setPassportMobile] =\r\n React.useState(false);\r\n\r\n const setSamplePopups = (docType: string) => {\r\n switch (docType) {\r\n case \"Adhaar\":\r\n if (DeviceContext()?.isMobile) {\r\n setShowMobileAadhar(true);\r\n } else setShowAadhar(true);\r\n break;\r\n case \"Driving License\":\r\n if (DeviceContext()?.isMobile) {\r\n setShowDLMobile(true);\r\n // setShowMobileAadhar(true);\r\n } else setShowDL(true);\r\n break;\r\n case \"Voter Id\":\r\n if (DeviceContext()?.isMobile) {\r\n setShowVoterIDMobile(true);\r\n // setShowMobileAadhar(true);\r\n } else setShowVoterID(true);\r\n break;\r\n case \"Passport\":\r\n if (DeviceContext()?.isMobile) {\r\n setPassportMobile(true);\r\n // setShowMobileAadhar(true);\r\n } else setShowPassport(true);\r\n break;\r\n }\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 {\r\n setSamplePopups(props?.docName);\r\n }}\r\n // onMouseOver={() => 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 {showAadhar && (\r\n \r\n )}\r\n {showMobileAadhar && (\r\n \r\n )}\r\n {showDL && (\r\n \r\n )}\r\n {showDLMobile && (\r\n \r\n )}\r\n {showVoterID && (\r\n \r\n )}\r\n {showVoterIDMobile && (\r\n \r\n )}\r\n {showPassport && (\r\n \r\n )}\r\n {showPassportMobile && (\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 {\r\n digiLockerUrl,\r\n dashboardUrl,\r\n containerUrl,\r\n} 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\nimport { AGetDigiLink } from \"../../Services/registration/digiLockerApiService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\r\nimport { setStageData } from \"../../Services/globalService\";\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, setdgLockerLinkUrl] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n\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 const handleAppendedStage = async () => {\r\n const clientPartialDetails_ao = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n localStorage.setItem(\r\n \"appendedStage\",\r\n JSON.stringify({\r\n applicationId: clientPartialDetails_ao.applicationId,\r\n showDigiLockerPage: true,\r\n showPersonalDocPage: false,\r\n })\r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n window.scroll(0, 0);\r\n\r\n handleAppendedStage();\r\n }, []);\r\n const cacheKRAFunction = (responseObj: any) => {\r\n GlobalStore.isKRA = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\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 = true;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\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 // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const setStageCompletionStatus = async (callBackFunction: Function) => {\r\n const clientPartialDetails_ao = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n AGetStageCompletionStatus(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n callBackFunction();\r\n // setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj?.isaddressstagecompleted ||\r\n (responseObj?.isprofiledetailscompleted &&\r\n responseObj?.ispersonaldetailscompleted)\r\n ) {\r\n history.push(containerUrl.continue);\r\n } else {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\r\n if (\r\n clientPartialDetails_ao?.applicationId &&\r\n responseObj.ispersonaldetailscompleted !== true &&\r\n responseObj.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.Data);\r\n // setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n ) || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.Data);\r\n history.push(dashboardUrl.profile);\r\n // setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\r\n GlobalStore.isKYC = false;\r\n GlobalStore.isKRA = false;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n ) || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") ===\r\n \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID =\r\n GlobalStore.user.email;\r\n\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile =\r\n GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan =\r\n GlobalStore?.personaldetails?.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding =\r\n GlobalStore.isSeeding;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n callBackFunction();\r\n // history.push(dashboardUrl.profile);\r\n // setIsLoading(false);\r\n } else {\r\n callBackFunction();\r\n }\r\n }\r\n } else {\r\n callBackFunction();\r\n }\r\n },\r\n {\r\n uniqueID: clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID,\r\n key: `AOPDROPOFF-${\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n }`,\r\n }\r\n );\r\n }\r\n }\r\n }\r\n },\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n );\r\n };\r\n // Get Digilocker link\r\n React.useEffect(() => {\r\n setStageCompletionStatus(() => {\r\n if (domain.digiLockerSource == 1) {\r\n const dgLockerLinkUrlLocal =\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 setdgLockerLinkUrl(dgLockerLinkUrlLocal);\r\n }\r\n if (domain.digiLockerSource == 2) {\r\n const getDigiLinkObj: any = {};\r\n getDigiLinkObj.ApplicationId = \"\";\r\n AGetDigiLink(\r\n (res: any) => getDigilockerLink(res, getDigiLinkObj),\r\n getDigiLinkObj\r\n );\r\n }\r\n });\r\n // if (\r\n // GlobalStore?.stageStatus?.isaddressstagecompleted ||\r\n // GlobalStore?.stageStatus?.ispersonaldetailscompleted ||\r\n // GlobalStore?.stageStatus?.isprofiledetailscompleted\r\n // ) {\r\n // history.push(containerUrl.continue);\r\n // } else {\r\n // if (domain.digiLockerSource == 1) {\r\n // const dgLockerLinkUrlLocal =\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 // setdgLockerLinkUrl(dgLockerLinkUrlLocal);\r\n // }\r\n // if (domain.digiLockerSource == 2) {\r\n // const getDigiLinkObj: any = {};\r\n // getDigiLinkObj.ApplicationId = \"\";\r\n // AGetDigiLink(\r\n // (res: any) => getDigilockerLink(res, getDigiLinkObj),\r\n // getDigiLinkObj\r\n // );\r\n // }\r\n // }\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 function getDigilockerLink(res: any, getDigiLinkObj: any) {\r\n if (domain.digiLockerSource == 2) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n if (res.data.access_token) {\r\n setdgLockerLinkUrl(res.data.url);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.signzydt = res.data.access_token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n } else {\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\r\n } else {\r\n // setIsLoading(false);\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\r\n }\r\n }\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) {\r\n localStorage.removeItem(\"appendedStage\");\r\n window.location.href = dgLockerLinkUrl;\r\n }\r\n if (uploadDocToggle) {\r\n // localStorage.setItem(\r\n // \"appendedStage\",\r\n // JSON.stringify({\r\n // applicationId: GlobalStore.applicationID,\r\n // showDigiLockerPage: false,\r\n // showPersonalDocPage: true,\r\n // })\r\n // );\r\n history.push(dashboardUrl.personalIfo);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DgLocker;\r\n","import React from \"react\";\r\nimport Button from \"../Button/Button\";\r\nimport \"./ChatText.scss\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport callSupport from \"../../../assets/icons/call.png\";\r\nimport InfoModal from \"../InfoModal/InfoModal\";\r\nimport PanSample from \"../../../assets/pan_sample.jpg\";\r\nimport { pan } from \"../../utils/regex\";\r\n\r\nexport interface ChatTextProps {\r\n className?: string;\r\n panPageFlag?: boolean;\r\n}\r\n\r\nconst ChatText: React.FC = (props) => {\r\n const [instantHelpReadMoreFlag, setInstantHelpReadMoreFlag] =\r\n React.useState(false);\r\n\r\n React.useEffect(() => {\r\n console.log(DeviceContext().isMobile);\r\n }, [DeviceContext().isMobile]);\r\n\r\n let readMoreFlagToggle = () => {\r\n console.log(\"click\");\r\n if (!instantHelpReadMoreFlag) setInstantHelpReadMoreFlag(true);\r\n else setInstantHelpReadMoreFlag(false);\r\n };\r\n\r\n console.log(DeviceContext().isMobile, \"HELLO\");\r\n\r\n return (\r\n
\r\n {props.panPageFlag ? (\r\n
\r\n {DeviceContext().isMobile ? (\r\n
\r\n {instantHelpReadMoreFlag ? (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Instant Help!!!\r\n

\r\n
\r\n \r\n x\r\n
\r\n
\r\n

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

Are you handy with your PAN Card:

\r\n
    \r\n
  • Have your PAN card handy.
  • \r\n
  • \r\n Make sure to upload it in a horizontal format for\r\n clear visibility, as it will be shared with the KYC\r\n Registration Agency (KRA) if not KRA.\r\n
  • \r\n
\r\n

Why do we require PAN Card?

\r\n
    \r\n
  • \r\n  Your PAN card is needed to verify your name with\r\n the Income Tax website.\r\n
  • \r\n
\r\n

How to Upload a PAN Card?

\r\n
    \r\n
  • \r\n Upload a color image copy of your PAN card, ensure\r\n that it is properly cropped in a horizontal format.\r\n
  • \r\n
  • \r\n Our system will automatically read and fill in your\r\n First Name, Middle Name, Last Name, Date of Birth,\r\n and PAN Card Number.\r\n
  • \r\n
  • \r\n If any information is incorrect, you can edit it\r\n before submitting.\r\n
  • \r\n
\r\n

Information Verification:

\r\n

\r\n The data will be sent to the Income Tax Department for\r\n verification. Verification is necessary to open your\r\n account.\r\n

\r\n

Handling Name Mismatch Errors:

\r\n
    \r\n
  • \r\n If you get a \"Name not Matched\" error, you can\r\n verify your name using this link:{\" \"}\r\n \r\n Verify Your PAN\r\n \r\n
  • \r\n
  • \r\n {\" \"}\r\n Enter the Name as per Aadhar / Bank / Name that you\r\n have entered while entering PAN Card.\r\n
  • \r\n
\r\n

\r\n  Note: This may happen only if you have changed your\r\n Name Post Marriage or Pan Card is issued prior to 2012\r\n as per Income Tax Authorities.\r\n

\r\n

Tips for Smooth Processing:

\r\n
    \r\n
  • \r\n Always upload the original or a colour scanned image\r\n of your PAN card.\r\n
  • \r\n
  • \r\n Ensure that the Name, Date of Birth, and Photo on\r\n your PAN card are clearly visible.\r\n
  • \r\n
\r\n {/*
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
*/}\r\n

\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {/*
\r\n

Can't see your face?

\r\n
*/}\r\n
\r\n \r\n ? instant help!!\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {instantHelpReadMoreFlag ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Instant Help!!!\r\n

\r\n
\r\n \r\n x\r\n
\r\n
\r\n

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

Are you handy with your PAN Card:

\r\n
    \r\n
  • Have your PAN card handy.
  • \r\n
  • \r\n Make sure to upload it in a horizontal format for\r\n clear visibility, as it will be shared with the KYC\r\n Registration Agency (KRA) if not KRA.\r\n
  • \r\n
\r\n

Why do we require PAN Card?

\r\n
    \r\n
  • \r\n  Your PAN card is needed to verify your name with\r\n the Income Tax website.\r\n
  • \r\n
\r\n

How to Upload a PAN Card?

\r\n
    \r\n
  • \r\n Upload a color image copy of your PAN card, ensure\r\n that it is properly cropped in a horizontal format.\r\n
  • \r\n
  • \r\n Our system will automatically read and fill in your\r\n First Name, Middle Name, Last Name, Date of Birth,\r\n and PAN Card Number.\r\n
  • \r\n
  • \r\n If any information is incorrect, you can edit it\r\n before submitting.\r\n
  • \r\n
\r\n

Information Verification:

\r\n

\r\n The data will be sent to the Income Tax Department for\r\n verification. Verification is necessary to open your\r\n account.\r\n

\r\n

Handling Name Mismatch Errors:

\r\n
    \r\n
  • \r\n If you get a \"Name not Matched\" error, you can\r\n verify your name using this link:{\" \"}\r\n \r\n Verify Your PAN\r\n \r\n
  • \r\n
  • \r\n {\" \"}\r\n Enter the Name as per Aadhar / Bank / Name that you\r\n have entered while entering PAN Card.\r\n
  • \r\n
\r\n

\r\n  Note: This may happen only if you have changed your\r\n Name Post Marriage or Pan Card is issued prior to 2012\r\n as per Income Tax Authorities.\r\n

\r\n

Tips for Smooth Processing:

\r\n
    \r\n
  • \r\n Always upload the original or a colour scanned image\r\n of your PAN card.\r\n
  • \r\n
  • \r\n Ensure that the Name, Date of Birth, and Photo on\r\n your PAN card are clearly visible.\r\n
  • \r\n
\r\n {/*
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
*/}\r\n

\r\n {/*

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

    \r\n
  • Click on selfie console
  • \r\n
  • \r\n You will be prompted to give access to your camera\r\n and location-allow when asked.\r\n
  • \r\n
  • \r\n If your laptop or desktop doesn't have a camera\r\n don't worry! Enable the toggle button below the\r\n selfie console and you'll get a link to your selfie\r\n via SMS on your registered mobile device.\r\n
  • \r\n
  • \r\n Enter your PAN and Aadhaar details to validate your\r\n PAN-Aadhaar seeding check.\r\n
  • \r\n
  • \r\n Remember to keep your PAN card handy. You'll need to\r\n upload it in horizontal format so that it's clear\r\n and can be shared with KRA.\r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
\r\n

*/}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n

Instant Help!!!

\r\n

\r\n\r\n

\r\n We hope you're ready to begin your onboarding journey with us\r\n using your PAN Card. Follow these simple steps to ensure a\r\n smooth process.\r\n

\r\n\r\n

\r\n Read More\r\n

\r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n {DeviceContext().isMobile ? (\r\n
\r\n
\r\n \r\n \"Call\r\n \r\n
\r\n
Call
\r\n
\r\n

\r\n \r\n 1800 102 3335\r\n \r\n

\r\n

Monday to Saturday : 10:00 AM - 6:00 PM

\r\n {/*

Saturday 10 AM - 4 PM

*/}\r\n
\r\n
\r\n ) : (\r\n
\r\n

For any queries contact us:

\r\n

\r\n \r\n 1800 102 3335\r\n \r\n

\r\n

*Weekdays 10:00 AM - 6:00 PM

\r\n

*Saturday 10:00 AM - 5:00 PM

\r\n

(*Except on 1st Saturday and Trading Holidays.)

\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\nexport default ChatText;\r\n","import React, { useState } from \"react\";\r\nimport ChatText from \"../UI/ChatText/ChatText\";\r\n\r\nconst InstanHelp = (props: any) => {\r\n // Fetch query params for clervertap\r\n\r\n return (\r\n
\r\n {props.children}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default InstanHelp;\r\n","import React from \"react\";\r\nimport \"./AccountTypeNew.scss\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport crown from \"../../../assets/icons/crown.png\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { containerUrl, dashboardUrl } from \"../../utils/constants\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport config from \"../../../config/domain\";\r\nconst AccountTypeNew = (props: any) => {\r\n const history = useHistory();\r\n const hideInvestment: boolean = config.hideInvestment;\r\n const [selectAccount, setSelectAccount] = React.useState<{\r\n selected: boolean;\r\n accounType: string;\r\n }>({ selected: false, accounType: \"\" });\r\n const setInvestmentProductCode = () => {\r\n // localStorage.setItem(\"productCode\", \"I\");\r\n if (hideInvestment) {\r\n history.push(containerUrl.registration + \"?productCode=TD\");\r\n } else {\r\n history.push(containerUrl.registration + \"?productCode=I\");\r\n }\r\n };\r\n const setAOPProductCode = () => {\r\n // localStorage.setItem(\"productCode\", \"TD\");\r\n // history.push(containerUrl.registration);\r\n history.push(containerUrl.registration + \"?productCode=TD\");\r\n };\r\n const getButtonText = () => {\r\n let buttonText = \"Select Account to Open\";\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n buttonText = \"Open a Pro Account\";\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n buttonText = \"Open a Starter Account\";\r\n }\r\n return buttonText;\r\n };\r\n const getButtonClass = () => {\r\n let buttonClass = \"pro-button-subsection-mobile\";\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n buttonClass = \"pro-button-subsection-mobile\";\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n buttonClass = \"starter-button-subsection-mobile\";\r\n }\r\n return buttonClass;\r\n };\r\n const handleSubmit = () => {\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n setAOPProductCode();\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n setInvestmentProductCode();\r\n }\r\n };\r\n return (\r\n <>\r\n {DeviceContext()?.isMobile ? (\r\n <>\r\n {\" \"}\r\n
\r\n
\r\n
\r\n Choose which Wealth account you want to open?\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {!hideInvestment && (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n setSelectAccount({\r\n selected: true,\r\n accounType: \"TD\",\r\n });\r\n }}\r\n >
\r\n \r\n {!hideInvestment && (\r\n
\r\n {\r\n setSelectAccount({\r\n selected: true,\r\n accounType: \"I\",\r\n });\r\n }}\r\n >
\r\n \r\n )}\r\n \r\n
\r\n {\r\n handleSubmit();\r\n }}\r\n btnName={getButtonText()}\r\n disabled={\r\n selectAccount?.accounType == \"\" &&\r\n selectAccount?.selected == false\r\n }\r\n parentClassName={\" button-class \" + getButtonClass()}\r\n type=\"button\"\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n ) : (\r\n
\r\n
\r\n {/* \r\n \r\n Back\r\n */}\r\n\r\n
\r\n {hideInvestment && (\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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 Fund\r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Insurance, Sovereign Gold (SGB), Unlisted equity\r\n \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, ETFs and other exchange-traded\r\n \r\n \r\n products\r\n \r\n
    \r\n
    \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n IPO and other Primary markets offerings\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Many more products\r\n \r\n \r\n
  • \r\n
\r\n
\r\n {\r\n setAOPProductCode();\r\n }}\r\n btnName=\"Open a Pro Account\"\r\n disabled={false}\r\n parentClassName=\" button-class pro-button-subsection\"\r\n type=\"button\"\r\n />\r\n
\r\n
\r\n {!hideInvestment && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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 Fund\r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Insurance, Sovereign Gold (SGB), Unlisted equity\r\n \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, ETFs and other exchange-traded\r\n \r\n \r\n products\r\n \r\n
    \r\n
    \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n IPO and other Primary markets offerings\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Many more products\r\n \r\n \r\n
  • \r\n
\r\n
\r\n {\r\n setInvestmentProductCode();\r\n }}\r\n btnName=\"Open a Starter Account\"\r\n disabled={false}\r\n parentClassName=\" button-class starter-button-subsection\"\r\n type=\"button\"\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 AccountTypeNew;\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\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\nimport AccountType from \"../components/Registration/AccountType/AccountType\";\r\nimport AccountTypeNew from \"../components/Registration/AccountType/AccountTypeNew\";\r\nimport DeviceContext from \"../components/Services/identifyDevice\";\r\nconst RegistrationRoutes = () => {\r\n const quryParams = useQuery();\r\n const utm_placement = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\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 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\n \r\n )}\r\n />\r\n (\r\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\nimport moment from \"moment\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (history.action === \"POP\") {\r\n history.push(redirectToEntryPoint());\r\n console.log(\"console.log(\", 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 GlobalStore?.stageStatus?.accountcategory !== 2\r\n ) {\r\n if (userId === 0) {\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n }\r\n }, [GlobalStore.isKYC, GlobalStore.isKRA]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n\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 isDematAccountFound: any = undefined,\r\n addressAccountFoundLocal: any = undefined;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n isDematAccountFound = listObjFound;\r\n if (listObjFound !== null && listObjFound !== undefined) {\r\n setDematAccountFound(listObjFound);\r\n // isUploadDocumentsCompleted = true;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n isDematAccountFound = listObjFound;\r\n setDematAccountFound(listObjFound);\r\n // isUploadDocumentsCompleted = true;\r\n }\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetails(\r\n res,\r\n isUploadDocumentsCompleted,\r\n isDematAccountFound,\r\n addressAccountFoundLocal\r\n ),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res?.data == null) {\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, false),\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 isDematAccountFound?: boolean,\r\n addressAccountFoundLocal?: any\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 GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\r\n // GlobalStore.leftNavBarState = GlobalStore.leftNavBarState?.filter(\r\n // (res) =>\r\n // responseObj?.accountcategory !== 2 &&\r\n // res.navUrl == dashboardUrl.plan\r\n // );\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.pennyDropCount = responseObj.pennydropcount;\r\n clientPartialDetails_ao.pennyDropCount = responseObj.pennydropcount;\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 if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra\r\n ) {\r\n GlobalStore.isKRA = responseObj.iskra;\r\n }\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n if (\r\n responseObj?.dob !== null &&\r\n responseObj?.dob !== undefined &&\r\n responseObj?.dob !== \"\"\r\n ) {\r\n clientPartialDetails_ao.dob = moment(responseObj?.dob).format(\r\n \"MM/DD/YYYY\"\r\n );\r\n GlobalStore.birthDate = moment(responseObj?.dob).format(\"MM/DD/YYYY\");\r\n }\r\n\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.dpid = responseObj?.dpid;\r\n clientPartialDetails_ao.clientid = responseObj?.dpclientid;\r\n GlobalStore.dpid = responseObj?.dpid;\r\n GlobalStore.clientid = responseObj?.dpclientid;\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(\r\n isUploadDocumentsCompleted,\r\n isDematAccountFound,\r\n addressAccountFoundLocal\r\n );\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?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (\r\n responseObj?.accountcategory !== 2 &&\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(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0,\r\n GlobalStore?.personaldetails?.pan\r\n );\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\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\n\r\nexport interface ProfileHomeProps {}\r\n\r\nconst ProfileHome: React.FC = (props) => {\r\n const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 14,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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;\r\n","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: \"MastersData/GetBank\",\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: \"BankStage/Save\",\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: \"MastersData/GetBank\",\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: \"MastersData/GetBank\",\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: \"MastersData/GetBank\",\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: \"BankStage/Get\",\r\n body: {\r\n applicationId: applicationid,\r\n esigndocumenttype: 0\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: \"Document/GetOCRData\",\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 from \"react\";\r\nimport \"./Loader.scss\";\r\n\r\nexport interface IPennyDropLoaderProps {\r\n color?: \"grey\" | \"blue\";\r\n size?: 18 | 20 | 100;\r\n}\r\n\r\nconst PennyDropLoader: React.FC = (\r\n props: IPennyDropLoaderProps\r\n) => {\r\n const color = props.color || \"grey\";\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PennyDropLoader;\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, ITokenObj } 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\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport PennyDropLoader from \"../../UI/Loader/PennyDropLoader\";\r\nimport { tr } from \"date-fns/locale\";\r\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\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 bankAddress1: string;\r\n bankAddress2?: string;\r\n bankAddress3?: 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 bankAddr2?: string;\r\n bankAddr3?: 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 [noBankFound, setNoBankFound] = React.useState(false);\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 [matchScore, setMatchScore] = 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 bankAddr2: \"\",\r\n bankAddr3: \"\",\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 const [showPennyDropModal, setShowPennyDropModal] =\r\n React.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 let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 setMatchScore(responseObj[0]?.match_score != \"0\");\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\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 setNoBankFound(false);\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 setIsSbi(true);\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\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 values[index].bankaddr1 = res?.data?.ecoIBeatsBank[0].bankAddress1;\r\n values[index].bankAddr2 = res?.data?.ecoIBeatsBank[0].bankAddress2;\r\n values[index].bankAddr3 = res?.data?.ecoIBeatsBank[0].bankAddress3;\r\n } else if (micrData.length > 1) {\r\n values[0].micr = micrData[0].name;\r\n values[0].bankaddr1 = res?.data?.ecoIBeatsBank[0].bankAddress1;\r\n values[0].bankAddr2 = res?.data?.ecoIBeatsBank[0].bankAddress2;\r\n values[0].bankAddr3 = res?.data?.ecoIBeatsBank[0].bankAddress3;\r\n } else {\r\n values[index].micr = \"\";\r\n }\r\n\r\n setBankListOnIFSC(result.ecoIBeatsBank);\r\n setLists(values);\r\n setIsLoading(false);\r\n } else {\r\n let values: Array = [...lists];\r\n values[index].bankcity = \"\";\r\n values[index].bankname = \"\";\r\n values[index].state = \"\";\r\n values[index].micr = \"\";\r\n values[index].micrcodeList = [];\r\n setLists(values);\r\n setNoBankFound(true);\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].bankAddress1;\r\n values[index].bankAddr2 = filterDataOnMICR[0].bankAddress2;\r\n values[index].bankAddr3 = filterDataOnMICR[0].bankAddress3;\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 const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n clientPartialDetails_ao?.pennyDropCount &&\r\n +clientPartialDetails_ao?.pennyDropCount <= 3\r\n ) {\r\n setShowPennyDropModal(true);\r\n }\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 // console.log(\r\n // \"accountHolderName\",\r\n // GlobalStore.accountHolderName === \"\",\r\n // lists[lists.length - 1].bankdetailsid === 0\r\n // );\r\n\r\n if (\r\n // (GlobalStore.accountHolderName === \"\" ||\r\n // lists[lists.length - 1].bankdetailsid === 0) &&\r\n +clientPartialDetails_ao?.pennyDropCount <= 3\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 saveBankDetailsNew();\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 saveBankDetailsNew(null);\r\n } else {\r\n let parsedRes = null;\r\n res.data?.code !== 400\r\n ? (parsedRes = JSON.parse(res.data))\r\n : (parsedRes = res.data);\r\n\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 saveBankDetailsNew(responseObj);\r\n }\r\n }\r\n setShowPennyDropModal(false);\r\n };\r\n const saveBankDetailsNew = (responseObj?: any) => {\r\n let score = 0;\r\n if (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.score !== undefined\r\n )\r\n score = responseObj.score;\r\n if (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.score &&\r\n responseObj.score == 100\r\n ) {\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 (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.registered_name\r\n )\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\r\n setLists((lists) => {\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 bankAddr2: lists[lists.length - 1].bankAddr2,\r\n bankAddr3: lists[lists.length - 1].bankAddr3,\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: GlobalStore.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 return lists;\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 saveBankDetailsNew = () => {\r\n // let score = 0;\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: 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: GlobalStore.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 // createdBy: parseInt(userId),\r\n // };\r\n // SaveBankDetails(saveDetailsRes, saveBankAccount);\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 !== 0) {\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 bankAddr2: lists[lists.length - 1].bankAddr2,\r\n bankAddr3: lists[lists.length - 1].bankAddr3,\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: GlobalStore.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 bankAddr2: \"\",\r\n bankAddr3: \"\",\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 bankAddr2: \"\",\r\n bankAddr3: \"\",\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 setShowPennyDropModal(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setShowPennyDropModal(false);\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 setShowPennyDropModal(false);\r\n setLoaderSign(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 console.log(\r\n \"isSbi\",\r\n isSbi &&\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n )\r\n );\r\n if (\r\n (isSbi &&\r\n (Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n ) ||\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number should have more than 10 digits\"\r\n ))) ||\r\n noBankFound ||\r\n matchScore\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 !noBankFound\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 // ) {\r\n // return false;\r\n // } else {\r\n // return true;\r\n // }\r\n // };\r\n console.log(\r\n \"disabled condition\",\r\n checkDisabled() || shouldDisable(),\r\n checkDisabled(),\r\n shouldDisable()\r\n );\r\n //console.log(\"lists\", lists);\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={matchScore}\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={matchScore}\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 {showPennyDropModal ? (\r\n \r\n \r\n

Penny drop validation

\r\n
\r\n \r\n
We are crediting account with Rs. 1
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n ) : (\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={matchScore}\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 {(list.micr || list.micrcodeList.length > 1) && (\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 )}\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\n\r\nexport interface BankHomeProps {}\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\")\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 dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 15,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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
Bank Details
\r\n
\r\n Provide your bank details through which you would like to conduct\r\n transactions.\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BankHome;\r\n","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 SMTF_PDF from \"../../assets/pdf/SMTF.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 AGetDocumentList,\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\nimport { checkESignSubmitted } from \"../utils/eSignSubmitHandler\";\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 const getDpAccountType = () => {\r\n let dpAcountType = GlobalStore.stageStatus.dpaccounttype;\r\n if (\r\n GlobalStore?.stageStatus?.dpaccounttype == null ||\r\n GlobalStore?.stageStatus?.dpaccounttype == undefined\r\n ) {\r\n dpAcountType = GlobalStore?.stageStatus?.dp_account_type;\r\n }\r\n return dpAcountType;\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\r\n const [checkedDerBSE, setCheckedDerBSE] = useState(false);\r\n const [checkedCurrNSE, setCheckedCurrNSE] = useState(false);\r\n const [termOne, setTermOne] = useState(true);\r\n const [checkedComMCXnNCXDX, setCheckedComMCXnNCXDX] =\r\n 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 const [accountType, setAccountType] = React.useState(getDpAccountType());\r\n const [accTypeToggle, setAccTypeToggle] = React.useState(false);\r\n const [accountTypeChangeCount, setAccountTypeChangeCount] =\r\n React.useState(0);\r\n const [SMTF, setSMTF] = useState(true); //Added By Ravi\r\n const [isEmployeePAN, setisEmployeePAN] = useState(false); //Added By Ravi\r\n\r\n const [checkedEquityCashNSEBSE, setCheckedEquityCashNSEBSE] =\r\n useState(true);\r\n const [checkedMutualFundsBSE, setCheckedMutualFundsBSE] =\r\n useState(true);\r\n const [checkedDebtFundsNSEBSE, setCheckedDebtFundsNSEBSE] =\r\n useState(true);\r\n const [NoSegSelected, setNoSegSelected] = useState(false);\r\n const [eSignSummited, setESignSummited] = useState(false);\r\n const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\r\n };\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n window.sessionStorage.setItem(\"stageInfoId\", \"5\");\r\n // setESignSummited(checkESignSubmitted(GlobalStore.applicationID));\r\n setESignSummited(shouldDisable());\r\n setIsLoading(true);\r\n AGetBrokerage(getBrokerage, GlobalStore.applicationID);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n AGetDocumentList(getDocList, 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 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 incomeObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\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 } 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 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 //setCheckedEquityCashNSEBSE(false);\r\n //setCheckedMutualFundsBSE(false);\r\n setCheckedDebtFundsNSEBSE(false);\r\n\r\n const ischeckedData = res.data.dbelist.filter(\r\n (item: any) => item.Checked === true\r\n );\r\n if (ischeckedData.length > 0) {\r\n setSMTF(ischeckedData[0].SMTF); //Added By Ravi\r\n }\r\n\r\n if (\r\n ischeckedData.map((item: any) => {\r\n if (item.CBEList === \"EBL-EQ-N\") {\r\n setCheckedEquityCashNSEBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-MF-BSE\") {\r\n setCheckedMutualFundsBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-Debt-NSE\") {\r\n setCheckedDebtFundsNSEBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-FO-N\") {\r\n setCheckedDerNSE(true);\r\n setSegTog(true);\r\n } else if (item.CBEList === \"EBL-FO-B\") {\r\n setCheckedDerBSE(true);\r\n setSegTog(true);\r\n } else if (item.CBEList === \"EBL-CDS-N\") {\r\n setCheckedCurrNSE(true);\r\n setSegTog(true);\r\n } else if (\r\n item.CBEList === \"CX-NCDEX\" ||\r\n item.CBEList === \"CX-MCX\"\r\n ) {\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 setSMTF(false); //Added By Ravi\r\n setisEmployeePAN(true); //Added By Ravi\r\n } else {\r\n setIsEmployee(true);\r\n setisEmployeePAN(false); //Added By Ravi\r\n }\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 const popularSignatures = {\r\n JVBERi0: \"application/pdf\",\r\n R0lGODdh: \"image/gif\",\r\n R0lGODlh: \"image/gif\",\r\n iVBORw0KGgo: \"image/png\",\r\n \"/9j/\": \"image/jpg\",\r\n Qk02U: \"image/bmp\",\r\n };\r\n\r\n function detectMimeType(base64 = \"\") {\r\n for (const [signature, type] of Object.entries(popularSignatures)) {\r\n if (base64.startsWith(signature)) {\r\n return type;\r\n }\r\n }\r\n return undefined; // Explicitly return undefined if no match is found\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 setErrCode(\"\");\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDetails = [];\r\n let saveIncomeObj = {\r\n documentCategoryId: incomeObj.documentCategoryId?.toString(),\r\n documentId: incomeObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName || incomeObj.fileName,\r\n isfilecropped: true,\r\n mimeType: detectMimeType(val!.split(\",\")[1]),\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 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 AUploadDocument(\r\n (res: any) => getUploadRes(res),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n // let uploadObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // base64document: val!.split(\",\")[1],\r\n // filename: fileName,\r\n // panNo: GlobalStore?.personaldetails.pan,\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) {\r\n setIsLoading(false);\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 setCheckedDerBSE(true);\r\n setCheckedCurrNSE(true);\r\n setCheckedComMCXnNCXDX(true);\r\n } else if (segTog === true) {\r\n setCheckedDerNSE(false);\r\n setCheckedDerBSE(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 if (\r\n !checkedEquityCashNSEBSE &&\r\n !checkedMutualFundsBSE &&\r\n !checkedDebtFundsNSEBSE &&\r\n !checkedDerNSE &&\r\n !checkedCurrNSE &&\r\n !checkedComMCXnNCXDX\r\n ) {\r\n setNoSegSelected(true);\r\n } else {\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:\r\n 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:\r\n 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\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: checkedEquityCashNSEBSE,\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: checkedEquityCashNSEBSE,\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: checkedMutualFundsBSE,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12161100\",\r\n cbeList: \"EBL-Debt-NSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDebtFundsNSEBSE,\r\n },\r\n {\r\n cbeList_Value: \"12161200\",\r\n cbeList: \"EBL-Debt-BSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDebtFundsNSEBSE,\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: \"12121200\",\r\n cbeList: \"EBL-FO-B\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDerBSE,\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 // 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 if (accountType == 1) {\r\n CBEListVM.push({\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 } else {\r\n CBEListVM.push({\r\n cbeList_Value: \"62616100\",\r\n cbeList: \"ESLDP_NSDL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n });\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 sebi_mtf: SMTF, //Added By Ravi\r\n changeDematAccountType:\r\n getDpAccountType() === accountType ? false : true,\r\n dematAccountType: accountType,\r\n accountCategory: GlobalStore?.stageStatus?.accountcategory,\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 handleEquityCashNSEBSE = () => {\r\n setCheckedEquityCashNSEBSE(!checkedEquityCashNSEBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleMutualFundsBSE = () => {\r\n setCheckedMutualFundsBSE(!checkedMutualFundsBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleDebtFundsNSEBSE = () => {\r\n setCheckedDebtFundsNSEBSE(!checkedDebtFundsNSEBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleDerNSE = () => {\r\n setCheckedDerNSE(!checkedDerNSE);\r\n setCheckedDerBSE(!checkedDerBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleCurrNSE = () => {\r\n setCheckedCurrNSE(!checkedCurrNSE);\r\n setNoSegSelected(false);\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 (!(checkedDerNSE || checkedCurrNSE || checkedComMCXnNCXDX)) {\r\n setSegTog(!segTog);\r\n } else if (\r\n termOne &&\r\n !incomeObj.hideProgress &&\r\n !active &&\r\n incomeProofErr === \"\"\r\n ) {\r\n return false;\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\r\n //Added By Ravi\r\n const handleSMTF = () => {\r\n setSMTF(!SMTF);\r\n };\r\n // const handleComMCX = () => {\r\n // setCheckedComMCX(!checkedComMCX);\r\n // };\r\n\r\n React.useEffect(() => {\r\n console.log(\"ACC-T = called\");\r\n if (accountTypeChangeCount !== 0) {\r\n if (accountType === 1) {\r\n setAccountType(2);\r\n } else if (accountType === 2) {\r\n setAccountType(1);\r\n }\r\n }\r\n }, [accountTypeChangeCount, accTypeToggle]);\r\n\r\n const handleTogAccountType = () => {\r\n if (accountTypeChangeCount < 2) {\r\n setAccountTypeChangeCount(accountTypeChangeCount + 1);\r\n setAccTypeToggle(!accTypeToggle);\r\n }\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 Plus

\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 {/*
\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 Charges*

\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
Commodity Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.ComFuture\r\n ? liteData.BrokingCharges.ComFuture\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComFuture\r\n ? eliteData.BrokingCharges.ComFuture\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Carry Forward
\r\n
\r\n {liteData && liteData.BrokingCharges.ComCarryForward\r\n ? liteData.BrokingCharges.ComCarryForward\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComCarryForward\r\n ? eliteData.BrokingCharges.ComCarryForward\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Option Slab
\r\n
\r\n {liteData && liteData.BrokingCharges.ComCarryOptionSlab\r\n ? liteData.BrokingCharges.ComCarryOptionSlab\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComCarryOptionSlab\r\n ? eliteData.BrokingCharges.ComCarryOptionSlab\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{\" \"}\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
\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
\r\n Margin Pledge/Unpledge charges\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
MTF Pledge/Unpledge charge
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\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
\r\n
MTF Pledge closure
\r\n
\r\n {liteData && liteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA Pledge
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA UnPledge
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n {/* *For Nuvama Lite Plus, 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 *For Lite Plus plan, the brokerage applicable to equity cash\r\n (Delivery) and Futures & Options orders will be determined by\r\n taking 2% of the value or the maximum order amount, which is ₹20\r\n per order, whichever is lower\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 In case where the sale / purchase value of a share is Rs.10/- or\r\n less, a maximum brokerage of 25 paise per share shall be\r\n collected for trades executed in capital market segment.\r\n

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

Nuvama Lite Plus

\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 \r\n
*/}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \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
\r\n
\r\n
\r\n
\r\n
\r\n {}} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {}} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\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 {/*
\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 Charges*

\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\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
News
\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
\r\n Margin Pledge/Unpledge charges\r\n
\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n MTF Pledge/Unpledge charges\r\n
\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\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
MTF Pledge closure
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA Pledge
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA UnPledge
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n {/* *For Nuvama Lite Plus, 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 *For Lite Plus plan, the brokerage applicable to equity cash\r\n (Delivery) and Futures & Options orders will be determined by\r\n taking 2% of the value or the maximum order amount, which is\r\n ₹20 per order, whichever is lower\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 In case where the sale / purchase value of a share is Rs.10/-\r\n or less, a maximum brokerage of 25 paise per share shall be\r\n collected for trades executed in capital market segment.\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 handleTogAccountType()}\r\n disabled={\r\n accountTypeChangeCount === 2 ||\r\n GlobalStore.stageStatus.dpaccountchanged ||\r\n eSignSummited\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
\r\n
\r\n handleEquityCashNSEBSE()}\r\n checked={true}\r\n disabled={true}\r\n onChange={() => {}}\r\n />\r\n
\r\n
\r\n
\r\n

Equity Cash

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleMutualFundsBSE()}\r\n checked={true}\r\n disabled={true}\r\n onChange={() => {}}\r\n />\r\n
\r\n
\r\n
\r\n

Mutual Funds

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleDebtFundsNSEBSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Debt Funds

\r\n
\r\n
\r\n {segTog && (\r\n
\r\n
\r\n
\r\n
\r\n handleDerNSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Equity Derivatives

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleCurrNSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Currency Derivatives

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleComNCXDX()}\r\n />\r\n
\r\n
\r\n
\r\n

Commodity

\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 {!isEmployeePAN && (\r\n
\r\n handleSMTF()}\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 {NoSegSelected && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\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 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 17,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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(\r\n getEsignKraUrl,\r\n GlobalStore.applicationID,\r\n 2,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\r\n );\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\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 dropOffObj();\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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 18,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\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\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\nimport ErrMsg from \"../ErrMsg/ErrMsg\";\r\n\r\nexport interface VideoPlayerIpvProps {\r\n ipvUploaded: (uploadObj: any, isSafari: boolean) => void;\r\n isGeoError?: boolean;\r\n isLocationPermission?: boolean;\r\n checkGeoLocation?: Function;\r\n lat?: any;\r\n long?: any;\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\r\n };\r\n const startFinalRecording = () => {\r\n if (\r\n !!props?.checkGeoLocation &&\r\n (props?.lat == null || props?.lat == undefined || props?.lat == \"\") &&\r\n (props?.long == null || props?.long == undefined || props?.long == \"\")\r\n ) {\r\n props?.checkGeoLocation();\r\n }\r\n setTimeout(() => {\r\n record();\r\n }, 3000);\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 if (props?.isLocationPermission == false) {\r\n } else {\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 if (new_File.size <= 8192) {\r\n alert(\r\n \"video size is less then minimum required size. Please upload it again\"\r\n );\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(\r\n GlobalStore.clientPrimaryDetailId\r\n ),\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\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 && props?.isLocationPermission && (\r\n {} : () => startFinalRecording()\r\n }\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 {shouldDisable()==true && (\r\n
\r\n \r\n \r\n \r\n
\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 correctIPV from \"../../assets/correct-IPV.svg\";\r\nimport wrongIpvOne from \"../../assets/wrong-ipv-one.svg\";\r\n\r\nimport wrongIpvTwo from \"../../assets/wrong-ipv-two.svg\";\r\n\r\nimport wrongIpvThree from \"../../assets/wrong-ipv-three.svg\";\r\nimport {\r\n AGetIpvOtp,\r\n ASaveIPVerificationDetails,\r\n ASendSms,\r\n AUploadIpv,\r\n AUploadIpvNew,\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\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\nexport interface IQueryObject {\r\n PanNo?: string;\r\n AccountCategory?: string;\r\n userid?: number;\r\n Pan?: string;\r\n Ac?: string;\r\n uid?: any;\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 let errorTimer = geoLocationConfig.errorTimer;\r\n React.useEffect(() => {\r\n // getLocation();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"7\");\r\n if (!id) {\r\n // if(isGeoError && isGeoErrorTimeFlag){\r\n // getLocation();\r\n // }\r\n AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n } else {\r\n let panObj: any = atob(id);\r\n setIsLoading(true);\r\n if (typeof panObj == \"string\" && (!panObj?.includes(\"PanNo\") && !panObj?.includes(\"Pan\")) ) {\r\n AGetClientDetailsByPan(searchByPan, panObj, 1, 0);\r\n } else {\r\n panObj = JSON.parse(atob(id)) as IQueryObject;\r\n //console.log(pan);\r\n\r\n if (\r\n panObj?.PanNo !== undefined &&\r\n panObj?.PanNo !== null &&\r\n panObj?.AccountCategory !== null &&\r\n panObj?.AccountCategory !== undefined\r\n ) {\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.PanNo,\r\n parseInt(panObj?.AccountCategory),\r\n panObj?.userid\r\n );\r\n } else if (\r\n panObj?.Pan !== null &&\r\n panObj?.Pan !== undefined &&\r\n panObj?.Pan !== \"\" &&\r\n panObj?.Ac !== null &&\r\n panObj?.Ac !== undefined\r\n ) {\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.Pan,\r\n parseInt(panObj?.Ac),\r\n panObj?.uid\r\n );\r\n }\r\n }\r\n }\r\n if (\r\n lat !== null &&\r\n lat !== undefined &&\r\n lat !== \"\" &&\r\n long !== null &&\r\n long !== undefined &&\r\n long !== \"\"\r\n ) {\r\n } else {\r\n console.log(\"geoLocation\", geoLoc, geoLoc?.coordinates);\r\n if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\r\n ) {\r\n setLat(GlobalStore?.location?.lat);\r\n setLong(GlobalStore?.location?.long);\r\n } else {\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, errorTimer);\r\n setIsLoading(true);\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 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 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 checkPdStatus();\r\n } else {\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 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 console.log(\"lat\", lat);\r\n console.log(\"long\", long);\r\n if (lat !== \"\" && lat !== 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 source: \"VideoVerification\",\r\n createdBy: parseInt(userId),\r\n };\r\n\r\n console.log(\"Called in success\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response),\r\n ipvObj\r\n );\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 if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\r\n ) {\r\n setLat(GlobalStore?.location?.lat);\r\n setLong(GlobalStore?.location?.long);\r\n } else {\r\n getLocation();\r\n }\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 console.log(\"lat\", lat);\r\n console.log(\"long\", long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined) {\r\n console.log(\"uploadObj\", uploadObj);\r\n let imageData: Array = [];\r\n // if(Array.isArray(uploadObj?.))\r\n let uploadNewObj: any = {\r\n image64:\r\n uploadObj?.image64 !== null &&\r\n uploadObj?.image64 !== undefined &&\r\n uploadObj?.image64?.length > 0\r\n ? uploadObj?.image64\r\n : [uploadObj?.image],\r\n clientPrimaryDetailId: uploadObj?.clientprimarydetailid,\r\n applicationId: uploadObj?.applicationid,\r\n leadId: uploadObj?.leadId,\r\n panNo: uploadObj?.panno,\r\n width: 0,\r\n height: 0,\r\n imageToVideo: false,\r\n imageName: uploadObj.imageName,\r\n contentType: uploadObj.contentType,\r\n };\r\n setIsLoading(true);\r\n if (isSafari) {\r\n uploadNewObj.height = uploadObj?.height;\r\n uploadNewObj.width = uploadObj?.width;\r\n uploadNewObj.imageToVideo = true;\r\n // AUploadIpvSafari(videoUploaded, uploadObj);\r\n } else {\r\n // AUploadIpv(videoUploaded, uploadObj);\r\n }\r\n AUploadIpvNew(videoUploaded, uploadNewObj);\r\n } else {\r\n setsShowBrowserPermissionModal(true);\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 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 console.log(\"lat\", lat);\r\n console.log(\"long\", long);\r\n if (lat !== \"\" && lat !== 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 let AccountObj = {\r\n PanNo: GlobalStore?.personaldetails?.pan,\r\n AccountCategory: GlobalStore?.accountcategory\r\n ? GlobalStore?.accountcategory\r\n : GlobalStore?.stageStatus?.accountcategory,\r\n userid: userId,\r\n };\r\n let accountObjString = JSON.stringify(AccountObj);\r\n const encodedPan = btoa(accountObjString);\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 latitude: `${lat}`,\r\n longitude: `${long}`,\r\n source: \"VideoVerification 2\",\r\n createdBy: parseInt(userId),\r\n };\r\n console.log(\"called here in send SMS\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response, \"fromSMS\"),\r\n 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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 setsShowBrowserPermissionModal(false);\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
\r\n \r\n\r\n {\r\n setShowSample(false);\r\n }}\r\n className=\"edel-icon-close\"\r\n />\r\n
\r\n

\r\n Hold a paper with a number written on it in front of the camera and\r\n start recording.\r\n

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

\r\n Use a white sheet\r\n
to verify the number.\r\n

\r\n
\r\n\r\n
\r\n
\r\n {/* Backend Image */}\r\n \r\n\r\n {/* Cross Button */}\r\n \r\n \r\n \r\n
\r\n {/* \"hat */}\r\n

\r\n {\" \"}\r\n Don’t clutter the frame\r\n
with objects or people.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {/* Backend Image */}\r\n \r\n\r\n {/* Cross Button */}\r\n \r\n \r\n \r\n
\r\n

\r\n {\" \"}\r\n Don’t cover your face\r\n
with verification sheet.{\" \"}\r\n

\r\n
\r\n\r\n
\r\n
\r\n {/* Backend Image */}\r\n \r\n\r\n {/* Cross Button */}\r\n \r\n \r\n \r\n
\r\n

\r\n {\" \"}\r\n Don’t record a blurry/\r\n
\r\n dark video.\r\n

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

\r\n Note: Ensure to enable location and camera access.\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, 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\r\n {!id && (\r\n
\r\n \r\n
\r\n sendSms(\"Photo\")}\r\n disabled={shouldDisable()}\r\n />\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 AGetClientProfilingQuestion(\r\n getClientProfilingQuestion,\r\n GlobalStore.applicationID,\r\n // sourceId\r\n config.clientQuesttionSourceId\r\n );\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: \"PersonalDoc/Save\",\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: \"PersonalDoc/Get\",\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, ITokenObj } 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 AGetDocumentList,\r\n DropOffLogAPI,\r\n AGetDocStatus,\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { disabledUploadForEsign } from \"../../utils/eSignSubmitHandler\";\r\nimport SampleAadharPopup from \"../SampleFolderPopups/SampleAadharPopup\";\r\nimport SampleDrivingLicensePopup from \"../SampleFolderPopups/SampleDrivingLicense\";\r\nimport SampleVoterIDPopup from \"../SampleFolderPopups/SampleVoterIdPopup\";\r\nimport SamplePassportPopup from \"../SampleFolderPopups/SamplePassportPopup\";\r\nimport SampleAadharMobileViewProps from \"../SampleFolderPopups/SampleAadharPopupMobileView\";\r\nimport SampleSDLMobileViewProps from \"../SampleFolderPopups/SampleDLMobile\";\r\nimport SampleVoterIDMobileViewProps from \"../SampleFolderPopups/SampleVoterIDMobile\";\r\nimport SamplePassportMobileViewProps from \"../SampleFolderPopups/SamplePassportMobile\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\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 [dlExtractData, setDlExtractData] = React.useState();\r\n const [dlUploadInformation, setDLUploadInformation] = React.useState();\r\n const [renderSamplePopups, setRenderSamplePopup] =\r\n React.useState(false);\r\n const [renderCorrSamplePopups, setRenderCorrSamplePopup] =\r\n React.useState(false);\r\n const [corrDLExtractData, setCorrDLExtractData] = React.useState();\r\n const [regectedDocStatus, setRegectedDocStatus] = React.useState<\r\n Array\r\n >([{}]);\r\n const [corrDlUploadInformation, setCorrDLUploadInformation] =\r\n React.useState();\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 [addressFileFound, setAddressFileFound] =\r\n React.useState(false);\r\n const [correspondanceFileFound, setCorrespondanceFileFound] =\r\n React.useState(false);\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 const [documentList, setDocumentList] = React.useState();\r\n const [cordocumentList, setCorDocumentList] = React.useState();\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(true);\r\n const [corrsDrivingFlag, SetCorrsDrivingFlag] = React.useState(true);\r\n const [qrVerifiedAadhar, setQrVerifiedAadhar] =\r\n React.useState(false);\r\n const [autoQCFlagPer, setAutQcFlagPer] = React.useState(false);\r\n const [autoQCFlagCor, setAutQcFlagCor] = 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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 13,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\r\n };\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 dropOffObj();\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID);\r\n getDocumentDetails();\r\n // setTimeout(() => {\r\n\r\n // }, 1000);\r\n GetAddressDetails(getKycDetails, GlobalStore.applicationID);\r\n setIsLoading(true);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n // setTimeout(() => {\r\n\r\n // }, 1000);\r\n\r\n // getDocumentDetails();\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 const getUISamplePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case aadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case dlDocumentId:\r\n return (\r\n \r\n );\r\n case voterIdDocumentId:\r\n return (\r\n \r\n );\r\n case passportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUISampleMobilePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case aadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case dlDocumentId:\r\n return (\r\n \r\n );\r\n case voterIdDocumentId:\r\n return (\r\n \r\n );\r\n case passportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUICorrSamplePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case corrAadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case corrDlDocumentId:\r\n return (\r\n \r\n );\r\n case corrVoterIdDocumentId:\r\n return (\r\n \r\n );\r\n case corrPassportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getUISampleCorrMobilePopups = (addressProodID: any) => {\r\n switch (addressProodID) {\r\n case corrAadhaarDocumnetId:\r\n return (\r\n \r\n );\r\n case corrDlDocumentId:\r\n return (\r\n \r\n );\r\n case corrVoterIdDocumentId:\r\n return (\r\n \r\n );\r\n case corrPassportDocumnetId:\r\n return (\r\n \r\n );\r\n }\r\n };\r\n const getDocumentDetails = () => {\r\n AGetDocumentList((res: any) => {\r\n if (res.data) {\r\n let listObj = JSON.parse(res.data);\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 console.log(\"corr\", corrAddObjlist, \"per\", permAddObjlist);\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 } else {\r\n let corrAddressCopy = { ...corrAddressObj };\r\n corrAddressCopy.documentcategory = \"Address Proof Correspondance\";\r\n corrAddressCopy.documentCategoryId = \"3\";\r\n setCorrAddressObj(corrAddressCopy);\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 }, GlobalStore.applicationID);\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\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.Corrsaddraspermanent !== null &&\r\n responseObj.Corrsaddraspermanent !== undefined\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 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 clientPartialDetails_ao.addressLine1 = permAddObj.addressLine1;\r\n if (responseObj.Corrsaddraspermanent === true)\r\n clientPartialDetails_ao.corrAddress = permAddObj.addressLine1;\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 if (responseObj.Corrsaddraspermanent === false)\r\n clientPartialDetails_ao.corrAddress = corrAddObj.addressLine1;\r\n setCorrespondanceAddress(corrAddObj);\r\n }\r\n clientPartialDetails_ao.isManual = true;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\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\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\r\n // permanentAddress.addressLine1 = permExtractionData?.address;\r\n // permanentAddress.City = permExtractionData?.district;\r\n // permanentAddress.State = permExtractionData?.state;\r\n // permanentAddress.PinCode = permExtractionData.pincode;\r\n // permanentAddress.clientName = permExtractionData?.name_on_card;\r\n // permanentAddress.documentNumber\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n setCorrespondanceFileFound(true);\r\n setCorrespondanceAddress((correspondanceAddress: any) => {\r\n if (\r\n correspondanceAddress !== null &&\r\n correspondanceAddress !== undefined &&\r\n !!correspondanceAddress?.addressLine1 &&\r\n correspondanceAddress?.addressLine1 !== \"\" &&\r\n !!correspondanceAddress?.documentNumber &&\r\n correspondanceAddress?.documentNumber !== \"\"\r\n ) {\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 (\r\n isCorrAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (\r\n isCorrAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n setCorrAddressObj((corrAddressObj) => {\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 return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n } else if (\r\n correspondanceAddress !== null &&\r\n correspondanceAddress !== undefined &&\r\n !!correspondanceAddress?.addressLine1 &&\r\n correspondanceAddress?.addressLine1 !== \"\"\r\n ) {\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 (\r\n isCorrAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (\r\n isCorrAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n setCorrAddressObj((corrAddressObj) => {\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 return corrAddressObj;\r\n });\r\n }\r\n return correspondanceAddress;\r\n });\r\n // setTimeout(() => {\r\n\r\n // }, 1000);\r\n }\r\n if (\r\n GlobalStore?.stageStatus?.isaddressstagecompleted == false &&\r\n GlobalStore?.stageStatus?.bpm_pd_status == 2\r\n ) {\r\n setPermanentAddress(initialAddressObj);\r\n setCorrespondanceAddress(initialAddressObj);\r\n }\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n setAddressFileFound(true);\r\n setPermanentAddress((permanentAddress: any) => {\r\n if (\r\n permanentAddress !== null &&\r\n permanentAddress !== undefined &&\r\n !!permanentAddress?.addressLine1 &&\r\n permanentAddress?.addressLine1 !== \"\" &&\r\n !!permanentAddress?.documentNumber &&\r\n permanentAddress?.documentNumber !== \"\"\r\n ) {\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 (\r\n isPermAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (\r\n isPermAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n setPermAddressObj((permAddressObj) => {\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 return permAddressObj;\r\n });\r\n\r\n // setPermAddressObj(permAddressObj);\r\n } else if (\r\n permanentAddress !== null &&\r\n permanentAddress !== undefined &&\r\n !!permanentAddress?.addressLine1 &&\r\n permanentAddress?.addressLine1 !== \"\"\r\n ) {\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 (\r\n isPermAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (\r\n isPermAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n setPermAddressObj((permAddressObj) => {\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 return permAddressObj;\r\n });\r\n }\r\n return permanentAddress;\r\n });\r\n // setDefaultPermAddressProof(true);\r\n // setTimeout(() => {\r\n\r\n // }, 1000);\r\n }\r\n } else {\r\n setPermAddressObj((permAddressObj) => {\r\n return permAddressObj;\r\n });\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\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 const base64 = getbase64(res.data.base64document, permAddressObj);\r\n\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.imgUrl = getbase64(\r\n res.data.base64document,\r\n permAddressObj\r\n );\r\n permAddressObj.mimeType = detectMimeType(res.data.base64document);\r\n return permAddressObj;\r\n });\r\n setIsLoading(false);\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 let mimeType = detectMimeType(dataString);\r\n return \"data:\" + mimeType + \";base64,\" + dataString;\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\r\n // corrAddressObj.base64 = base64;\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.imgUrl = base64;\r\n corrAddressObj.mimeType = detectMimeType(res.data.base64document);\r\n return corrAddressObj;\r\n });\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(true);\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 setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.value;\r\n return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.display);\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(true);\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 documentCategoryId: permAddressObj?.documentCategoryId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onSecondPermAddressRemove(val: any) {\r\n setPermSecondAddressObj({\r\n ...initialPanDocObj,\r\n documentId: permAddressObj.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\r\n }\r\n const popularSignatures = {\r\n JVBERi0: \"application/pdf\",\r\n R0lGODdh: \"image/gif\",\r\n R0lGODlh: \"image/gif\",\r\n iVBORw0KGgo: \"image/png\",\r\n \"/9j/\": \"image/jpg\",\r\n Qk02U: \"image/bmp\",\r\n };\r\n\r\n function detectMimeType(base64 = \"\") {\r\n for (const [signature, type] of Object.entries(popularSignatures)) {\r\n if (base64.startsWith(signature)) {\r\n return type;\r\n }\r\n }\r\n return undefined; // Explicitly return undefined if no match is found\r\n }\r\n function onPermanantSecondAddressUploadDocument(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n permSecondAddressObj.documentCategoryId =\r\n permAddressObj?.documentCategoryId;\r\n return permSecondAddressObj;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n permSecondAddressObj.documentCategoryId =\r\n permAddressObj?.documentCategoryId;\r\n return permSecondAddressObj;\r\n });\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n uploadAadhar(true, { id, fileName, type, uploadId: id }, true);\r\n // if (permAddressObj.documentId === passportDocumnetId) {\r\n // setIsLoading(true);\r\n // AextractPassport(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // true\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n // setIsLoading(true);\r\n // AextractVoterid(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // true\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (permAddressObj.documentId === dlDocumentId) {\r\n // setIsLoading(true);\r\n\r\n // AextractDl((res: any) => {\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(true, { id, fileName, type, uploadId: id }, true);\r\n // });\r\n // }, addressOCR);\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 const onPermanentAddressUploadDocument = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n return permAddressObj;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n setDLUploadInformation({\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n } else {\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n return permAddressObj;\r\n });\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n setDLUploadInformation({\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n }\r\n };\r\n const onCorrespondanceAddressUploadDocument = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n console.log(\"Changes in address\", fileName, val);\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n console.log(\"INSIDE DL block\");\r\n setCorrDLUploadInformation({ id, fileName, type, uploadId: id });\r\n setIsLoading(true);\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n setCorrDLUploadInformation({ id, fileName, type, uploadId: id });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n }\r\n };\r\n const onCorrespondanceSecondAddressUploadDocument = (\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 corrSecondAddressObj.documentCategoryId = corrAddressObj.documentCategoryId;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n uploadAadhar(true, { id, fileName, type, uploadId: id }, false);\r\n // if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n // setIsLoading(true);\r\n // AextractPassport(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // false\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n // setIsLoading(true);\r\n // AextractVoterid(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // false\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n // setIsLoading(true);\r\n // AextractDl((res: any) => {\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(true, { id, fileName, type, uploadId: id }, false);\r\n // });\r\n // }, addressOCR);\r\n // }\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n const maskedAadharNew = (\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 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 (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setPermAddressObj((permAddressObj) => {\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 return permAddressObj;\r\n });\r\n addressOCR.base64document = res.data.result.base64_image;\r\n addressOCR.documentcategory = permAddressObj.documentcategory;\r\n addressOCR.documentid = permAddressObj.documentId;\r\n }\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\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 return permSecondAddressObj;\r\n });\r\n // setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.documentCategoryId =\r\n corrAddressObj.documentCategoryId;\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 return corrAddressObj;\r\n });\r\n addressOCR.base64document = res.data.result.base64_image;\r\n addressOCR.documentcategory = corrAddressObj.documentcategory;\r\n addressOCR.documentid = corrAddressObj.documentId;\r\n }\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n setCorrSecondAddressObj((corrSecondAddressObj: any) => {\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 return corrSecondAddressObj;\r\n });\r\n }\r\n }\r\n if (id === \"permSecondAddress\") {\r\n uploadAadhar(\r\n true,\r\n { id: id, fileName: fileName, type: type, uploadId: id },\r\n true\r\n );\r\n } else if (id == \"corrSecondAddress\") {\r\n uploadAadhar(\r\n true,\r\n { id: id, fileName: fileName, type: type, uploadId: id },\r\n true\r\n );\r\n } else\r\n AextractAadhaar(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, {\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n }),\r\n addressOCR,\r\n \"OCR\"\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 const getPDFDataNew = (res: any, idObj: 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 let mergeBase64 = res.data.Mergedimagespdfbase64;\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) => {\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, true, mergeBase64);\r\n });\r\n },\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractDl((res: any) => {\r\n // uploadAadhar(false, idObj, false, mergeBase64);\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, true, mergeBase64);\r\n });\r\n }, 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 getCorrPDFDataNew = (res: any, idObj?: 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 let mergeBase64 = res.data.Mergedimagespdfbase64;\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) =>\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n //setIsLoading(false);\r\n // uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n // uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n //uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n });\r\n }, 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 uploadAadhar = (\r\n isSecondFileUpload?: boolean,\r\n idObj?: any,\r\n isPermanent?: boolean,\r\n margeBase64?: string,\r\n callbackFunction?: Function\r\n ) => {\r\n const localObj = idObj;\r\n const { id, fileName, type, uploadId } = idObj;\r\n if (isSecondFileUpload !== undefined && isSecondFileUpload) {\r\n if (isPermanent) {\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\r\n };\r\n AgetPdf((res: any) => {\r\n getPDFDataNew(res, localObj);\r\n }, uploadImageObj);\r\n } else {\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: corrAddressObj?.documentId,\r\n documentCategoryId: corrAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: correspondanceAddress?.documentNumber,\r\n };\r\n AgetPdf((res: any) => {\r\n getCorrPDFDataNew(res, localObj);\r\n }, uploadImageObj);\r\n }\r\n } else {\r\n let uploadObj: uploadDocObj;\r\n let saveDocumentDetails = [];\r\n if (uploadId === \"permAddress\") {\r\n setPermanentAddress((permanentAddress: any) => {\r\n let mimeType: string = getMimeType(permAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(permAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\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 permAddressObj?.documentId == aadhaarDocumnetId\r\n ? permAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : permAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\r\n DocumentIssueDate:\r\n permanentAddress?.dateOfIssue !== null &&\r\n permanentAddress?.dateOfIssue !== undefined\r\n ? permanentAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 setDrivingFlag((drivingFlag) => {\r\n savepermAddressObj.IsDocumentVerified = drivingFlag;\r\n return drivingFlag;\r\n });\r\n saveDocumentDetails.push(savepermAddressObj);\r\n\r\n return permanentAddress;\r\n });\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n } else if (uploadId === \"permSecondAddress\") {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let mimeType: string = getMimeType(permSecondAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(permSecondAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\r\n }\r\n let savepermAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId:\r\n permSecondAddressObj.documentId?.toString() != \"0\"\r\n ? permSecondAddressObj.documentId?.toString()\r\n : permAddressObj?.documentId,\r\n documentexpirydate: \"\",\r\n fileName:\r\n permAddressObj?.documentId == aadhaarDocumnetId\r\n ? permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : permSecondAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 setDrivingFlag((drivingFlag) => {\r\n savepermAddressObj.IsDocumentVerified = drivingFlag;\r\n return drivingFlag;\r\n });\r\n if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\" &&\r\n detectMimeType(margeBase64) !== undefined\r\n ) {\r\n let mimeType = detectMimeType(margeBase64);\r\n if (mimeType !== undefined) {\r\n if (mimeType == \"application/pdf\")\r\n uploadObj.filename =\r\n `${GlobalStore.applicationID}_Permanent Address` + \".pdf\";\r\n savepermAddressObj.mimeType = mimeType;\r\n }\r\n }\r\n saveDocumentDetails.push(savepermAddressObj);\r\n } else if (uploadId === \"corrAddress\") {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\r\n let mimeType: string = getMimeType(corrAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(corrAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\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 corrAddressObj?.documentId == corrAadhaarDocumnetId\r\n ? corrAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 SetCorrsDrivingFlag((corrsDrivingFlag) => {\r\n saveCorrAddressObj.IsDocumentVerified = corrsDrivingFlag;\r\n return corrsDrivingFlag;\r\n });\r\n\r\n saveDocumentDetails.push(saveCorrAddressObj);\r\n } else {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let mimeType: string = getMimeType(corrSecondAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(corrSecondAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\r\n }\r\n let saveCorrAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName:\r\n corrAddressObj?.documentId == corrAadhaarDocumnetId\r\n ? corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : corrSecondAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\" &&\r\n detectMimeType(margeBase64) !== undefined\r\n ) {\r\n let mimeType = detectMimeType(margeBase64);\r\n if (mimeType !== undefined) {\r\n if (mimeType == \"application/pdf\")\r\n uploadObj.filename =\r\n `${GlobalStore.applicationID}_Corrospondance Address` + \".pdf\";\r\n saveCorrAddressObj.mimeType = mimeType;\r\n }\r\n }\r\n saveDocumentDetails.push(saveCorrAddressObj);\r\n }\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\"\r\n ) {\r\n uploadObj.base64document = margeBase64;\r\n }\r\n if (GlobalStore.isKRA == false && disabledUploadForEsign()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadResNew(\r\n res,\r\n id,\r\n uploadObj.base64document,\r\n uploadObj.filename,\r\n callbackFunction\r\n ),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 = \"\";\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 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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onSecondCorrAddressRemove(val: any) {\r\n setCorrSecondAddressObj({\r\n ...initialPanDocObj,\r\n documentId: corrAddressObj.documentId,\r\n documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 let saveDocumentDetails = [];\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 let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(permAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 saveDocumentDetails.push(savepermAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savepermAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: permSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(permSecondAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\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 saveDocumentDetails.push(savepermAddressObj);\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 }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(corrAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\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 let saveCorrAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(corrSecondAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n }\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (GlobalStore?.isKRA == false && disabledUploadForEsign()) {\r\n setErrCode(\"Account is already submitted.\");\r\n } else {\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(\r\n res,\r\n id,\r\n uploadObj.base64document,\r\n uploadObj.filename\r\n ),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\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 getUploadResNew = (\r\n res: any,\r\n id: string,\r\n val: any,\r\n fileName: string,\r\n callbackFunction?: Function\r\n ) => {\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 } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(\"\");\r\n setIsLoading(false);\r\n setIsNewPermAddress(true);\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 } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n 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(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(false);\r\n setCorrSecAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n }\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\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 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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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((res: any) => {\r\n storeOcrData(res, extractPermOCRObj);\r\n }, extractPermOCRObj);\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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((res: any) => {\r\n storeOcrData(res, extractCorrsOCRObj);\r\n }, extractCorrsOCRObj);\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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, callback?: Function) => {\r\n if (!res || res.error) {\r\n if (res?.data?.error) {\r\n setErrCode(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 if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n setIsLoading(false);\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.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 return permanentAddress;\r\n });\r\n if (sameAsPermanent) {\r\n setCorrespondanceAddress((corrAddres: any) => {\r\n if (\r\n corrAddres?.clientName == \"\" ||\r\n corrAddres?.clientName == null ||\r\n corrAddres?.clientName == undefined\r\n ) {\r\n corrAddres.clientName = permExtractionData?.name_on_card;\r\n }\r\n return corrAddres;\r\n });\r\n }\r\n // setAadharNo(permExtractionData?.id_number);\r\n //if (res?.data?.result?.qr_detected) {\r\n if (\r\n res?.data?.result?.qr_detected &&\r\n res?.data?.result?.qr_encoded &&\r\n res?.data?.result?.qr_scannable\r\n ) {\r\n setAutQcFlagPer(true);\r\n } else {\r\n setAutQcFlagPer(false);\r\n }\r\n\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 } else {\r\n if (callback !== undefined) callback(true);\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 \"Address is not available, please ensure that you upload the 2nd Side of passport\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n permanentAddress.dateOfIssue = permExtractionData?.date_of_issue;\r\n permanentAddress.dateOfExpiry =\r\n permExtractionData?.date_of_expiry;\r\n return permanentAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\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 \"Address is not available, please ensure that you upload the 2nd Side of voter id\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n return permanentAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\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 \"Address is not available, please ensure that you upload the 2nd Side of driving license\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n\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(\r\n // moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n // ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n // ? undefined\r\n // : moment(\r\n // moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n // ).format(\"DD/MM/YYYY\"),\r\n // dateOfExpiry:\r\n // moment(\r\n // moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n // ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n // ? undefined\r\n // : moment(\r\n // moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n // ).format(\"DD/MM/YYYY\"),\r\n // });\r\n setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n permanentAddress.dateOfIssue =\r\n moment(\r\n moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\");\r\n permanentAddress.dateOfExpiry =\r\n moment(\r\n moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\");\r\n return permanentAddress;\r\n });\r\n setDlExtractData(permExtractionData);\r\n\r\n if (callback !== undefined) {\r\n callback(true);\r\n }\r\n setIsLoading(false);\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: permExtractionData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n //IdNumber: permExtractionData?.id_number ? null : permExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n permExtractionData?.id_number !== null\r\n ? permExtractionData.id_number\r\n : \"\",\r\n };\r\n // AVerifyDocumentData(\r\n // (res: any) => verifyDocumentRes(res, callback),\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.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 return correspondanceAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\r\n }\r\n // setAadharNo(corrsExtractionData?.id_number);\r\n //if (res?.data?.result?.qr_detected) {\r\n\r\n if (\r\n res?.data?.result?.qr_detected &&\r\n res?.data?.result?.qr_encoded &&\r\n res?.data?.result?.qr_scannable\r\n ) {\r\n setAutQcFlagCor(true);\r\n } else {\r\n setAutQcFlagCor(false);\r\n }\r\n\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n correspondanceAddress.dateOfIssue =\r\n corrsExtractionData?.date_of_issue;\r\n correspondanceAddress.dateOfExpiry =\r\n corrsExtractionData?.date_of_expiry;\r\n\r\n return correspondanceAddress;\r\n });\r\n }\r\n\r\n if (callback !== undefined) callback(true);\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n // correspondanceAddress.dateOfIssue=corrsExtractionData?.date_of_issue;\r\n // correspondanceAddress.dateOfExpiry=corrsExtractionData?.date_of_expiry;\r\n\r\n return correspondanceAddress;\r\n });\r\n if (callback !== undefined) callback(true);\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 \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\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(\r\n // moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n // ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n // ? undefined\r\n // : moment(\r\n // moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n // ).format(\"DD/MM/YYYY\"),\r\n\r\n // dateOfExpiry:\r\n // moment(\r\n // moment(corrsExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n // ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n // ? undefined\r\n // : moment(\r\n // moment(corrsExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n // ).format(\"DD/MM/YYYY\"),\r\n // });\r\n setCorrDLExtractData(corrsExtractionData);\r\n setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n correspondanceAddress.dateOfIssue =\r\n moment(\r\n moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\");\r\n correspondanceAddress.dateOfExpiry =\r\n moment(\r\n moment(corrsExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(\r\n corrsExtractionData?.date_of_validity,\r\n \"DD/MM/YYYY\"\r\n )\r\n ).format(\"DD/MM/YYYY\");\r\n\r\n return correspondanceAddress;\r\n });\r\n if (callback !== undefined) callback(true);\r\n\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: corrsExtractionData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n // IdNumber: corrsExtractionData?.id_number ? null : corrsExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n corrsExtractionData?.id_number !== null\r\n ? corrsExtractionData.id_number\r\n : \"\",\r\n };\r\n // AVerifyDocumentData(\r\n // (res: any) => corrsVerifyDocumentRes(res, callback),\r\n // verifyDrivingObj\r\n // );\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, callback?: Function) => {\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 if (callback !== undefined) {\r\n callback(true);\r\n }\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, callback?: Function) => {\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 if (callback !== undefined) {\r\n setIsLoading(true);\r\n callback(true);\r\n }\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n setDrivingFlag(false);\r\n setIsLoading(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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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({\r\n ...initialDocObj,\r\n documentcategory: corrAddressObj?.documentcategory,\r\n documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\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 if (\r\n permAddressObj?.documentId == dlDocumentId &&\r\n dlExtractData !== null &&\r\n dlExtractData?.date_of_birth != null &&\r\n dlExtractData?.date_of_birth !== undefined\r\n ) {\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: dlExtractData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n //IdNumber: permExtractionData?.id_number ? null : permExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n permanentAddress.documentNumber !== null\r\n ? permanentAddress.documentNumber\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) =>\r\n verifyDocumentRes(res, () => {\r\n uploadAadhar(\r\n false,\r\n dlUploadInformation,\r\n sameAsPermanent,\r\n \"\",\r\n saveAddressDetails\r\n );\r\n }),\r\n verifyDrivingObj\r\n );\r\n } else if (\r\n !sameAsPermanent &&\r\n corrAddressObj?.documentId == corrDlDocumentId &&\r\n corrDLExtractData !== null &&\r\n corrDLExtractData?.date_of_birth !== null &&\r\n corrDLExtractData?.date_of_birth !== undefined\r\n ) {\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: corrDLExtractData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n // IdNumber: corrsExtractionData?.id_number ? null : corrsExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n correspondanceAddress.documentNumber !== null\r\n ? correspondanceAddress.documentNumber\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) =>\r\n corrsVerifyDocumentRes(res, () => {\r\n uploadAadhar(\r\n false,\r\n corrDlUploadInformation,\r\n sameAsPermanent,\r\n \"\",\r\n saveAddressDetails\r\n );\r\n }),\r\n verifyDrivingObj\r\n );\r\n } else 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 userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let saveAddressPayload = {\r\n ApplicationId: GlobalStore.applicationID,\r\n corrsaddraspermanent: sameAsPermanent,\r\n createdBy: parseInt(userId),\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\r\n documentExpiryDate: correspondanceAddress?.dateOfExpiry\r\n ? correspondanceAddress?.dateOfExpiry?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n\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 autoqc: autoQCFlagPer,\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 autoqc: autoQCFlagCor,\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 localStorage.removeItem(\"appendedStage\");\r\n } else {\r\n setErrCode(res?.data?.message);\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const setSampleRender = () => {\r\n setRenderSamplePopup(true);\r\n };\r\n console.log(\"addrerss\", permanentAddress, correspondanceAddress);\r\n console.log(\r\n \"ciond\",\r\n defaultAddress === \"Driving License\" && drivingFlag == false,\r\n defaultCorrAddress === \"Driving License\" && corrsDrivingFlag == false,\r\n permanentAddress,\r\n correspondanceAddress,\r\n \"conidiotn\",\r\n Object.values(permanentAddress).some((value) => !value) ||\r\n Object.values(correspondanceAddress).some((value) => !value) ||\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 == false) ||\r\n (defaultCorrAddress === \"Driving License\" && corrsDrivingFlag == false) ||\r\n (defaultAddress === \"Aadhaar Card\" && !qrVerifiedAadhar) ||\r\n (defaultCorrAddress === \"Aadhaar Card\" && !qrVerifiedCorrsAadhar),\r\n defaultCorrAddress === \"Aadhaar Card\" && !qrVerifiedCorrsAadhar\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType === \"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 {defaultAddress && (\r\n <>\r\n {\r\n console.log(\"rrrr\");\r\n setSampleRender();\r\n }}\r\n >\r\n View Sample\r\n \r\n {renderSamplePopups && (\r\n <>\r\n {DeviceContext().isMobile ? (\r\n <>\r\n {getUISampleMobilePopups(\r\n identificationListPerm.find(\r\n (item) => item.display === defaultAddress\r\n )?.value\r\n )}\r\n \r\n ) : (\r\n <>\r\n {getUISamplePopups(\r\n identificationListPerm.find(\r\n (item) => item.display === defaultAddress\r\n )?.value\r\n )}\r\n \r\n )}\r\n \r\n )}\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 <>\r\n {((permanentAddress.addressLine1 !== null &&\r\n permanentAddress.addressLine1 !== undefined &&\r\n permanentAddress.addressLine1 !== \"\") ||\r\n (permanentAddress.PinCode !== null &&\r\n permanentAddress.PinCode !== undefined &&\r\n permanentAddress.PinCode !== \"\") ||\r\n (permanentAddress.City !== null &&\r\n permanentAddress.City !== undefined &&\r\n permanentAddress.City !== \"\") ||\r\n (permanentAddress.State !== null &&\r\n permanentAddress.State !== undefined &&\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 false\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n \"PROOF OF ADDRESS CORRESPONDENCE\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n\r\n {defaultCorrAddress && (\r\n <>\r\n
\r\n {\r\n setRenderCorrSamplePopup(true);\r\n }}\r\n >\r\n View Sample\r\n \r\n {renderCorrSamplePopups && (\r\n <>\r\n {DeviceContext().isMobile ? (\r\n <>\r\n {getUISampleCorrMobilePopups(\r\n identificationListCorr.find(\r\n (item) =>\r\n item.display === defaultCorrAddress\r\n )?.value\r\n )}\r\n \r\n ) : (\r\n <>\r\n {getUICorrSamplePopups(\r\n identificationListCorr.find(\r\n (item) =>\r\n item.display === defaultCorrAddress\r\n )?.value\r\n )}\r\n \r\n )}\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 {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 !== null &&\r\n correspondanceAddress.addressLine1 !== undefined &&\r\n correspondanceAddress.addressLine1 !== \"\" &&\r\n correspondanceAddress.addressLine1 !== \"0\") ||\r\n (correspondanceAddress.PinCode !== null &&\r\n correspondanceAddress.PinCode !== undefined &&\r\n correspondanceAddress.PinCode !== \"\") ||\r\n (correspondanceAddress.City !== null &&\r\n correspondanceAddress.City !== undefined &&\r\n correspondanceAddress.City !== \"\") ||\r\n (correspondanceAddress.State !== null &&\r\n correspondanceAddress.State !== undefined &&\r\n correspondanceAddress.State !== \"\")) && (\r\n <>\r\n {\r\n setCorrespondanceAddress(obj);\r\n }}\r\n onAddressInfoBlur={setCorrErrorObj}\r\n qrVerified={\r\n false\r\n // qrVerifiedCorrsAadhar ||\r\n //defaultCorrAddress === \"Aadhaar 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 {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
\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\" &&\r\n drivingFlag == false) ||\r\n (defaultCorrAddress === \"Driving License\" &&\r\n corrsDrivingFlag == false) ||\r\n (defaultAddress === \"Aadhaar Card\" && !qrVerifiedAadhar) ||\r\n (defaultCorrAddress === \"Aadhaar Card\" &&\r\n !qrVerifiedCorrsAadhar) ||\r\n shouldDisable()\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 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, { useEffect, useState } from \"react\";\r\nimport \"./DematSelectionForm.scss\";\r\nimport Radio from \"../UI/Radio/Radio\";\r\nimport { SubmitButton } from \"../UI/Button/Button\";\r\nimport InputField from \"../UI/InputField/InputField\";\r\nimport foldUploadIcon from \"../../assets/icons/foldUploadIcon.jpg\";\r\nimport edit from \"../../assets/icons/edit.jpg\";\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport { alphaNumExp } from \"../utils/regex\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n ADPverification,\r\n AGetDPDetails,\r\n ASaveDematDetails,\r\n AUploadDocument,\r\n} from \"../Services/dashboard/brokerageServices\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { dashboardUrl } from \"../utils/constants\";\r\nimport {\r\n ADownloadDocument,\r\n AGetDocStatus,\r\n AGetUploadedDocument,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { DocDetailFormat } from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\nexport interface IDematSelection {\r\n dpId: string;\r\n clientId: string;\r\n radioSelection?: boolean;\r\n fileName?: string;\r\n base64String?: string;\r\n}\r\nconst DematSelectionForm = (props: any) => {\r\n const history = useHistory();\r\n const [radioSelection, setRadioSelection] = React.useState(true);\r\n const [formData, setFormData] = React.useState({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection: true,\r\n });\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [uploadedMaxFile, setUploadedMaxFile] = React.useState(false);\r\n const [fileLoader, setFileLoader] = React.useState(false);\r\n const [dpLoader, setDpLoader] = React.useState(true);\r\n const [dpIdType, setDpIdType] = React.useState(\"\");\r\n const [showAutoIfVerifyFail, setShowAutoVerifyFail] =\r\n React.useState(false);\r\n const [foundVerificationFail, setFoundVerficationFail] =\r\n React.useState(false);\r\n const [cdslFlowFind, setCdslFlowFind] = React.useState(false);\r\n const [dpIsVerified, setDpIsVerified] = React.useState(false);\r\n const [showUploadSection, setShowUploadSection] =\r\n React.useState(false);\r\n const onChanges = (key: string, value: any) => {\r\n setFormData((form) => {\r\n return {\r\n ...form,\r\n [key]: value,\r\n };\r\n });\r\n };\r\n function getbase64(dataString: string, mimeType?: string) {\r\n return (\r\n \"data:\" +\r\n (mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n const [regectedDocStatus, setRegectedDocStatus] = React.useState<\r\n Array\r\n >([{}]);\r\n const getRejectedReason = () => {\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID);\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 if (regectedDoc !== undefined && regectedDoc?.length > 0) {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\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 const getUploadeDocument = () => {\r\n AGetUploadedDocument((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 dematAccount = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 96\r\n );\r\n if (dematAccount?.length > 0) {\r\n setFormData((formData) => {\r\n formData.fileName = dematAccount[0].FileName;\r\n ADownloadDocument(\r\n (res: any) => {\r\n if (!res || res.error) {\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 const base64 = getbase64(\r\n res.data.base64document,\r\n dematAccount[0].MimeType\r\n );\r\n\r\n formData.base64String = base64;\r\n return formData;\r\n }\r\n }\r\n },\r\n dematAccount[0].FileName,\r\n dematAccount[0].UploadedDocPath\r\n );\r\n return formData;\r\n });\r\n }\r\n }\r\n }, GlobalStore.applicationID);\r\n // setFormDPData();\r\n };\r\n const getDPDetails = () => {\r\n setDpLoader(true);\r\n AGetDPDetails((res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n setDpLoader(false);\r\n // gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data && res.data !== null) {\r\n let newResp = JSON.parse(res.data);\r\n if (newResp?.dpid !== \"\" && newResp?.clientId !== \"\") {\r\n setFormData((formData) => {\r\n formData.dpId = newResp.dpid;\r\n formData.clientId = newResp.clientid;\r\n determineDepository(formData.dpId, formData?.clientId, true, true);\r\n formData.radioSelection = newResp.dpavailable;\r\n setRadioSelection(\r\n newResp?.dpavailable !== null ? newResp.dpavailable : false\r\n );\r\n // getUploadeDocument();\r\n setDpLoader(false);\r\n return formData;\r\n });\r\n } else {\r\n setFormData({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection:\r\n newResp?.dpavailable !== null && newResp?.isdpcompleted\r\n ? newResp.dpavailable\r\n : true,\r\n });\r\n setRadioSelection(\r\n newResp?.isdpcompleted && newResp?.dpavailable !== null\r\n ? newResp.dpavailable\r\n : true\r\n );\r\n setDpLoader(false);\r\n }\r\n } else if (res.data === null) {\r\n setDpLoader(false);\r\n setFormData({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection: true,\r\n });\r\n }\r\n }, GlobalStore?.applicationID);\r\n };\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setFoundVerficationFail(false);\r\n getUploadeDocument();\r\n getRejectedReason();\r\n setTimeout(() => {\r\n getDPDetails();\r\n }, 1000);\r\n }, []);\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\r\n }\r\n\r\n const SaveDematDetails = (dpVerify?: boolean) => {\r\n let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const saveDpObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n dpAvailable: formData?.radioSelection,\r\n dPid: formData?.dpId,\r\n clientid: formData?.clientId,\r\n createdBy: parseInt(userId),\r\n IsDPVerified:\r\n dpIdType == \"CDSL\"\r\n ? false\r\n : dpVerify !== null && dpVerify !== undefined\r\n ? dpVerify\r\n : dpIsVerified,\r\n leadId: GlobalStore?.leadId,\r\n };\r\n ASaveDematDetails((res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\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 completeModuleStatus(dashboardUrl.demat);\r\n history.push(incompleteStageNavigation(dashboardUrl.demat));\r\n setIsLoading(false);\r\n }\r\n }\r\n }, saveDpObj);\r\n };\r\n const handleSubmit = (cdslFinalSubmit?: boolean) => {\r\n if (\r\n formData?.radioSelection !== null &&\r\n formData?.radioSelection !== undefined &&\r\n formData?.radioSelection == false\r\n ) {\r\n setTimeout(() => {\r\n setIsLoading(true);\r\n SaveDematDetails();\r\n }, 2000);\r\n } else {\r\n if (dpIdType === \"NSDL\" && !foundVerificationFail) {\r\n setIsLoading(true);\r\n Dpverify();\r\n }\r\n if (dpIdType === \"NSDL\" && foundVerificationFail) {\r\n setIsLoading(true);\r\n uploadDocumentFile(formData?.fileName, formData?.base64String);\r\n // SaveDematDetails();\r\n }\r\n if (dpIdType === \"CDSL\") {\r\n setIsLoading(true);\r\n uploadDocumentFile(formData?.fileName, formData?.base64String);\r\n // SaveDematDetails();\r\n // if (cdslFlowFind) {\r\n // setShowUploadSection(true);\r\n // }\r\n // if (cdslFinalSubmit !== undefined && cdslFinalSubmit) {\r\n\r\n // }\r\n }\r\n }\r\n };\r\n const onRemoveDocUpload = () => {\r\n setFileLoader(true);\r\n setTimeout(() => {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n setFileLoader(false);\r\n return formData;\r\n });\r\n }, 200);\r\n };\r\n const Dpverify = (dpVerify?: boolean, stopSaveApi?: boolean) => {\r\n let dpVerifyAutoObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n dpId: formData?.dpId,\r\n clientId: formData?.clientId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n };\r\n ADPverification((res: any) => {\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 && res.data !== null) {\r\n if (res?.data !== null && res?.data) {\r\n if (\r\n stopSaveApi !== null &&\r\n stopSaveApi !== undefined &&\r\n stopSaveApi\r\n ) {\r\n setDpIsVerified(true);\r\n } else {\r\n SaveDematDetails(true);\r\n }\r\n } else {\r\n setIsLoading(false);\r\n if (dpVerify !== null && dpVerify !== undefined && dpVerify) {\r\n } else {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\r\n }\r\n\r\n if (dpVerify !== null && dpVerify !== undefined && dpVerify) {\r\n } else {\r\n setDpIsVerified(false);\r\n setShowAutoVerifyFail(true);\r\n }\r\n setFoundVerficationFail(true);\r\n setShowUploadSection(true);\r\n }\r\n }\r\n }\r\n }, dpVerifyAutoObj);\r\n };\r\n const onEditIcon = () => {\r\n setShowUploadSection(false);\r\n // setCdslFlowFind(false);\r\n setFormData((formData) => {\r\n formData.base64String = \"\";\r\n formData.fileName = \"\";\r\n return formData;\r\n });\r\n };\r\n const uploadDocumentFile = (fileName?: string, val?: string) => {\r\n let saveDetails = [];\r\n let saveUploadObj = {\r\n documentCategoryId: \"96\",\r\n documentId: \"626\",\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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(saveUploadObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n panNo: GlobalStore?.personaldetails?.pan,\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 setFormData((form) => {\r\n formData.fileName = fileName;\r\n formData.base64String = val;\r\n return form;\r\n });\r\n AUploadDocument(\r\n (res: any) => {\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 setIsLoading(false);\r\n } else {\r\n if (res.data !== null && res?.data) {\r\n SaveDematDetails();\r\n }\r\n }\r\n },\r\n uploadObj,\r\n (event: ProgressEvent) => {},\r\n saveObj\r\n );\r\n };\r\n // console.log(\"FormDAta\", formData);\r\n const onFileUpload = (\r\n fileUploadEvent: React.ChangeEvent\r\n ) => {\r\n setUploadedMaxFile(false);\r\n setFileLoader(true);\r\n const elem = fileUploadEvent.target;\r\n const file = elem.files && elem.files[0];\r\n if (file !== null && file !== undefined) {\r\n if (file && file.name.split(\".\").length === 2) {\r\n let extensions = file.name.split(\".\");\r\n if (file.size > 3145728) {\r\n setUploadedMaxFile(true);\r\n } else {\r\n setUploadedMaxFile(false);\r\n if (extensions[1].toUpperCase() === \"PDF\") {\r\n if (elem.files && elem.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e) {\r\n const images = (e.target && e.target.result)?.toString();\r\n if (dpIdType === \"NSDL\") {\r\n setShowAutoVerifyFail(false);\r\n }\r\n // onChanges(\"fileName\", file?.name);\r\n // onChanges(\"base64String\", images);\r\n setFormData((form) => {\r\n formData.fileName = file?.name;\r\n formData.base64String = images;\r\n return form;\r\n });\r\n // uploadDocumentFile(file?.name, images);\r\n setFileLoader(false);\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n const validateDPID = (dpId: string) => {\r\n const dpIdPattern = /^[A-Za-z0-9]{8}$/; // DP ID: exactly 8 alphanumeric characters\r\n\r\n if (dpIdPattern.test(dpId)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const validateClientID = (clientId: string) => {\r\n const dpIdNumericPattern = /^\\d{8}$/;\r\n if (dpIdNumericPattern.test(clientId)) {\r\n return false;\r\n } else return true;\r\n };\r\n function determineDepository(\r\n dpId?: any,\r\n dematAccount?: any,\r\n byGet?: boolean,\r\n fromApi?: boolean\r\n ) {\r\n setCdslFlowFind(false);\r\n const dpIdAlphanumericPattern = /^[A-Za-z0-9]{8}$/; // DP ID: 8 alphanumeric characters\r\n const dpIdNumericPattern = /^\\d{8}$/; // DP ID: exactly 8 digits\r\n const dematPattern = /^\\d{8}$/; // Demat Account: exactly 8 digits\r\n let dpType: string = \"\";\r\n if (dpIdNumericPattern.test(dpId) && dematPattern.test(dematAccount)) {\r\n dpType = \"CDSL\"; // Both DP ID and Demat Account are 8 digits\r\n setCdslFlowFind(true);\r\n } else if (\r\n dpIdAlphanumericPattern.test(dpId) &&\r\n dematPattern.test(dematAccount)\r\n ) {\r\n dpType = \"NSDL\"; // DP ID is alphanumeric but not all digits\r\n }\r\n setDpIdType((dpIdType) => {\r\n dpIdType = dpType;\r\n return dpIdType;\r\n });\r\n if (byGet !== null && byGet !== undefined && byGet) {\r\n if (dpType == \"NSDL\") {\r\n Dpverify(true, true);\r\n }\r\n }\r\n if (dpType !== \"\" && dpType === \"CDSL\" && dpType == \"CDSL\") {\r\n setShowUploadSection(true);\r\n } else {\r\n setShowUploadSection(false);\r\n }\r\n // if (fromApi !== undefined && fromApi !== null && fromApi) {\r\n\r\n // }\r\n }\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [errors, setErrors] = React.useState({\r\n dpId: \"\",\r\n clientId: \"\",\r\n });\r\n const setCdslFinalSubmit = () => {\r\n if (\r\n dpIdType === \"CDSL\" &&\r\n cdslFlowFind &&\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n return true;\r\n }\r\n // let proceedFurther = false;\r\n // setFormData((formData) => {\r\n\r\n // return formData;\r\n // });\r\n\r\n // return proceedFurther;\r\n };\r\n const disabledButton = () => {\r\n let disabledButtonCo: boolean = false;\r\n if (\r\n formData?.radioSelection == null &&\r\n formData?.radioSelection === undefined\r\n ) {\r\n disabledButtonCo = true;\r\n } else {\r\n if (\r\n !!formData?.dpId &&\r\n formData?.dpId !== \"\" &&\r\n !!formData?.dpId &&\r\n formData?.dpId !== \"\" &&\r\n !!formData?.clientId &&\r\n formData?.clientId !== \"\"\r\n ) {\r\n if (dpIdType === \"NSDL\") {\r\n if (showAutoIfVerifyFail) {\r\n disabledButtonCo = true;\r\n } else {\r\n if (\r\n foundVerificationFail &&\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n disabledButtonCo = false;\r\n } else if (foundVerificationFail === false)\r\n disabledButtonCo = false;\r\n else disabledButtonCo = true;\r\n }\r\n } else if (dpIdType === \"CDSL\") {\r\n if (\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n disabledButtonCo = false;\r\n } else {\r\n if (showUploadSection == false) {\r\n disabledButtonCo = false;\r\n } else disabledButtonCo = true;\r\n }\r\n }\r\n } else {\r\n if (formData?.radioSelection === false) {\r\n disabledButtonCo = false;\r\n } else disabledButtonCo = true;\r\n }\r\n }\r\n\r\n return disabledButtonCo;\r\n };\r\n return (\r\n <>\r\n {dpLoader && (\r\n
\r\n \r\n
\r\n )}\r\n {!dpLoader && (\r\n
\r\n
Link your Demat Account
\r\n
\r\n You can link your existing{\" \"}\r\n Nuvama Demat Account (if available) or a External Demat\r\n account to experience the Investment Product offered under the\r\n Wealth Starters Account. Alternatively, if you wish to invest solely\r\n in Mutual Funds and Non-Demat products, you have the option\r\n to proceed without linking any Demat account\r\n
\r\n
\r\n {\r\n setRadioSelection(true);\r\n onChanges(\"radioSelection\", true);\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Yes\"\r\n //disabled={true}\r\n />\r\n {\r\n onChanges(\"radioSelection\", false);\r\n setRadioSelection(false);\r\n setFoundVerficationFail(false);\r\n setShowUploadSection(false);\r\n onChanges(\"clientId\", \"\");\r\n onChanges(\"dpId\", \"\");\r\n setDpIdType(\"\");\r\n setShowAutoVerifyFail(false);\r\n }}\r\n name=\"radioSelection\"\r\n label=\"No\"\r\n //disabled={true}\r\n />\r\n
\r\n {radioSelection && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n setShowUploadSection(false);\r\n if (\r\n value != null &&\r\n value !== undefined &&\r\n value != \"\" &&\r\n value?.length > 0 &&\r\n !validateDPID(value)\r\n ) {\r\n setFoundVerficationFail(false);\r\n onChanges(\"clientId\", \"\");\r\n setShowAutoVerifyFail(false);\r\n onChanges(\"dpId\", value);\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\r\n }\r\n }}\r\n required={true}\r\n pattern={alphaNumExp}\r\n onBlur={(error: any, event) => {\r\n const regex = /\\d/; // At least one digit\r\n\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE57),\r\n });\r\n }\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !regex.test(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE56),\r\n });\r\n } else {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n validateDPID(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE56),\r\n });\r\n } else\r\n setErrors({\r\n ...errors,\r\n dpId: \"\",\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. 18273946\"\r\n // pattern={pan}\r\n errorText={errors?.dpId}\r\n maxLength={8}\r\n // suffix={\r\n // <>\r\n // {cdslFlowFind && (\r\n // {\r\n // onEditIcon();\r\n // }}\r\n // >\r\n // \r\n // \r\n // )}\r\n // \r\n // }\r\n />\r\n
\r\n
\r\n \r\n {\r\n setShowUploadSection(false);\r\n if (\r\n value != null &&\r\n value !== undefined &&\r\n value != \"\" &&\r\n value?.length > 0\r\n ) {\r\n onChanges(\"clientId\", value);\r\n determineDepository(formData?.dpId, value);\r\n }\r\n }}\r\n required={true}\r\n pattern={alphaNumExp}\r\n onBlur={(error: any, event) => {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE57),\r\n });\r\n }\r\n\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE55),\r\n });\r\n } else {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n validateClientID(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE54),\r\n });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n clientId: \"\",\r\n });\r\n }\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. 18273946\"\r\n // pattern={pan}\r\n errorText={errors?.clientId}\r\n maxLength={8}\r\n onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n // suffix={\r\n // <>\r\n // {cdslFlowFind && (\r\n // {\r\n // onEditIcon();\r\n // }}\r\n // >\r\n // \r\n // \r\n // )}\r\n // \r\n // }\r\n />\r\n
\r\n
\r\n {showUploadSection && (\r\n
\r\n {showAutoIfVerifyFail && (\r\n
\r\n {errorMsg(errorCode.FE53)}\r\n
\r\n )}\r\n\r\n
\r\n Upload document to verification\r\n
\r\n
\r\n For us to verify your demat account kindly share your CML\r\n Copy or Demat Statement (maximum 1 month old)\r\n
\r\n
\r\n \r\n
\r\n {formData?.fileName !== undefined &&\r\n formData?.fileName !== null &&\r\n formData?.fileName !== \"\" &&\r\n formData?.base64String !== undefined &&\r\n formData?.base64String !== null &&\r\n formData?.base64String !== \"\" && (\r\n \r\n \r\n \r\n {formData?.fileName}\r\n \r\n {fileLoader ? (\r\n \r\n ) : (\r\n {\r\n // console.log(\"button is clicked\");\r\n onRemoveDocUpload();\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n {uploadedMaxFile && (\r\n
\r\n please upload correct file(size is incorrect).\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 DEMAT\" && (\r\n \r\n <>\r\n \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 \r\n {\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DematSelectionForm;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./DematSelection.scss\";\r\nimport DematSelectionForm from \"./DematSelectionForm\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../Services/dashboard/docVerificationAPIServices\";\r\n\r\nconst DematSelection = (props: any) => {\r\n const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 16,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\r\n }, []);\r\n return (\r\n <>\r\n
\r\n
Demat Account
\r\n
\r\n Provide your demat account details.\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DematSelection;\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 isKycDownload?: boolean,\r\n accounteCategory?: any\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 accounteCategory ? accounteCategory : GlobalStore?.accountcategory,\r\n isKycDownload\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] =\r\n 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 \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
\r\n
\r\n {showAgentVisitForm && (\r\n \r\n )}\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 \"../ESign/ESignForm/ESignForm.scss\";\r\nimport * as React from \"react\";\r\nimport DocStatus from \"../ESign/DocStatus/DocStatus\";\r\nimport Button, { TransparentButton, Verify } from \"../UI/Button/Button\";\r\nimport blueTick from \"../../assets/icons/blueTick.svg\";\r\nimport GlobalStore from \"../store/globalStore\";\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 {\r\n AGetUploadedDocument,\r\n QCServiceTaskCreation,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { setStageData } from \"../Services/globalService\";\r\nimport Radio from \"../UI/Radio/Radio\";\r\nimport {\r\n AGetOtpNew,\r\n ALeadFetchApi,\r\n AValidateOtpNew,\r\n} from \"../Services/registration/registrationApiService\";\r\nimport {\r\n AGetStageCompletionStatus,\r\n AUpdateStageCompletionStatus,\r\n} from \"../Services/registration/continueApiService\";\r\nimport { ILeadFormFields } from \"../Registration/RegistrationForm/RegistrationForm\";\r\nimport InputField from \"../UI/InputField/InputField\";\r\nimport {\r\n emailRegex,\r\n forbiddenWordsRegex,\r\n integerExp,\r\n phoneNo,\r\n} from \"../utils/regex\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\nimport RegOtp from \"../Registration/RegOtp/RegOtp\";\r\nimport { containerUrl } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nlet intervalTimer: any;\r\nexport interface ILeadDetails {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n isMobileVerified?: boolean;\r\n isEmailVerified?: boolean;\r\n isPanVerified?: boolean;\r\n uccCode?: string;\r\n}\r\nconst KRAAuthenticateForm = (props: any) => {\r\n const quryParams = useQuery();\r\n const history = useHistory();\r\n const [values, setValues] = React.useState({\r\n email: \"\",\r\n mobile: \"\",\r\n });\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 [radioSelection, setRadioSelection] = React.useState(true);\r\n const [isVerified, setIsVerified] = React.useState<{\r\n type: string;\r\n isVerify: boolean;\r\n }>({\r\n type: \"MOB\",\r\n isVerify: false,\r\n });\r\n const [rmAssited, setRmAssited] = React.useState(false);\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n email: undefined,\r\n mobile: undefined,\r\n });\r\n const [errCode, setErrCode] = React.useState();\r\n const [otpIds, setOtpIds] = React.useState<{\r\n emailOtpId?: string;\r\n mobileOtpId?: string;\r\n }>({\r\n emailOtpId: undefined,\r\n mobileOtpId: undefined,\r\n });\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 const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = 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 [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n const [leadDetails, setLeadDetails] = React.useState({});\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showResult, setShowResult] = React.useState(false);\r\n const [proceedToAutheticate, setProceedToAutheticate] =\r\n 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 React.useEffect(() => {\r\n AGetStageCompletionStatus((res: any) => {\r\n getClientStageDetails(res);\r\n }, GlobalStore.applicationID);\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 GetLeadDetails(GlobalStore?.leadId);\r\n return () => {\r\n clearInterval(intervalTimer);\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 !== null && responseObj != undefined) {\r\n if (\r\n responseObj?.rmassisted !== null &&\r\n responseObj?.rmassisted !== undefined &&\r\n responseObj?.rmassisted\r\n ) {\r\n setRmAssited(true);\r\n }\r\n }\r\n setValues((values) => {\r\n if (responseObj.emailid !== undefined) {\r\n values.email = responseObj.emailid;\r\n }\r\n if (responseObj.mobileno !== undefined)\r\n values.mobile = responseObj.mobileno;\r\n return values;\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 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 } else if (otpType === \"mobile\") {\r\n setDisableOtp(true);\r\n }\r\n AValidateOtpNew(\r\n (res: any) => {\r\n if (otpType === \"email\") {\r\n checkEmailValidateOtpNew(res);\r\n } else {\r\n checkMobileValidateOtpNew(res);\r\n }\r\n },\r\n otpType == \"email\" ? otpIds?.emailOtpId : otpIds?.mobileOtpId,\r\n val\r\n );\r\n }\r\n }\r\n function checkEmailValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.email = values.email;\r\n setIsEmailVerified(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n setInvalidEmailOtp(true);\r\n }\r\n\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\r\n }\r\n }\r\n function sendOtp() {\r\n setIsLoading(true);\r\n //AGetMobileOtp(otpSent, values.mobile);\r\n AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n mobileOtpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n function mobileOtpSentNew(res: any) {\r\n // console.log(res);\r\n\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.mobileOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n if (res?.error) {\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\r\n setIsLoading(false);\r\n setShowMobileOtp(false);\r\n }\r\n // else {\r\n // //setErrCode('114 - Failed to send OTP, please retry.');\r\n // setErrCode(res.error);\r\n // }\r\n }\r\n function sendEmailOtp() {\r\n setIsLoading(true);\r\n // AGetEmailOtp((res: any) => emailOtpRes(res), emlObj);\r\n AGetOtpNew(\r\n (res: any) => {\r\n emailOtpResNew(res);\r\n },\r\n values.email,\r\n \"EMAIL\"\r\n );\r\n }\r\n function emailOtpResNew(res: any) {\r\n if (res.data && res.status) {\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.emailOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\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 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 const GetLeadDetails = (leadId?: string) => {\r\n if (leadId !== null && leadId !== undefined && leadId !== \"\") {\r\n ALeadFetchApi(\r\n (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 if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n const leadObj = res?.data[0] as ILeadDetails;\r\n if (leadObj !== undefined) {\r\n // setValues((values) => {\r\n // if (leadObj?.email !== undefined) {\r\n // values.email = leadObj?.email;\r\n // }\r\n // if (leadObj?.mobile !== undefined)\r\n // values.mobile = leadObj?.mobile;\r\n // return values;\r\n // });\r\n }\r\n\r\n setLeadDetails(leadObj);\r\n }\r\n }\r\n },\r\n {\r\n id: leadId,\r\n name: \"\",\r\n stageFlag: 2,\r\n }\r\n );\r\n }\r\n };\r\n const updateStageStatus = () => {\r\n setIsLoading(true);\r\n let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let reaObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory,\r\n stageOrderId: 11,\r\n UserId: userId,\r\n rmassisted: rmAssited,\r\n };\r\n AUpdateStageCompletionStatus((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (req?.data !== null) {\r\n if (GlobalStore?.isKRA) {\r\n createTask();\r\n // history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }, reaObj);\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 const createTask = () => {\r\n QCServiceTaskCreation(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n // setIsLoading(false);\r\n // handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n // setLoaderSign(false);\r\n } else {\r\n if (res && res.data !== null && Object.keys(res?.data)?.length > 0) {\r\n // getSaveStatusNew();\r\n history.replace(containerUrl.submit);\r\n } else {\r\n setErrCode(\"Something went wrong. please try again later.\");\r\n setIsLoading(false);\r\n // setLoaderSign(false);\r\n }\r\n }\r\n },\r\n GlobalStore?.applicationID,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\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 const checkDisabledForm = () => {\r\n let disabledButton = false;\r\n if (isVerified?.type !== null && isVerified?.isVerify == true) {\r\n disabledButton = false;\r\n } else disabledButton = true;\r\n return disabledButton;\r\n };\r\n const generateEsignFields = (showMobile: boolean) => {\r\n return (\r\n <>\r\n {showMobile == false && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n if (forbiddenWordsRegex.test(value)) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else {\r\n setShowMobileMailBtn(true);\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n\r\n // onChange(\"email\", value);\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: \"\",\r\n });\r\n // onChange(\"email\", value);\r\n }\r\n }}\r\n onBlur={(error, e) => {\r\n if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n forbiddenWordsRegex.test(e?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else\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 values.email !== \"\" && isEmailVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n 0)\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 )}\r\n {showMobile && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n setShowMobileBtn(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n // setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n // onChange(\"mobile\", value);\r\n }}\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 inputPattern={integerExp}\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n />\r\n
\r\n {showMobileBtn && !isMobileVerified && (\r\n
\r\n error) ||\r\n Object.values([values.mobile]).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 )}\r\n \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 \r\n \r\n \r\n
\r\n
\r\n {\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.stageStatus?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n {!proceedToAutheticate && (\r\n \r\n )}\r\n {proceedToAutheticate && (\r\n <>\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n <>{generateEsignFields(isVerified.type == \"MOB\" ? true : false)}\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 {!proceedToAutheticate && (\r\n {\r\n setProceedToAutheticate(true);\r\n }}\r\n />\r\n )}\r\n {proceedToAutheticate && (\r\n {\r\n updateStageStatus();\r\n //setProceedToAutheticate(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 KRAAuthenticateForm;\r\n","import React from \"react\";\r\nimport esignBanner from \"../../assets/icons/esignBanner.jpeg\";\r\nimport PendingModules from \"../ESign/PendingModulesList/PendingModulesList\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport KRAAuthenticateForm from \"./KRAAuthenticateForm\";\r\nimport { dashboardUrl } from \"../utils/constants\";\r\nconst KraAuthenticateHome = (props: any) => {\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 [pendingModules, setPendingModules] =\r\n React.useState>();\r\n const [proceedToAutheticate, setProceedToAutheticate] =\r\n React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n React.useEffect(() => {\r\n checkPendingModules();\r\n // window.sessionStorage.setItem(\"stageInfoId\", \"10\");\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 (\r\n !module.isComplete &&\r\n module.isRequired &&\r\n module.navUrl !== dashboardUrl.authenticate\r\n ) {\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 return (\r\n
\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
\r\n
\r\n );\r\n};\r\nexport default KraAuthenticateHome;\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// import { dashboardUrl } from \"../components/utils/constants\";\r\n// import SelectPlan from \"../components/SelectPlan/SelectPlan\";\r\n// import DocVerificationHome from \"../components/DocumentVerification/DocVerificationHome/DocVerificationHome\";\r\n// import ESignHome from \"../components/ESign/ESignHome/ESignHome\";\r\n// import VideoVerification from \"../components/VideoVerification/VideoVerification\";\r\n// import Profiler from \"../components/Profiler/Profiler\";\r\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\nimport DematSelection from \"../components/DematSelection/DematSelection\";\r\nimport KraAuthenticateHome from \"../components/KRAAuthenticate/KraAuthenticateHome\";\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\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\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 * 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 accountId?: 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 {/* {props?.accountId && (\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 { 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\nimport { useHistory } from \"react-router-dom\";\r\nimport { containerUrl } from \"../utils/constants\";\r\n\r\nexport interface SubmitAOProps {}\r\n\r\nconst SubmitAO: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const history = useHistory();\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 [accountId, setAccountId] = React.useState();\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n const [time, setTime] = React.useState(\"\");\r\n React.useEffect(() => {\r\n if (\r\n GlobalStore?.applicationID == \"\" ||\r\n GlobalStore?.applicationID == null ||\r\n GlobalStore?.applicationID == undefined\r\n ) {\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 } else 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 setAccountId(responseObj.applicationid);\r\n const displayInfo: Array = [\r\n {\r\n display: \"Login Id(Account Id):\",\r\n value: responseObj.applicationid,\r\n },\r\n { display: \"Name\", value: holderName },\r\n { display: \"Demat Account\", value: responseObj.dpid },\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 ];\r\n\r\n setTime(responseObj.esigncompletedtime);\r\n setDisplayInfoList(displayInfo);\r\n } else {\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 setAccountId(responseObj.applicationid);\r\n const displayInfo: Array = [\r\n {\r\n display: \" Login Id(Account Id):\",\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\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 EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport \"./Layout.scss\";\r\nimport DeviceContext from \"../../../components/Services/identifyDevice\";\r\nexport interface StatusLayoutProps {\r\n edelLogoClass?: string;\r\n statusClassName?: string;\r\n}\r\n\r\nconst StatusLayout: React.FC = (props) => {\r\n const isDesktop = DeviceContext().isDesktop;\r\n\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 StatusLayout;\r\n","import React, { Component } from \"react\";\r\nimport \"./EsignNewForm.scss\";\r\nimport {\r\n AEmailUpdateApi,\r\n AGetOtpNew,\r\n ALeadFetchApi,\r\n AValidateOtpNew,\r\n CreateUCCRegCode,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n emailRegex,\r\n forbiddenWordsRegex,\r\n integerExp,\r\n phoneNo,\r\n} from \"../../utils/regex\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport {\r\n SubmitButton,\r\n TransparentButton,\r\n Verify,\r\n} from \"../../UI/Button/Button\";\r\nimport RegOtp from \"../../Registration/RegOtp/RegOtp\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n AGetStageCompletionStatus,\r\n AUpdateStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\n\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 { AGetRMEsignUrlDetails } from \"../../Services/dashboard/eSignApiServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { containerUrl } from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport moment from \"moment\";\r\nexport interface ILeadFormFields {\r\n email: string;\r\n mobile: string;\r\n}\r\nexport interface IEsignProps {\r\n pan?: string;\r\n setIsKRA?: Function;\r\n isKRA?: boolean;\r\n userId?: string;\r\n}\r\n\r\nexport interface ICompletionStatus {\r\n pan: string;\r\n token: string;\r\n ApplicatoinId: string;\r\n leadId: string;\r\n clientPrimaryDetailId: string;\r\n AccountCategory?: number;\r\n}\r\nexport interface ILeadDetails {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n isMobileVerified?: boolean;\r\n isEmailVerified?: boolean;\r\n isPanVerified?: boolean;\r\n uccCode?: string;\r\n}\r\n\r\nconst EsignNewForm = (props?: IEsignProps) => {\r\n const history = useHistory();\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [authenticate, setAuthenticate] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [completionStatus, setCompletionStatus] =\r\n React.useState();\r\n const [values, setValues] = React.useState({\r\n email: \"\",\r\n mobile: \"\",\r\n });\r\n const [rmAssited, setRmAssited] = React.useState(false);\r\n const [uccCode, setUccCode] = React.useState(\"\");\r\n const [radioSelection, setRadioSelection] = React.useState(true);\r\n const [firstName, setFirstName] = React.useState(\"\");\r\n const [lastName, setLastName] = 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 const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [dob, setDob] = React.useState();\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = 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 [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n const [leadDetails, setLeadDetails] = React.useState({});\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [isVerified, setIsVerified] = React.useState<{\r\n type: string;\r\n isVerify: boolean;\r\n }>({\r\n type: \"MOB\",\r\n isVerify: false,\r\n });\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n email: undefined,\r\n mobile: undefined,\r\n });\r\n const [otpIds, setOtpIds] = React.useState<{\r\n emailOtpId?: string;\r\n mobileOtpId?: string;\r\n }>({\r\n emailOtpId: undefined,\r\n mobileOtpId: undefined,\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 } else if (otpType === \"mobile\") {\r\n setDisableOtp(true);\r\n }\r\n AValidateOtpNew(\r\n (res: any) => {\r\n if (otpType === \"email\") {\r\n checkEmailValidateOtpNew(res);\r\n } else {\r\n checkMobileValidateOtpNew(res);\r\n }\r\n },\r\n otpType == \"email\" ? otpIds?.emailOtpId : otpIds?.mobileOtpId,\r\n val\r\n );\r\n }\r\n }\r\n\r\n function checkEmailValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.email = values.email;\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n }\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }\r\n setInvalidEmailOtp(true);\r\n }\r\n\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.mobile = values.mobile;\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n }\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else {\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\r\n }\r\n }\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 setValues({ ...values, [key]: value });\r\n if (key === \"mobile\") {\r\n if (isMobileVerified) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n if (key === \"email\") {\r\n if (isEmailVerified) {\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 sendOtp() {\r\n setIsLoading(true);\r\n //AGetMobileOtp(otpSent, values.mobile);\r\n AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n mobileOtpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n function mobileOtpSentNew(res: any) {\r\n // console.log(res);\r\n\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.mobileOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n if (res?.error) {\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\r\n setIsLoading(false);\r\n setShowMobileOtp(false);\r\n }\r\n // else {\r\n // //setErrCode('114 - Failed to send OTP, please retry.');\r\n // setErrCode(res.error);\r\n // }\r\n }\r\n function sendEmailOtp() {\r\n setIsLoading(true);\r\n // AGetEmailOtp((res: any) => emailOtpRes(res), emlObj);\r\n AGetOtpNew(\r\n (res: any) => {\r\n emailOtpResNew(res);\r\n },\r\n values.email,\r\n \"EMAIL\"\r\n );\r\n }\r\n function emailOtpResNew(res: any) {\r\n if (res.data && res.status) {\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.emailOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\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 React.useEffect(() => {\r\n if (\r\n props?.pan !== null &&\r\n props?.pan !== undefined &&\r\n props?.pan !== \"\" &&\r\n !!props?.userId &&\r\n props?.userId !== \"\"\r\n ) {\r\n setIsLoading(true);\r\n AGetClientDetailsByPan(searchByPan, props?.pan, 2, props?.userId);\r\n }\r\n }, [props?.pan]);\r\n\r\n const GetLeadDetails = (leadId?: string) => {\r\n if (leadId !== null && leadId !== undefined && leadId !== \"\") {\r\n ALeadFetchApi(\r\n (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 if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n const leadObj = res?.data[0] as ILeadDetails;\r\n if (leadObj !== undefined) {\r\n setValues((values) => {\r\n if (leadObj?.email !== undefined) {\r\n values.email = leadObj?.email;\r\n }\r\n if (leadObj?.mobile !== undefined)\r\n values.mobile = leadObj?.mobile;\r\n return values;\r\n });\r\n }\r\n if (\r\n leadObj !== undefined &&\r\n leadObj?.uccCode !== \"\" &&\r\n !!leadObj?.uccCode\r\n )\r\n setUccCode(leadObj?.uccCode);\r\n if (\r\n leadObj?.firstName !== null &&\r\n leadObj?.firstName !== undefined &&\r\n leadObj?.firstName !== \"\"\r\n ) {\r\n setFirstName(leadObj?.firstName);\r\n }\r\n\r\n if (\r\n leadObj?.lastName !== null &&\r\n leadObj?.lastName !== undefined &&\r\n leadObj?.lastName !== \"\"\r\n ) {\r\n setLastName(leadObj?.lastName);\r\n }\r\n setLeadDetails(leadObj);\r\n }\r\n }\r\n },\r\n {\r\n id: leadId,\r\n name: \"\",\r\n stageFlag: 2,\r\n }\r\n );\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 setCompletionStatus(res?.data);\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 GlobalStore.accountcategory = res.data?.AccountCategory;\r\n GetLeadDetails(res.data.LeadId);\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n setIsLoading(false);\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 const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\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 !== null && responseObj != undefined) {\r\n if (\r\n responseObj?.rmassisted !== null &&\r\n responseObj?.rmassisted !== undefined &&\r\n responseObj?.rmassisted\r\n ) {\r\n setRmAssited(true);\r\n }\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n setDob(moment(dob).format(\"yyyy-MM-DD\"));\r\n }\r\n if (responseObj.iskra) {\r\n if (props?.setIsKRA != undefined) {\r\n props?.setIsKRA(responseObj.iskra);\r\n if (responseObj?.auth_ver) {\r\n history.push(containerUrl.esignsubmit);\r\n }\r\n }\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n }\r\n }\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 const updateStageStatus = () => {\r\n let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let reaObj = {\r\n applicationId: completionStatus?.ApplicatoinId,\r\n accountCagtegory: completionStatus?.AccountCategory,\r\n stageOrderId: 11,\r\n UserId: userId,\r\n rmassisted: rmAssited,\r\n };\r\n AUpdateStageCompletionStatus((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (req?.data !== null) {\r\n if (props?.isKRA) {\r\n history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }, reaObj);\r\n };\r\n const handleCreateUcc = () => {\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: firstName,\r\n lastName: lastName,\r\n applicationId: GlobalStore?.applicationID,\r\n requestStage: 1,\r\n leadSource: \"DIY\",\r\n isPanVerify: true,\r\n Pan: leadDetails?.pan,\r\n dob:\r\n dob !== null && dob !== undefined\r\n ? dob\r\n : moment(leadDetails?.dob).format(\"yyyy-MM-DD\"),\r\n };\r\n\r\n if (uccCode == \"\" || uccCode == undefined || uccCode == null) {\r\n CreateUCCRegCode((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n }\r\n }, reqObj);\r\n }\r\n };\r\n const AEmailUpdate = () => {\r\n let reqObj = {\r\n emailId: leadDetails?.email,\r\n uccCode: leadDetails?.uccCode,\r\n source: \"\",\r\n ApplicationId: GlobalStore?.applicationID,\r\n };\r\n if (uccCode && leadDetails?.isEmailVerified == false)\r\n AEmailUpdateApi((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n }\r\n }, reqObj);\r\n };\r\n const checkDisableForm = () => {\r\n let disabledButton = false;\r\n if (showMobileRadio()) {\r\n if (isVerified?.type !== null && isVerified?.isVerify == true) {\r\n disabledButton = false;\r\n } else {\r\n disabledButton = true;\r\n }\r\n } else if (hideEmailVerifyButton() && mobileVerifiedFE == true)\r\n disabledButton = false;\r\n else if (hideMobileVerifyButton() && mailVerifiedFE == true)\r\n disabledButton = false;\r\n else if (mailVerifiedFE == true && mobileVerifiedFE == true)\r\n disabledButton = false;\r\n else disabledButton = true;\r\n if (\r\n errCode !== null &&\r\n errCode !== undefined &&\r\n typeof errCode === \"string\" &&\r\n errCode != \"\"\r\n ) {\r\n disabledButton = true;\r\n }\r\n if (\r\n (values?.email === null ||\r\n values?.email === undefined ||\r\n values?.email === \"\") &&\r\n (values?.mobile === null ||\r\n values?.mobile === undefined ||\r\n values?.mobile === \"\")\r\n ) {\r\n disabledButton = true;\r\n }\r\n return disabledButton;\r\n };\r\n const generateEsignFields = () => {\r\n return (\r\n <>\r\n {showEmailField() && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n if (forbiddenWordsRegex.test(value)) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else {\r\n if (hideEmailVerifyButton()) {\r\n } else {\r\n setShowMobileMailBtn(true);\r\n }\r\n\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n\r\n onChange(\"email\", value);\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: \"\",\r\n });\r\n onChange(\"email\", value);\r\n }\r\n }}\r\n onBlur={(error, e) => {\r\n if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n forbiddenWordsRegex.test(e?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else\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 hideEmailVerifyButton() ||\r\n (values.email !== \"\" && isEmailVerified) ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {hideEmailVerifyButton() ? (\r\n <>\r\n ) : (\r\n <>\r\n {\" \"}\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n 0)\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 )}\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 )}\r\n <>\r\n {showMobileField() && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n if (hideMobileVerifyButton()) {\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n // setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"mobile\", value);\r\n }}\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 inputPattern={integerExp}\r\n suffix={\r\n hideMobileVerifyButton() ||\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n />\r\n
\r\n {hideMobileVerifyButton() ? (\r\n <>\r\n ) : (\r\n showMobileBtn &&\r\n !isMobileVerified && (\r\n
\r\n error\r\n ) ||\r\n Object.values([values.mobile]).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
\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 )}\r\n \r\n \r\n );\r\n };\r\n const getRMAssitedEsignLink = () => {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetRMEsignUrlDetails(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.accountcategory ? GlobalStore?.accountcategory : 0,\r\n userId\r\n );\r\n };\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 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 const eSignCall = {\r\n applicationId: GlobalStore.applicationID,\r\n isESignSubmitted: true,\r\n };\r\n\r\n localStorage.setItem(\r\n \"isESignSubmitted\",\r\n btoa(JSON.stringify(eSignCall))\r\n );\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 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 const handleSubmit = () => {\r\n if (uccCode === \"\" || uccCode == undefined || uccCode == null) {\r\n handleCreateUcc();\r\n }\r\n AEmailUpdate();\r\n updateStageStatus();\r\n if (\r\n props?.isKRA !== null &&\r\n props?.isKRA !== undefined &&\r\n props?.isKRA === false\r\n )\r\n getRMAssitedEsignLink();\r\n };\r\n const showMobileField = () => {\r\n let showMobile: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified &&\r\n isVerified?.type == \"MOB\"\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode === \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showMobile = true;\r\n }\r\n\r\n return showMobile;\r\n };\r\n const showEmailField = () => {\r\n let showEmail: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified &&\r\n isVerified?.type == \"EMAIL\"\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode === \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showEmail = true;\r\n }\r\n\r\n return showEmail;\r\n };\r\n const hideMobileVerifyButton = () => {\r\n let hideMpbileVerify: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n hideMpbileVerify = true;\r\n }\r\n return hideMpbileVerify;\r\n };\r\n const hideEmailVerifyButton = () => {\r\n let hideEmaileVerify: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n hideEmaileVerify = true;\r\n }\r\n return hideEmaileVerify;\r\n };\r\n const showMobileRadio = () => {\r\n let showRadio = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showRadio = true;\r\n }\r\n\r\n return showRadio;\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 {!props?.isKRA && mobileVerifiedFE && mailVerifiedFE && (\r\n
\r\n {\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n {!props?.isKRA && authenticate && (\r\n
\r\n {\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n {props?.isKRA && (\r\n
\r\n {\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {!props?.isKRA && (\r\n <>\r\n {showMobileRadio() && (\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n )}\r\n\r\n {generateEsignFields()}\r\n \r\n )}\r\n {props?.isKRA && authenticate && (\r\n <>\r\n {showMobileRadio() && (\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n setShowMobileBtn(true);\r\n setMobileVerifiedFE(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsButtonDisabled(false);\r\n setIsEmailVerified(false);\r\n setShowMobileMailBtn(true);\r\n setMailVerifiedFE(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n )}\r\n\r\n {generateEsignFields()}\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 {props?.isKRA && !authenticate && (\r\n {\r\n setAuthenticate(true);\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n {props?.isKRA && authenticate && (\r\n {\r\n //\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n {!props?.isKRA && (\r\n {\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default EsignNewForm;\r\n","import React, { Component } from \"react\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\";\r\nimport \"./EsignMainPage.scss\";\r\nimport EsignNewForm from \"./EsignNewForm\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\nexport interface IQueryObject {\r\n Pan?: string;\r\n UserId?: string;\r\n}\r\nconst EsignMainPage = () => {\r\n const queryParams = useQuery();\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n const [pan, setPan] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [isKRA, setIsKRA] = React.useState(false);\r\n React.useEffect(() => {\r\n if (id !== null && id !== undefined && id !== \"\") {\r\n const panObj = JSON.parse(atob(id)) as IQueryObject;\r\n if (\r\n panObj !== null &&\r\n panObj !== undefined &&\r\n !!panObj?.Pan &&\r\n panObj?.Pan !== \"\"\r\n ) {\r\n setPan(panObj.Pan);\r\n if (!!panObj?.UserId && panObj?.UserId !== \"\")\r\n setUserId(panObj?.UserId);\r\n }\r\n }\r\n }, []);\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\nexport default EsignMainPage;\r\n","import * as React from \"react\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport \"./EsignSubmit.scss\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport { containerUrl, loginUrl } from \"../../components/utils/constants\";\r\nimport { isSafariBrowser } from \"../Services/globalService\";\r\nimport { AGetClientAccountCode } from \"../Services/dashboard/eSignApiServices\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport { useHistory } from \"react-router-dom\";\r\nconst EsignSubmit = () => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const history = useHistory();\r\n const [displayTitleList, setDisplayTitleList] = React.useState<\r\n Array<{ display: string; value: string }>\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 React.useEffect(() => {\r\n if (\r\n GlobalStore?.applicationID == \"\" ||\r\n GlobalStore?.applicationID == null ||\r\n GlobalStore?.applicationID == undefined\r\n ) {\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 } else AGetClientAccountCode(getClientDetails, GlobalStore.applicationID);\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 =\r\n responseObj.holderfullname !== null &&\r\n responseObj.holderfullname !== undefined\r\n ? responseObj.holderfullname\r\n : clientPartialDetails_ao.PANName\r\n ? clientPartialDetails_ao.PANName\r\n : \"\";\r\n let mobile =\r\n responseObj.mobileno !== undefined && responseObj?.mobileno !== null\r\n ? responseObj.mobileno\r\n : clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : \"\";\r\n let email =\r\n responseObj.emailid !== undefined && responseObj?.emailid !== null\r\n ? responseObj.emailid\r\n : clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : \"\";\r\n const displayInfo: Array = [];\r\n if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n if (\r\n holderName !== null &&\r\n holderName !== undefined &&\r\n holderName !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"Form ID\", value: holderName });\r\n }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n } else {\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n if (\r\n holderName !== null &&\r\n holderName !== undefined &&\r\n holderName !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"Form ID\", value: holderName });\r\n }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n }\r\n }\r\n }\r\n React.useEffect(() => {\r\n if (displayTitleList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayTitleList]);\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n Your account opening formalities have been completed.\r\n
\r\n
\r\n {displayTitleList &&\r\n displayTitleList?.length > 0 &&\r\n displayTitleList.map((record) => {\r\n return (\r\n
\r\n {record?.display}\r\n {record?.value}\r\n
\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 getStarted();\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EsignSubmit;\r\n","import * as React from \"react\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport \"./KYCSubmit.scss\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport { containerUrl, loginUrl } from \"../../components/utils/constants\";\r\nimport { isSafariBrowser } from \"../Services/globalService\";\r\nimport {\r\n AGetClientAccountCode,\r\n AGetRMEsignVerificationUrlDetails,\r\n} from \"../Services/dashboard/eSignApiServices\";\r\nimport { IListObj, ITokenObj } from \"../types/genericTypes\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { useHistory } from \"react-router-dom\";\r\nconst KYCSubmit = () => {\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [linkSend, setLinkSend] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [displayTitleList, setDisplayTitleList] = React.useState<\r\n Array<{ display: string; value: string }>\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 const sendToAPILink = () => {\r\n setLinkSend(false);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let userId = \"0\";\r\n //console.log(\"searchByPan token\", decryptJwtToken(clientPartialDetails_ao?.token));\r\n const tokenObj: string = decryptJwtToken(clientPartialDetails_ao?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n AGetRMEsignVerificationUrlDetails(\r\n getEsignUrl,\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID,\r\n 1,\r\n clientPartialDetails_ao.accountcategory\r\n ? clientPartialDetails_ao.accountcategory\r\n : 0,\r\n parseInt(userId)\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 setLinkSend(true);\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 {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n setLinkSend(false);\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 React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n clientPartialDetails_ao?.applicationId == \"\" ||\r\n clientPartialDetails_ao?.applicationId == null ||\r\n clientPartialDetails_ao?.applicationId == undefined\r\n ) {\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 } else\r\n AGetClientAccountCode(\r\n getClientDetails,\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n );\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n // if (\r\n // holderName !== null &&\r\n // holderName !== undefined &&\r\n // holderName !== \"\"\r\n // ) {\r\n // displayInfo.push({ display: \"Form ID\", value: holderName });\r\n // }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n } else {\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n // if (\r\n // holderName !== null &&\r\n // holderName !== undefined &&\r\n // holderName !== \"\"\r\n // ) {\r\n // displayInfo.push({ display: \"Form ID\", value: holderName });\r\n // }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n }\r\n }\r\n }\r\n React.useEffect(() => {\r\n if (displayTitleList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayTitleList]);\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n KYC request raised for the client has been successfully approved. Client\r\n has been sent authentication link on his/her registered Email ID with\r\n us.\r\n
\r\n
\r\n {displayTitleList &&\r\n displayTitleList?.length > 0 &&\r\n displayTitleList.map((record) => {\r\n return (\r\n
\r\n {record?.display}\r\n {record?.value}\r\n
\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 // getStarted();\r\n sendToAPILink();\r\n }}\r\n />\r\n
\r\n {linkSend && (\r\n
Link Send Successfully
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default KYCSubmit;\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\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\nimport StatusLayout from \"../components/Status/Layout/Layout\";\r\nimport EsignMainPage from \"../components/ESign/NewEsign/EsignMainPage\";\r\nimport DeviceContext from \"../components/Services/identifyDevice\";\r\nimport EsignSubmit from \"../components/EsignSubmit/EsignSubmit\";\r\nimport KYCSubmit from \"../components/KYCSubmit/KYCSubmit\";\r\nexport interface SubmissionRoutesProps {}\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\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n // \r\n\r\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;\r\n","import React from \"react\";\r\nimport InputWithLabel from \"../../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport Button, { SubmitButton } 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 AGetOtpNew,\r\n AValidateOtpNew,\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 {\r\n AGetClientDetailsByPan,\r\n AKnowYourStatus,\r\n} 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 const [res, setRes] = React.useState([]);\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 [otpId, setOtpId] = React.useState(\"\");\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 const [panDetails, setPanDetails] = React.useState();\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 const setPanDetailsinLoal = () => {\r\n const panFromLocalStorage = window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n );\r\n if (\r\n panFromLocalStorage !== null &&\r\n panFromLocalStorage !== undefined &&\r\n panFromLocalStorage !== \"\"\r\n ) {\r\n let panDetailsLocal = JSON.parse(panFromLocalStorage);\r\n if (panDetailsLocal !== null && panDetailsLocal !== undefined) {\r\n setPanDetails(panDetailsLocal.panDetails);\r\n }\r\n }\r\n };\r\n React.useEffect(() => {\r\n setPanDetailsinLoal();\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 AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n otpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n function otpSentNew(res: any) {\r\n if (\r\n res.data &&\r\n res.data.success &&\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpId(res?.data?.data?.OTPId);\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 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 AValidateOtpNew(\r\n (res: any) => {\r\n checkMobileValidateOtpNew(res);\r\n },\r\n otpId,\r\n val\r\n );\r\n // AValidateMobileOtp(checkMobileValidateOtp, values.mobile.toString(), val);\r\n }\r\n }\r\n function checkMobileValidateOtpNew(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 (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\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 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.panDetails = panDetails;\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 localStorage.removeItem(\"isESignSubmitted\");\r\n GlobalStore.personaldetails.pan = values.pan;\r\n // GlobalStore.user.mobile = values.mobile;\r\n // GlobalStore.user.email = 'example@email.com';\r\n AKnowYourStatus(checkApplicationStatus, values.pan);\r\n }\r\n const sendToContinueUrl = (res: any) => {\r\n localStorage.removeItem(\"isESignSubmitted\");\r\n GlobalStore.applicationID = res.ApplicatoinId;\r\n GlobalStore.accountcategory = res.AccountCategory;\r\n GlobalStore.token = res.Token;\r\n GlobalStore.clientPrimaryDetailId = res.ClientPrimaryDetailId;\r\n GlobalStore.leadId = res.LeadId;\r\n GlobalStore.personaldetails.pan = res?.PAN;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId = res.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.AccountCategory;\r\n clientPartialDetails_ao.token = res.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(statusUrl.statusContinue);\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) {\r\n if (Array.isArray(res?.data)) {\r\n if (res?.data?.length == 1) {\r\n let resNew = res?.data[0];\r\n GlobalStore.applicationID = resNew.ApplicatoinId;\r\n GlobalStore.accountcategory = resNew.AccountCategory;\r\n GlobalStore.token = resNew.Token;\r\n GlobalStore.clientPrimaryDetailId = resNew.ClientPrimaryDetailId;\r\n GlobalStore.leadId = resNew.LeadId;\r\n GlobalStore.personaldetails.pan = resNew?.PAN;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = resNew?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n resNew.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = resNew.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = resNew.AccountCategory;\r\n clientPartialDetails_ao.token = resNew.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(statusUrl.statusContinue);\r\n } else setRes(res?.data);\r\n } else {\r\n GlobalStore.applicationID = !GlobalStore.applicationID\r\n ? res?.data?.ApplicatoinId\r\n : GlobalStore.applicationID;\r\n GlobalStore.token = !GlobalStore.token\r\n ? res?.data?.Token\r\n : GlobalStore.token;\r\n\r\n GlobalStore.personaldetails.pan = !GlobalStore.personaldetails.pan\r\n ? res?.data?.PAN\r\n : GlobalStore.personaldetails.pan;\r\n history.push(statusUrl.statusContinue);\r\n }\r\n\r\n // GlobalStore.dob = GlobalStore?.\r\n }\r\n }\r\n }\r\n const showApprovalPending = () => {\r\n let approvalPendingObj = {\r\n approvalPending: false,\r\n apporvalPendingStatus: \"\",\r\n isTrading: false,\r\n };\r\n if (res && res?.length > 1) {\r\n let resultObject = res?.find(\r\n (res: any) =>\r\n res?.AppStatusFlag == false &&\r\n res?.ApplicationStatus == \"Approval Pending\"\r\n );\r\n if (\r\n resultObject !== null &&\r\n resultObject !== undefined &&\r\n resultObject?.AppStatusFlag == false\r\n ) {\r\n approvalPendingObj.approvalPending = true;\r\n approvalPendingObj.apporvalPendingStatus =\r\n resultObject?.ApplicationStatus;\r\n if (resultObject?.AccountCategory == 1) {\r\n approvalPendingObj.isTrading = true;\r\n } else {\r\n approvalPendingObj.isTrading = false;\r\n }\r\n }\r\n }\r\n return approvalPendingObj;\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\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 && !(!!res && res && res?.length > 1) && (\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 {res && res?.length > 1 && (\r\n <>\r\n
\r\n You have 2 Account opening Journey which would you like to\r\n continue with?\r\n
\r\n
\r\n \r\n

\r\n Wealth Pro account opening\r\n

\r\n {showApprovalPending()?.approvalPending &&\r\n showApprovalPending()?.isTrading == true ? (\r\n \r\n {showApprovalPending()?.apporvalPendingStatus}\r\n \r\n ) : (\r\n {\r\n if (\r\n res !== null &&\r\n res !== undefined &&\r\n Array.isArray(res) &&\r\n res?.length > 1\r\n ) {\r\n let resObj = res?.find(\r\n (res) => res?.AccountCategory == 1\r\n );\r\n sendToContinueUrl(resObj);\r\n }\r\n }}\r\n >\r\n Continue\r\n
\r\n )}\r\n \r\n

\r\n \r\n

\r\n Wealth Starter account opening\r\n

\r\n\r\n {showApprovalPending()?.approvalPending &&\r\n showApprovalPending()?.isTrading == false ? (\r\n \r\n {showApprovalPending()?.apporvalPendingStatus}\r\n \r\n ) : (\r\n {\r\n if (\r\n res !== null &&\r\n res !== undefined &&\r\n Array.isArray(res) &&\r\n res?.length > 1\r\n ) {\r\n let resObj = res?.find(\r\n (res) => res?.AccountCategory == 2\r\n );\r\n sendToContinueUrl(resObj);\r\n }\r\n }}\r\n >\r\n Continue\r\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 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\n\r\nclass DocsVerificationInProgress extends Component {\r\n render() {\r\n const showMessage = () => {\r\n let show: boolean = false,\r\n userId = \"0\",\r\n accountcategory = \"0\";\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let tokenObj: string = decryptJwtToken(\r\n !!GlobalStore?.token && GlobalStore?.token !== \"\"\r\n ? GlobalStore?.token\r\n : clientPartialDetails_ao.token\r\n );\r\n\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n accountcategory = tokenMainObj?.AccountCategory.toString();\r\n }\r\n if (userId != \"0\" && accountcategory == \"2\") {\r\n show = true;\r\n }\r\n return show;\r\n };\r\n return (\r\n
\r\n \r\n
\r\n

Document Verification in Process

\r\n \r\n {showMessage() ? (\r\n <>\r\n The documents have been successfully received for quality check.\r\n This process may take up to 45 minutes. You will receive an\r\n email notification from Nuvama for further action.\r\n \r\n ) : (\r\n <>\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 )}\r\n
\r\n
\r\n We will notify you of the update via{\" \"}\r\n WhatsApp/Email\r\n
\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 {\r\n completeModuleStatus,\r\n setStageData,\r\n} 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\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 [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n const [addressRejctedFound, setAddressRejctedFound] =\r\n React.useState(null);\r\n const history = useHistory();\r\n let isUploadDocumentsCompleted = false;\r\n const handleContinue = () => {\r\n // e.preventDefault();\r\n console.log(\"Continue....\");\r\n setIsLoading(true);\r\n localStorage.removeItem(\"isESignSubmitted\");\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 let userId = \"0\";\r\n\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n GlobalStore.personaldetails.pan,\r\n GlobalStore?.stageStatus?.accountcategory,\r\n userId\r\n );\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.accountcategory = res.AccountCategory;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res.data.PAN;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\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.accountcategory = res.AccountCategory;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n redirectToDematPage();\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 const redirectToDematPage = () => {\r\n let dematAccountFoundLocal: any = null,\r\n addressAccountFoundLocal: any = null;\r\n APendingUploadList((res: any) => {\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 \r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n }\r\n AGetStageCompletionStatus((res: any) => {\r\n getClientStageDetails(\r\n res,\r\n dematAccountFoundLocal,\r\n addressAccountFoundLocal\r\n );\r\n }, GlobalStore.applicationID);\r\n }\r\n //setIsLoading(false);\r\n }, GlobalStore.applicationID);\r\n };\r\n\r\n function getClientStageDetails(\r\n res: any,\r\n dematAccountFoundLocaL?: any,\r\n addressRejctedFound?: any\r\n ) {\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 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 GlobalStore.personaldetails.panDetails = {\r\n PanNo: res.data.PAN,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: false,\r\n IsAadharSeeded: \"\",\r\n };\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound,\r\n addressRejctedFound\r\n );\r\n if (addressRejctedFound !== null && addressRejctedFound !== undefined) {\r\n let personalInfoIndex = GlobalStore.leftNavBarState.findIndex(\r\n (item) => item.name == \"Personal Documents\"\r\n );\r\n GlobalStore.leftNavBarState[personalInfoIndex].isComplete = false;\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n //route according to stage api response\\\r\n if (responseObj.bpm_pd_status == 2 && addressRejctedFound) {\r\n history.push(dashboardUrl.personalIfo);\r\n return;\r\n }\r\n if (\r\n dematAccountFoundLocaL !== null &&\r\n dematAccountFoundLocaL !== undefined\r\n ) {\r\n history.push(dashboardUrl.demat);\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 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 (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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);\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 {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} 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 { ageCalculator, 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 AGetKraDetails,\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\nimport { getProfileDetailsFromAadhar } from \"../../Registration/ShareAdd/ShareAdd\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport moment from \"moment\";\r\nexport interface StatusContinueProps {}\r\n\r\nconst StatusContinue: React.FC = (props) => {\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [panValue, setPanValue] = 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 const cacheKRAFunction = (responseObj: any) => {\r\n GlobalStore.isKRA = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\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 = true;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\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 // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const getPAN = async () => {\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 return panNum;\r\n };\r\n const handleContinue = async () => {\r\n // e.preventDefault();\r\n console.log(\"function called\");\r\n\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\r\n console.log(\r\n \"panNum\",\r\n { panNum, isValidPan },\r\n panNum !== \"\" && panNum !== undefined && isValidPan\r\n );\r\n if (panNum !== \"\" && panNum !== undefined && isValidPan) {\r\n setPanValue(panNum);\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 console.log(\"PANlastName\", res.data);\r\n\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let accountCategory = 0;\r\n if (\r\n GlobalStore?.accountcategory !== undefined &&\r\n GlobalStore?.accountcategory !== null\r\n ) {\r\n accountCategory = GlobalStore?.accountcategory;\r\n } else {\r\n accountCategory = clientPartialDetails_ao?.accountcategory;\r\n }\r\n //Dudupe Logic here//\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n GlobalStore.personaldetails.pan,\r\n accountCategory,\r\n userId\r\n );\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 GlobalStore.isPANVerified = 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 clientPartialDetails_ao.leadID = res.data.LeadId;\r\n clientPartialDetails_ao.pan = res.data?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.data.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.data.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token\r\n ? res.data.Token\r\n : GlobalStore?.token;\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(\r\n checkPendingUpload,\r\n res.data.ApplicatoinId\r\n ? res.data.ApplicatoinId\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 checkPendingUpload(res: any) {\r\n let dematAccountFoundLocaL: any = null,\r\n addressAccountFoundLocal: any = null;\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 (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n dematAccountFoundLocaL = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocaL !== undefined &&\r\n dematAccountFoundLocaL !== null\r\n ) {\r\n setDematAccountFound(dematAccountFoundLocaL);\r\n }\r\n } else if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n addressAccountFoundLocal = list.find(\r\n (listObj) =>\r\n (listObj?.DocumentCategory == \"Address Proof Permanent\" &&\r\n listObj?.DocumentCategoryId == 4) ||\r\n (listObj?.DocumentCategory == \"Address Proof Correspondence\" &&\r\n listObj?.DocumentCategoryId == 3)\r\n );\r\n dematAccountFoundLocaL = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocaL !== undefined &&\r\n dematAccountFoundLocaL !== null\r\n ) {\r\n setDematAccountFound(dematAccountFoundLocaL);\r\n }\r\n }\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((res: any) => {\r\n getClientStageDetails(res, dematAccountFoundLocaL);\r\n }, GlobalStore.applicationID);\r\n }\r\n const KraCheckApi = (dob: string, pan: string) => {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(convertDate(dob)).format(\"DD/MM/YYYY\")}`,\r\n panno: pan,\r\n };\r\n AGetKraDetails((res: any) => kraDobCheckNew(res), reqObj);\r\n };\r\n const kraDobCheckNew = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n setErrCode(res.error);\r\n setIsLoading(false);\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\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n // setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n responseObj.AppStatus === \"07\"\r\n // !responseObj.ErrorCode &&\r\n // responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\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\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\r\n ? responseObj.kra_mode\r\n : 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 =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : 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 history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else {\r\n GlobalStore.isNormalClient = true;\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\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\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 history.push(containerUrl.dgLocker);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\r\n };\r\n\r\n const CacheFunction = (\r\n callBackFunction: Function,\r\n dob?: string,\r\n pan?: string\r\n ) => {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.Data);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.Data);\r\n history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\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 clientPartialDetails_ao.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\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 setIsLoading(false);\r\n } else {\r\n if (dob !== undefined && pan !== undefined) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n //\r\n }\r\n }\r\n } else {\r\n if (dob !== undefined && pan !== undefined) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n }\r\n },\r\n {\r\n uniqueID: GlobalStore?.applicationID,\r\n key: `AOPDROPOFF-${GlobalStore?.applicationID}`,\r\n }\r\n );\r\n };\r\n async function getClientStageDetails(\r\n res: any,\r\n dematAccountFoundLocaL?: any,\r\n addressRejctedFound?: any\r\n ) {\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\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound,\r\n addressRejctedFound\r\n );\r\n GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\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 console.log(\"responseObj\", responseObj);\r\n GlobalStore.pennyDropCount = responseObj.pennydropcount;\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 clientPartialDetails_ao.mobile = responseObj?.mobileno;\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n clientPartialDetails_ao.dob = GlobalStore.stageStatus.dob; //moment(values.dob).format(\"DD/MM/YYYY\");\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n clientPartialDetails_ao.pennyDropCount = GlobalStore.pennyDropCount;\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n if (date !== null && date !== undefined && ageCalculator(date) > 60) {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n } else {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n }\r\n }\r\n if (addressRejctedFound !== null && addressRejctedFound !== undefined) {\r\n let personalInfoIndex = GlobalStore.leftNavBarState.findIndex(\r\n (item) => item.name == \"Personal Documents\"\r\n );\r\n GlobalStore.leftNavBarState[personalInfoIndex].isComplete = false;\r\n }\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\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 (responseObj.bpm_pd_status == 2 && addressRejctedFound) {\r\n history.push(dashboardUrl.personalIfo);\r\n return;\r\n }\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 (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.esignsubmit);\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 CacheFunction(\r\n () => {\r\n alert(\r\n \"Please restart/continue with your Account Opening process\"\r\n );\r\n history.push(containerUrl.registration);\r\n },\r\n responseObj?.dob,\r\n panValue\r\n );\r\n return;\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 (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n let userId = \"0\";\r\n //console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n if (userId !== \"0\" && responseObj?.auth_ver) {\r\n if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj?.auth_ver &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n )\r\n history.push(containerUrl.kycsubmit);\r\n }\r\n return;\r\n } else {\r\n if (\r\n responseObj.bpm_pd_status === 1 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.submit);\r\n return;\r\n } else {\r\n history.push(dashboardUrl.authenticate);\r\n return;\r\n }\r\n }\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (\r\n responseObj?.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.submit);\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\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\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\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 searchLeadByName();\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 { setStageData, utmDurationInfoObj } from \"../Services/globalService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { NewLineKind } from \"typescript\";\r\nimport NewSelfie from \"./NewSelfie\";\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\nexport interface IQueryObject {\r\n PanNo?: string;\r\n AccountCategory?: string;\r\n userid?: number;\r\n}\r\nconst Selfie = () => {\r\n const queryParams = useQuery();\r\n const [esignGenerated, setEsignGenerated] = React.useState(false);\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n // const accountCategory =\r\n // queryParams.get(\"accountCategory\") !== null &&\r\n // queryParams.get(\"accountCategory\") !== undefined &&\r\n // queryParams.get(\"accountCategory\") !== \"\"\r\n // ? queryParams.get(\"accountCategory\")\r\n // : \"\";\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 let userId = 0;\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [isSdkSelfie, setIsSdkSelfie] = useState(true);\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 const [createdby, setCreatedBy] = React.useState(0);\r\n let base64String: string;\r\n let saveDetails: saveDocumentObj[] = [];\r\n\r\n useEffect(() => {\r\n if (id) {\r\n let panObj: any = atob(id),\r\n panObjFound: boolean = false;\r\n if (\r\n typeof panObj == \"string\" &&\r\n panObjFound == false &&\r\n !panObj?.includes(\"PanNo\")\r\n ) {\r\n AGetClientDetailsByPan(searchByPan, panObj, 1, 0);\r\n } else {\r\n panObj = JSON.parse(atob(id)) as IQueryObject;\r\n console.log(\"pan\", panObj?.PanNo);\r\n let accountCategoryNo = 1;\r\n if (\r\n panObj !== undefined &&\r\n panObj?.userid !== null &&\r\n panObj?.userid !== undefined\r\n ) {\r\n userId = panObj?.userid;\r\n setCreatedBy(panObj?.userid);\r\n }\r\n if (\r\n panObj?.AccountCategory !== \"\" &&\r\n panObj?.AccountCategory !== undefined &&\r\n panObj?.AccountCategory !== null\r\n ) {\r\n accountCategoryNo = parseInt(panObj?.AccountCategory);\r\n }\r\n if (panObj?.PanNo)\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.PanNo,\r\n accountCategoryNo,\r\n panObj?.userid\r\n );\r\n }\r\n }\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n console.log(\"Use effect called\");\r\n if (!isSdkSelfie) {\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 }\r\n\r\n // intiateCamera();\r\n }, []);\r\n const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n setEsignGenerated(true);\r\n }\r\n return disabled;\r\n };\r\n React.useEffect(() => {\r\n if (!isSdkSelfie) {\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 }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission, isSdkSelfie]);\r\n\r\n React.useEffect(() => {\r\n // initiateCamera();\r\n if (lat && long && !isSdkSelfie) {\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, isSdkSelfie]);\r\n\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((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: true,\r\n };\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: false,\r\n };\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: true,\r\n };\r\n });\r\n setErrCode(res.data.Message);\r\n }\r\n setIsLoading(false);\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 GlobalStore.location = {\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 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 GlobalStore.location = {\r\n lat: data.coordinates.lat,\r\n long: data.coordinates.lng,\r\n };\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 GlobalStore.location = {\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 };\r\n\r\n function saveIPVerification(data: any, uploadObj: saveDocumentObj, res: any) {\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 source: \"Selfie\",\r\n createdBy: createdby !== null ? createdby : userId,\r\n };\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response, uploadObj, res),\r\n ipvObj\r\n );\r\n }\r\n\r\n const iPVerificationSaved = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n prevres: any\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 || ERR146\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR146-S\",\r\n });\r\n setIsLoading(false);\r\n //uploadObj.fileName = prevres.data.Guid;\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 //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 if (!isSdkSelfie) {\r\n getLocation();\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n AGetStageCompletionStatus((res: any) => {\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 setStageData(responseObj);\r\n if (\r\n responseObj?.first_esign_initiated !== null &&\r\n responseObj?.first_esign_initiated !== undefined &&\r\n responseObj?.first_esign_initiated\r\n ) {\r\n setEsignGenerated(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 }, GlobalStore.applicationID);\r\n setIsLoading(false);\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 setStageData(responseObj);\r\n if (\r\n responseObj?.first_esign_initiated !== null &&\r\n responseObj?.first_esign_initiated !== undefined &&\r\n responseObj?.first_esign_initiated\r\n ) {\r\n setEsignGenerated(true);\r\n }\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 HandleNewSDKSelfieRes = (data: any) => {\r\n if (data && data.errMsg) {\r\n setBrowserPermission(true);\r\n } else if (data.is_valid == \"1\" && data.Latitude && data.Longitude) {\r\n // setIsLoading(true);\r\n const new_File = new File(\r\n [Blob as unknown as BlobPart],\r\n \"personalPhoto.jpeg\",\r\n {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n }\r\n );\r\n\r\n setHasPhoto(true);\r\n\r\n let base64 = data?.cropped_image;\r\n base64String = base64;\r\n setPhotoObj((prev: any) => {\r\n return {\r\n ...prev,\r\n base64: base64String,\r\n imgUrl: `data:image/jpeg;base64, ${base64}`,\r\n };\r\n });\r\n // data.Country=\"ID\";\r\n if (data?.Country && data?.Country.toLowerCase() == \"india\") {\r\n setErrCode(\"\");\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n checkPhotoLiveness: false,\r\n });\r\n if (\r\n data?.Latitude !== null &&\r\n data?.Longitude !== null &&\r\n data?.Latitude !== undefined &&\r\n data?.Longitude !== undefined\r\n ) {\r\n setLat(data.Latitude);\r\n setLong(data.Longitude);\r\n } else {\r\n if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\r\n ) {\r\n setLat(GlobalStore?.location?.lat);\r\n setLong(GlobalStore?.location?.long);\r\n } \r\n // else {\r\n // setErrCode(\r\n // errCode\r\n // ? errCode\r\n // : \" \" +\r\n // \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\r\n // );\r\n // }\r\n }\r\n } else {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n\r\n setErrCode(\r\n errCode\r\n ? errCode\r\n : \" \" +\r\n \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\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((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: true,\r\n };\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((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: false,\r\n };\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: true,\r\n };\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 console.log(\"lat\", lat);\r\n console.log(\"long\", long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined) {\r\n setIsLoading(true);\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 photoObj.documentCategoryId = \"1\";\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 saveDetails.push(savePhotoObj);\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 };\r\n\r\n const selfie = true;\r\n const photoUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: photoObj.base64,\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\r\n );\r\n saveIPVerification({ coords: {} }, savePhotoObj, undefined);\r\n } else {\r\n setErrCode(\"Error in uploading the file...\");\r\n }\r\n } else {\r\n setsShowBrowserPermissionModal(true);\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 !== null && res.data) {\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 // 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(() => 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\r\n console.log(\r\n \"hasPhoto\",\r\n !hasPhoto,\r\n isGeoError,\r\n liveLocationCheck.checkPhotoLiveness,\r\n liveLocationCheck.checkLocation\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 {isSdkSelfie ? (\r\n <>\r\n {\r\n HandleNewSDKSelfieRes(data);\r\n }}\r\n onFailedToOpenSdk={setIsSdkSelfie}\r\n />\r\n {photoObj.base64 && (\r\n
\r\n \"photograph\"\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 \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 {esignGenerated && (\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\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\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\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\nimport CacheBuster from \"react-cache-buster\";\r\n\r\nconst ReactZenDeskChat = require(\"@inlightmedia/react-zendesk-chat\").default;\r\n\r\nconst enable_CacheBuster =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? true\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? false\r\n : process.env.REACT_APP_ENV === \"uat\"\r\n ? true\r\n : true;\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 const [panPageFlag, setPanPageFlag] = React.useState(false);\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 wzrk.src =\r\n (\"https:\" == document.location.protocol\r\n ? \"https://d2r1yp2w7bby2u.cloudfront.net\"\r\n : \"http://static.clevertap.com\") + \"/js/clevertap.min.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 useEffect(() => {\r\n console.log(window.location.href, \"Location\", window.location.pathname);\r\n if (\r\n window.location.pathname == \"/marketing\" ||\r\n window.location.pathname == \"/pan\"\r\n ) {\r\n console.log(\"chattext condition match\");\r\n setPanPageFlag(true);\r\n } else {\r\n setPanPageFlag(false);\r\n }\r\n }, [window.location.href]);\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 } //If not pass, nothing appears at the time of new version check.\r\n metaFileDirectory={\".\"} //If public assets are hosted somewhere other than root on your server.\r\n >\r\n \r\n {/* */}\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\n
\r\n
\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":""}