{"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","getAMLDetails","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","getAMLDetailsMapping","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","AgetAMLDetails","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","apiCallLoadingState","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","handleCreateUcc","oldMobile","oldEmail","isMobileVerify","isEmailVerify","requestStage","leadSource","isPanVerify","isConfirmedUcc","checkDisableForm","hideEmailVerifyButton","hideMobileVerifyButton","showEmailField","showMobileField","esignDocumentType","AGetRMEsignUrlDetails","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.962fa7e0.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 getAMLDetails:\"getAMLDetails\",\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.getAMLDetails:\r\n result = getAMLDetailsMapping(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 getAMLDetailsMapping(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\nexport const AgetAMLDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/Traq\",\r\n body: {\r\n applicationId: applicationid,\r\n \r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAMLDetails,\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\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 AgetAMLDetails,\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\n apiCallLoadingState?:boolean\r\n}\r\nlet intervalTimer: any;\r\nconst ESignForm: 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 [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 { AgetAMLDetails, 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 setIsLoading(true);\r\n checkPendingModules();\r\n dropOffObj();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"10\");\r\n AgetAMLDetails(\r\n (res: any) => {\r\n setTimeout(() => {\r\n setIsLoading(false);\r\n }, 0);\r\n },\r\n GlobalStore.applicationID\r\n )\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 { AgetAMLDetails, 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 \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 setIsLoading(true);\r\n AgetAMLDetails(\r\n (res: any) => {\r\n setIsLoading(false);\r\n },\r\n GlobalStore.applicationID\r\n );\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n }\r\n } else {\r\n setErrCode(\"1182 - Error in fetching Client details from our system.\");\r\n setIsLoading(false);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148-S\",\r\n // });\r\n }\r\n }\r\n };\r\n 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 let date = moment(responseObj?.dob, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\");\r\n setDob(date);\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.status) {\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 (\r\n props?.isKRA !== null &&\r\n props?.isKRA !== undefined &&\r\n props?.isKRA === false\r\n ){\r\n getRMAssitedEsignLink();\r\n }\r\n if (req?.data !== null) {\r\n if (props?.isKRA) {\r\n history.replace(containerUrl.esignsubmit);\r\n setIsLoading(false);\r\n }else{\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n }, reaObj);\r\n };\r\n const handleCreateUcc = () => {\r\n setIsLoading(true);\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 isConfirmedUcc:\r\n uccCode == \"\" || uccCode == undefined || uccCode == null ? false : true,\r\n };\r\n\r\n CreateUCCRegCode((req: any) => {\r\n if (!req.status) {\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 updateStageStatus();\r\n }\r\n }, reqObj);\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 handleCreateUcc();\r\n //AEmailUpdate();\r\n \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 if (personalInfoIndex > -1) {\r\n GlobalStore.leftNavBarState[personalInfoIndex].isComplete = false;\r\n }\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":""}