{"version":3,"file":"static/js/35.01153a88.chunk.js","mappings":"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","sources":["shared/constants/kycTypes.tsx","shared/constants/kycValues.tsx","shared/constants/countryTypes.tsx","i18n.ts","shared/constants/cookieTypes.tsx","shared/utils/helpers.tsx","auth/services/auth.service.ts","shared/contexts/auth.tsx","shared/pages/NotFoundPage.tsx","shared/components/BoxInfo.tsx","shared/pages/ErrorFallbackPage.tsx","shared/constants/signingTypes.tsx","original/utils/helpers.ts","shared/AppInsight.tsx","auth/utils/auth-util.ts","shared/constants/routes.tsx","shared/services/customerDataApiService.ts","shared/hooks/useApplicationData.ts","img/icons/download-interface-bronze.svg","img/icons/upload-document.svg","shared/components/DropZone.tsx","shared/components/ReadMore.tsx","shared/components/SortingArrows.tsx","shared/hooks/useStateWithSessionStorage.tsx","shared/services/appConfigurationService.tsx","shared/contexts/azureAppConfig.tsx","shared/components/PrivateRoute.tsx","shared/components/Heading.tsx","shared/components/Spinners.tsx","shared/components/Tooltip.tsx","shared/components/modals/IdleTimeOutModal.tsx","shared/constants/formTypes.tsx","shared/constants/documentTypes.tsx","original/constants/enums/LoanType.tsx","shared/DevTests/DeveloperTesting.tsx","shared/services/idleTimerService.tsx","shared/constants/identificationTypes.tsx","selfServicePortal/constants/routes.ts","shared/components/MaintenanceWindow/MaintenanceWindow.tsx","shared/contexts/MaintenanceContext.tsx","auth/utils/authHelpers.tsx","auth/components/loginBlocks/GermanyOtp.tsx","auth/components/loginBlocks/NorwegianBankIdContentBlock.tsx","shared/formBuilder/formWrapper.tsx","original/formBuilder/forms/depositInformationForm.tsx","shared/formBuilder/forms/pepInformationFormDE_NO.tsx","original/formBuilder/forms/pepInformationForm.tsx","original/formBuilder/forms/pepInformationBalticForm.tsx","original/formBuilder/forms/loanInformationForm.tsx","shared/formBuilder/forms/setPasswordIdCheckForm.tsx","shared/formBuilder/forms/contactForm.tsx","original/formBuilder/forms/loanInformationFormFi.tsx","original/formBuilder/forms/loanInformationFormEe.tsx","original/formBuilder/forms/loanInformationFormLv.tsx","original/formBuilder/forms/loanInformationFormLt.tsx","original/formBuilder/forms/depositInformationFormFi.tsx","shared/formBuilder/forms/depositInformationFormNo.tsx","shared/formBuilder/forms/customerInformationFormSddDE_AT.tsx","shared/formBuilder/forms/cashToAccountFormDe.tsx","auth/formBuilder/forms/otpStartFormEs.tsx","auth/formBuilder/forms/otpCompleteForm.tsx","shared/formBuilder/forms/depositInformationFormDe.tsx","shared/formBuilder/formFactory.tsx","shared/utils/dateAndTimeHelpers.tsx","auth/components/loginBlocks/spainOtp/spainOtpContentBlock.tsx","auth/constants/termsAndConditions/termsAndConditionsBlock.tsx","auth/components/loginBlocks/idCard/idCardContentBlock.tsx","original/utils/validations/phoneValidator.ts","original/utils/validations/estonia/estonian-ssn.ts","original/utils/validations/ssnValidator.ts","original/utils/validations/lithuania/lithuanian-ssn.ts","original/utils/validations/sweden/sweden-ssn.ts","original/utils/validations/latvia/latvia-ssn.ts","auth/components/loginBlocks/smartId/smartIdContentBlock.tsx","auth/components/loginBlocks/mobileId/mobileIdAuthBlock.tsx","auth/components/loginBlocks/balticOtp/balticOtpContentBlock.tsx","auth/components/loginBlocks/EParakstsContentBlock.tsx","auth/components/loginBlocks/bankIdSe/bankIdSeAutoStartBlock.tsx","auth/components/loginBlocks/bankIdSe/qrCodeBlock.tsx","auth/components/loginBlocks/bankIdSe/bankIdSeQRContentBlock.tsx","auth/constants/authMethods.tsx","shared/Axios/Interceptors/Interceptors.tsx","auth/services/authenticationService.ts","selfServicePortal/containers/Home/NorwegianBankIdCallbackPage.tsx","img/tf-logos/tfbank21-logo-white.svg","selfServicePortal/services/axios.ts","selfServicePortal/services/DepositServices/getDepositTransactionsService.ts","selfServicePortal/services/CreditCardServices/getTransactionsService.ts","selfServicePortal/contexts/TransactionsContext.tsx","selfServicePortal/contexts/SspContext.tsx","selfServicePortal/hooks/useTransactions.tsx","selfServicePortal/components/Transactions/SeeAll/SeeAll.tsx","selfServicePortal/components/Transactions/Select/Select.tsx","selfServicePortal/components/Transactions/CardItem/CardItem.tsx","selfServicePortal/components/Table/Table.tsx","selfServicePortal/components/Transactions/Map/Map.tsx","selfServicePortal/components/Transactions/CardTransactions/CardTransactions.tsx","selfServicePortal/containers/Home/Account/DepositTransactions/MobileTransactions/MobileTransactions.tsx","selfServicePortal/containers/Home/Account/DepositTransactions/DepositTransactions.tsx","selfServicePortal/components/Transactions/SkeletonLoader/SkeletonLoader.tsx","selfServicePortal/components/Transactions/Transactions.tsx","original/constants/enums/ToggleTypes.tsx","shared/components/modals/KycSharedModal/KycModal.tsx","selfServicePortal/interfaces/i-api-support.ts","selfServicePortal/containers/Home/Account/Overview/CardOverview/useCardImage.tsx","shared/components/modals/InformationModal/components/ModalBody.tsx","shared/components/modals/InformationModal/components/ModalFooter.tsx","shared/components/modals/InformationModal/components/ModalHeader.tsx","shared/components/modals/InformationModal/InformationModal.tsx","selfServicePortal/hooks/useSspContext.ts","selfServicePortal/containers/Home/Account/Overview/CardOverview/CardOverview.tsx","selfServicePortal/containers/Home/Account/Overview/DepositOverview/InfoBox/InfoBox.tsx","selfServicePortal/containers/Home/Account/Overview/DepositOverview/DepositOverview.tsx","selfServicePortal/containers/Home/Account/Overview/Overview.tsx","selfServicePortal/interfaces/i-api-creaditCard.ts","selfServicePortal/services/CreditCardServices/getAccountStatementService.ts","selfServicePortal/services/CreditCardServices/getAccountStatementsService.ts","selfServicePortal/services/DepositServices/getDepositAccountStatementsService.ts","selfServicePortal/services/DepositServices/getDepositAccountStatementService.ts","selfServicePortal/interfaces/i-api-customer.ts","selfServicePortal/containers/Home/Account/PaymentInformation/PaymentInformation.tsx","img/icons/contract-bronze.svg","img/icons/contract-bronze-2.svg","img/icons/hand-gray.svg","img/icons/standards-bronze.svg","selfServicePortal/containers/Home/Account/Terms/termsConstants.ts","selfServicePortal/services/CustomerServices/SspTermsService.ts","selfServicePortal/containers/Home/Account/Terms/Terms.tsx","selfServicePortal/services/SupportServices/sendEmailSspService.ts","shared/constants/countryValueTypes.ts","selfServicePortal/containers/Home/CustomerService/Contact/Contact.tsx","selfServicePortal/services/CreditCardServices/getPinUrlService.ts","selfServicePortal/containers/Home/Cardservice/ShowPin/ShowPin.tsx","selfServicePortal/services/CustomerServices/updateCustomerService.ts","shared/formBuilder/forms/customerInformationForm.tsx","selfServicePortal/containers/Home/Account/MyAccountNo/MyAccountNo.tsx","selfServicePortal/components/Stepper/stepper.tsx","selfServicePortal/components/Stepper/use-stepper.ts","shared/formBuilder/forms/customerInformationFormDE_AT.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressForm.tsx","selfServicePortal/services/CustomerServices/updateUserService.ts","img/icons/smartphone.svg","selfServicePortal/utils/index.ts","img/icons/mail.svg","shared/components/Multistep.tsx","selfServicePortal/services/CreditCardServices/sddService.ts","selfServicePortal/interfaces/i-api-sdd.ts","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDCustomerInformationForm.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDTermsAndConditions.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthError.tsx","img/auth-and-sign-icons/email-active.svg","img/auth-and-sign-icons/email-inactive.svg","img/auth-and-sign-icons/sms-active.svg","img/auth-and-sign-icons/sms-inactive.svg","img/auth-and-sign-icons/mobileapp-active.svg","img/auth-and-sign-icons/mobileapp-inactive.svg","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthSelectButtons.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthentication.tsx","img/document-icons/download-interface-cream.svg","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDSuccessResponse.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/SDDMultistepValues.tsx","selfServicePortal/containers/Home/Account/SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthValidation.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressSecurityCode.tsx","img/icons/done.svg","selfServicePortal/components/OtpInput/OtpInput.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressOtp.tsx","img/icons/wrong.svg","selfServicePortal/components/ui/Screen/index.tsx","selfServicePortal/components/ui/Card/index.tsx","selfServicePortal/components/Message/Message.tsx","selfServicePortal/containers/Home/Account/MyAccount/Success.tsx","selfServicePortal/containers/Home/Account/MyAccount/AddressChange/AddressChange.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailForm.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailOtp.tsx","selfServicePortal/containers/Home/Account/MyAccount/EmailChange/EmailChange.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneForm.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneOtp.tsx","selfServicePortal/containers/Home/Account/MyAccount/PhoneChange/PhoneChange.tsx","selfServicePortal/components/FormInfo/FormInfo.tsx","selfServicePortal/containers/Home/Account/MyAccount/Info/Info.tsx","selfServicePortal/services/CustomerServices/getContactChangeStatusService.ts","selfServicePortal/containers/Home/Account/MyAccount/MyAccount.tsx","selfServicePortal/containers/Home/CustomerService/FrequentlyAskedQuestions/Faq.tsx","selfServicePortal/containers/Home/Account/AnnualReport/MobileAnnualReport/MobileAnnualReport.tsx","selfServicePortal/services/CreditCardServices/getAnnualReportService.ts","selfServicePortal/containers/Home/Account/AnnualReport/AnnualReport.tsx","selfServicePortal/services/CreditCardServices/orderNewCardService.ts","selfServicePortal/services/CreditCardServices/updateCardStatusService.ts","selfServicePortal/containers/Home/Cardservice/ActivateLockCard/ActivateLockCard.tsx","selfServicePortal/components/FancyNumber/index.tsx","selfServicePortal/services/LimitService/decreaseLimit.ts","img/error-icons/red-error-exclamationmark.svg","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Dropdown/Dropdown.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Switcher/Switcher.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Forminput/FormInput.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/FormComponents/Checkbox/Checkbox.tsx","selfServicePortal/components/ui/Spinner/index.tsx","selfServicePortal/components/ui/Button/index.tsx","selfServicePortal/services/LimitService/increaseLimit.ts","selfServicePortal/utils/zodHelpers.ts","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/IncreaseLimitForm.tsx","selfServicePortal/containers/Home/Cardservice/ChangeCreditLimit/ChangeCreditLimit.tsx","selfServicePortal/containers/Home/Account/Withdrawal/WithdrawalNo.tsx","selfServicePortal/containers/Home/Account/ReferFriends/GeneratedLinkBox/GeneratedLinkBox.tsx","selfServicePortal/containers/Home/Account/ReferFriends/GenerateBtnBox/GenerateBtnBox.tsx","selfServicePortal/services/ReferalLink/CreateReferalLinkService.ts","selfServicePortal/services/ReferalLink/GetReferalLinkService.ts","selfServicePortal/services/ReferalLink/GetReferalLinkFriendsService.ts","selfServicePortal/containers/Home/Account/ReferFriends/ReferFriends.tsx","selfServicePortal/containers/Home/Account/SDD/SDDDisableModal.tsx","selfServicePortal/containers/Home/Account/SDD/SDDOverview.tsx","selfServicePortal/containers/Home/Account/SDD/sepaDirectDebit.tsx","selfServicePortal/services/CreditCardServices/setPasswordIdCheckService.ts","selfServicePortal/containers/Home/Cardservice/SetPasswordIdCheck.tsx","selfServicePortal/components/ui/Input/index.tsx","selfServicePortal/containers/Home/Account/Withdrawal/WithdrawalDe/WithdrawalDe.tsx","selfServicePortal/services/DepositServices/getAssetsService.ts","selfServicePortal/services/DepositServices/createWithdrawalService.ts","selfServicePortal/services/CreditCardServices/updateAgreementConditionService.ts","selfServicePortal/containers/Home/Cardservice/PpiDe/index.tsx","selfServicePortal/containers/Home/Account/CashToAccount/StepTwo.tsx","selfServicePortal/services/CashToAccount/final.ts","selfServicePortal/components/ui/Dropdown/index.tsx","selfServicePortal/containers/Home/Account/CashToAccount/StepOne.tsx","selfServicePortal/services/CashToAccount/preliminary.ts","selfServicePortal/services/CreditCardServices/getIbans.ts","selfServicePortal/containers/Home/Account/CashToAccount/StepThree.tsx","selfServicePortal/containers/Home/Account/CashToAccount/CashToAccount.tsx","selfServicePortal/components/ui/Switch/index.tsx","selfServicePortal/services/CustomerServices/updateMarketingConsentService.ts","selfServicePortal/hooks/useUpdateMarketingConsent.ts","selfServicePortal/containers/Home/Account/MarketingConsent/MarketingConsent.tsx","selfServicePortal/constants/menuItems.tsx","selfServicePortal/services/CreditCardServices/getCreditCardDataService.ts","selfServicePortal/services/CustomerServices/getCustomerService.ts","selfServicePortal/services/DepositServices/getDepositDataService.ts","selfServicePortal/services/CreditCardServices/getAgreementHistoryService.ts","selfServicePortal/constants/countryValues.ts","shared/services/informationModalService.ts","shared/utils/informationModalToClientFormat.ts","selfServicePortal/hooks/useInformationModalService.ts","selfServicePortal/components/Footer/Footer.tsx","selfServicePortal/components/Menu/Menu.tsx","selfServicePortal/components/Header/HeaderSsp.tsx","selfServicePortal/components/Table/TableLegacy.tsx","selfServicePortal/components/Heading/Heading.tsx","selfServicePortal/components/AccordionItem/AccordionItem.tsx","shared/components/modals/OutOfServiceModal.tsx","selfServicePortal/components/DixaChatbot/DixaChatbot.tsx","selfServicePortal/containers/Home/StartPage.tsx","selfServicePortal/containers/LoginPage/LoginPage.tsx","selfServicePortal/containers/LogoutPage/LogoutPage.tsx","selfServicePortal/containers/LogoutPage/LogoutCallbackPage.tsx","img/tf-logos/logo-white.svg","selfServicePortal/containers/Applications/HeaderApplicationPage/HeaderApplicationPage.tsx","selfServicePortal/containers/Home/GermanyAuthentication.tsx","selfServicePortal/containers/Applications/CardApplicationPage/AppDownloadSection/AppDownloadSection.tsx","selfServicePortal/containers/Applications/CardApplicationPage/CardSection/CardSection.tsx","img/icons/idcard-front.svg","img/icons/idcard-back.svg","selfServicePortal/containers/Applications/CardApplicationPage/SignSection/UploadIdentification.tsx","selfServicePortal/containers/Applications/CardApplicationPage/SignSection/SignSection.tsx","selfServicePortal/containers/Applications/CardApplicationPage/UploadDocument/UploadDocument.tsx","selfServicePortal/containers/Applications/CardApplicationPage/CardApplicationPage.tsx","img/icons/error.svg","img/icons/Done Icon Large.svg","selfServicePortal/containers/RevokeContactChange/RevokeContactChange.tsx","selfServicePortal/containers/CallbackPage.tsx","selfServicePortal/containers/PaymentVerification/PaymentVerification.tsx","selfServicePortal/containers/Home/RootRoute.tsx","selfServicePortal/App.tsx"],"sourcesContent":["import appConfig from '../../app.config'\r\n\r\nexport const KycConstants = {\r\n\tApprovedIgnoredAttempts: getApprovedIgnoreAttemptsForCountry(),\r\n}\r\n\r\nfunction getApprovedIgnoreAttemptsForCountry() {\r\n\tswitch (appConfig.country) {\r\n\t\tdefault:\r\n\t\t\treturn 2\r\n\t}\r\n}\r\n\r\nexport enum PurposeOfDeposit {\r\n\tOther,\r\n\tInvestment,\r\n\tSavingForProperty,\r\n\tRenovation,\r\n\tPersonalEconomicSpace,\r\n\tNextInKin,\r\n\tRetirement,\r\n\tPrivateConsumption,\r\n}\r\n\r\nexport enum MoneySource {\r\n\tOther,\r\n\tIncome,\r\n\tSavings,\r\n\tOtherSavings,\r\n\tInvestments,\r\n\tInheritance,\r\n\tGift,\r\n\tSalesOfProperty,\r\n\tSalesOfVehicle,\r\n\tSalesOfCulture,\r\n\tSaleOfCompany,\r\n\tGambling,\r\n\tOtherBusiness,\r\n\tCapitalGains,\r\n\tInsuranceReimbursement,\r\n\tSocialInsuranceAllowance,\r\n\tDonation,\r\n}\r\n\r\nexport enum DepositOwner {\r\n\tUnspecified,\r\n\tOther,\r\n\tYes,\r\n\tYesGuardian,\r\n\tChildren,\r\n}\r\n\r\nexport enum OccupationType {\r\n\tOther,\r\n\tPermanent,\r\n\tPartTime,\r\n\tEntrepreneur,\r\n\tFixedTerm,\r\n\tPensioner,\r\n\tUnemployed,\r\n\tStudent,\r\n\tSickLeave,\r\n\tRetired,\r\n\tHousewife,\r\n\tTemporarilyEmployed,\r\n\tEmployedByHours,\r\n\tPublicServant,\r\n\tFarmer,\r\n\tTrainee,\r\n\tManager,\r\n}\r\n\r\nexport enum PurposeOfLoan {\r\n\tUnspecified,\r\n\tConsumption,\r\n\tDebtConsolidation,\r\n\tRenovation,\r\n\tHomeExpenses,\r\n\tHealthcare,\r\n\tTravel,\r\n\tPurchaseVehicle,\r\n\tOther,\r\n\tGambling,\r\n\tDonation,\r\n\tRealEstatePurchase,\r\n\tEducation,\r\n\tInvestmentInOwnCompany,\r\n\tBills,\r\n\tPrivateInvestment,\r\n\tHomeHouseExpenses\r\n}\r\n\r\nexport enum MissingKycValues {\r\n\tPurposeOfLoan = 'PurposeOfLoan',\r\n\tPEP = 'PEP',\r\n\tPurposeOfLoanOther = 'PurposeOfLoanOther',\r\n\tConnectedToPep = 'ConnectedToPep',\r\n}\r\n\r\nexport enum TaxCountry {\r\n\tNo,\r\n\tYes,\r\n\tYesOther,\r\n}\r\n\r\nexport enum BenificialOwner {\r\n\tYes,\r\n\tYesGuardian,\r\n\tNoOther,\r\n}\r\n\r\nexport enum MaritalStatus {\r\n\tUnknown = 'Unknown',\r\n\tSingle = 'Single',\r\n\tMarried = 'Married',\r\n\tDivorced = 'Divorced',\r\n\tWidow = 'Widow',\r\n\tCohabitee = 'Cohabitee',\r\n}\r\n\r\nexport enum AccommodationType {\r\n\tOther = 'Other',\r\n\tRenter = 'Renter',\r\n\tOwner = 'Owner',\r\n\tPartOwner = 'PartOwner',\r\n\tWithParents = 'WithParents',\r\n\tTenant = 'Tenant',\r\n\tPropertyOwnedByFamily = 'PropertyOwnedByFamily',\r\n}\r\n\r\nexport enum Education {\r\n\tUnspecified = 'Unspecified',\r\n\tBasic = 'Basic',\r\n\tHighSchool = 'HighSchool',\r\n\tUniversity = 'University',\r\n\tOther = 'Other',\r\n\tProfessEducation = 'ProfessEducation',\r\n}\r\n\r\nexport enum EmploymentSector {\r\n\tOther,\r\n\tAdministration,\r\n\tAgriculture,\r\n\tArt,\r\n\tGambling,\r\n\tBusiness,\r\n\tCulture,\r\n\tConstructionRealEstate,\r\n\tEducationScience,\r\n\tFinance,\r\n\tTourism,\r\n\tIndustryEnergy,\r\n\tPublicSector,\r\n\tHealth,\r\n\tSecurity,\r\n\tServices,\r\n\tTechnology,\r\n\tTechnician,\r\n\tTransport,\r\n\tStallHolder,\r\n\tLegalOrJudicial,\r\n}\r\n\r\nexport enum Gender {\r\n\tUnknown = 'Unknown',\r\n\tMale = 'Male',\r\n\tFemale = 'Female',\r\n}\r\n\r\nexport enum ChildrenAge {\r\n\tZeroToTwo,\r\n\tThreeToSix,\r\n\tSevenToTen,\r\n\tElevenToFourteen,\r\n\tFifteenToSeventeen,\r\n}\r\n\r\nexport enum PropertyType {\r\n\tOccupation = 'occupation',\r\n\tPurposeOfDeposit = 'purposeOfDeposit',\r\n\tMoneySource = 'moneySource',\r\n\tTaxCountry = 'taxCountry',\r\n\tExpectedDeposits = 'expectedDeposits',\r\n\tExpectedDepositsAmount = 'expectedDepositsAmount',\r\n\tExpectedWithdrawls = 'expectedWithdrawals',\r\n\tExpectedWithdrawlsAmount = 'expectedWithdrawalsAmount',\r\n\tIncome = 'income',\r\n\tDepositOwner = 'depositOwner',\r\n\tPurposeOfLoan = 'purposeOfLoan',\r\n\tMaritalStatus = 'maritalStatus',\r\n\tAccommodationType = 'accommodationType',\r\n\tEducation = 'education',\r\n\tEmploymentSector = 'employmentSector',\r\n}","import {\r\n\tDepositOwner,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tPurposeOfDeposit,\r\n\tPurposeOfLoan,\r\n\tAccommodationType,\r\n\tMaritalStatus,\r\n\tEducation,\r\n\tEmploymentSector,\r\n} from './kycTypes'\r\n\r\nexport const kycCurrenciesAndValues: IKycCurrencyAndValues[] = [\r\n\t{\r\n\t\tcurrency: 'DKK',\r\n\t\tcountry: 'dk',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001], // These numerical values are probably wrong, but no matter just now.\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\tpurposeOfLoan: [\r\n\t\t\tPurposeOfLoan.Consumption,\r\n\t\t\tPurposeOfLoan.DebtConsolidation,\r\n\t\t\tPurposeOfLoan.Renovation,\r\n\t\t\tPurposeOfLoan.HomeExpenses,\r\n\t\t\tPurposeOfLoan.Healthcare,\r\n\t\t\tPurposeOfLoan.Travel,\r\n\t\t\tPurposeOfLoan.PurchaseVehicle,\r\n\t\t\tPurposeOfLoan.Donation,\r\n\t\t\tPurposeOfLoan.RealEstatePurchase,\r\n\t\t\tPurposeOfLoan.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'fi',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.TemporarilyEmployed,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Savings,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SalesOfVehicle,\r\n\t\t\tMoneySource.SalesOfCulture,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t\tMoneySource.InsuranceReimbursement,\r\n\t\t\tMoneySource.SocialInsuranceAllowance,\r\n\t\t\tMoneySource.Other,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.PersonalEconomicSpace,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t\tpurposeOfLoan: [\r\n\t\t\tPurposeOfLoan.Consumption,\r\n\t\t\tPurposeOfLoan.DebtConsolidation,\r\n\t\t\tPurposeOfLoan.Renovation,\r\n\t\t\tPurposeOfLoan.HomeExpenses,\r\n\t\t\tPurposeOfLoan.Healthcare,\r\n\t\t\tPurposeOfLoan.Travel,\r\n\t\t\tPurposeOfLoan.PurchaseVehicle,\r\n\t\t\tPurposeOfLoan.Gambling,\r\n\t\t\tPurposeOfLoan.Donation,\r\n\t\t\tPurposeOfLoan.RealEstatePurchase,\r\n\t\t\tPurposeOfLoan.PrivateInvestment,\r\n\t\t\tPurposeOfLoan.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: 'SEK',\r\n\t\tcountry: 'se',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.EmployedByHours,\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.PersonalEconomicSpace,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t\tPurposeOfDeposit.Other,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.OtherSavings,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.InsuranceReimbursement,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SalesOfVehicle,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: 'NOK',\r\n\t\tcountry: 'no',\r\n\t\tincome: [200000, 450000, 700000, 1000000, 1000001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [200000, 500000, 1000000, 2000000],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [10000, 50000, 200000, 450000, 450001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Housewife,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Retired,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Investments,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.Gift,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.PersonalEconomicSpace,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'es',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Farmer,\r\n\t\t\tOccupationType.Housewife,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.SickLeave,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.PublicServant,\r\n\t\t\tOccupationType.Retired,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.PartTime,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t\teducation: [\r\n\t\t\tEducation.ProfessEducation,\r\n\t\t\tEducation.Basic,\r\n\t\t\tEducation.HighSchool,\r\n\t\t\tEducation.University,\r\n\t\t\tEducation.Other,\r\n\t\t],\r\n\t\temploymentSector: [\r\n\t\t\tEmploymentSector.Administration,\r\n\t\t\tEmploymentSector.Agriculture,\r\n\t\t\tEmploymentSector.Art,\r\n\t\t\tEmploymentSector.Finance,\r\n\t\t\tEmploymentSector.ConstructionRealEstate,\r\n\t\t\tEmploymentSector.Culture,\r\n\t\t\tEmploymentSector.EducationScience,\r\n\t\t\tEmploymentSector.PublicSector,\r\n\t\t\tEmploymentSector.IndustryEnergy,\r\n\t\t\tEmploymentSector.Gambling,\r\n\t\t\tEmploymentSector.LegalOrJudicial,\r\n\t\t\tEmploymentSector.Business,\r\n\t\t\tEmploymentSector.Technician,\r\n\t\t\tEmploymentSector.Health,\r\n\t\t\tEmploymentSector.Security,\r\n\t\t\tEmploymentSector.Services,\r\n\t\t\tEmploymentSector.Technology,\r\n\t\t\tEmploymentSector.Transport,\r\n\t\t\tEmploymentSector.Tourism,\r\n\t\t\tEmploymentSector.StallHolder,\r\n\t\t\tEmploymentSector.Other,\r\n\t\t],\r\n\t\tmaritalStatus: [\r\n\t\t\tMaritalStatus.Married,\r\n\t\t\tMaritalStatus.Divorced,\r\n\t\t\tMaritalStatus.Cohabitee,\r\n\t\t\tMaritalStatus.Single,\r\n\t\t\tMaritalStatus.Widow,\r\n\t\t],\r\n\t\taccommodationType: [\r\n\t\t\tAccommodationType.Renter,\r\n\t\t\tAccommodationType.Tenant,\r\n\t\t\tAccommodationType.WithParents,\r\n\t\t\tAccommodationType.Owner,\r\n\t\t\tAccommodationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'ee',\r\n\t\tincome: [700, 1800, 2999, 3000],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\tcurrency: '€',\r\n\t\tcountry: 'de',\r\n\t\tincome: [20000, 45000, 70000, 100000, 100001],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Student,\r\n\t\t\tOccupationType.TemporarilyEmployed,\r\n\t\t\tOccupationType.Housewife,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t],\r\n\t\tmoneySource: [\r\n\t\t\tMoneySource.Income,\r\n\t\t\tMoneySource.Inheritance,\r\n\t\t\tMoneySource.SalesOfProperty,\r\n\t\t\tMoneySource.Donation,\r\n\t\t\tMoneySource.SaleOfCompany,\r\n\t\t\tMoneySource.Gambling,\r\n\t\t\tMoneySource.OtherBusiness,\r\n\t\t\tMoneySource.CapitalGains,\r\n\t\t],\r\n\t\tpurposeOfDeposit: [\r\n\t\t\tPurposeOfDeposit.Renovation,\r\n\t\t\tPurposeOfDeposit.NextInKin,\r\n\t\t\tPurposeOfDeposit.SavingForProperty,\r\n\t\t\tPurposeOfDeposit.PersonalEconomicSpace,\r\n\t\t\tPurposeOfDeposit.PrivateConsumption,\r\n\t\t\tPurposeOfDeposit.Investment,\r\n\t\t\tPurposeOfDeposit.Retirement,\r\n\t\t],\r\n\t\tpurposeOfLoan: [\r\n\t\t\tPurposeOfLoan.Consumption,\r\n\t\t\tPurposeOfLoan.DebtConsolidation,\r\n\t\t\tPurposeOfLoan.Renovation,\r\n\t\t\tPurposeOfLoan.HomeExpenses,\r\n\t\t\tPurposeOfLoan.Healthcare,\r\n\t\t\tPurposeOfLoan.Travel,\r\n\t\t\tPurposeOfLoan.PurchaseVehicle,\r\n\t\t\tPurposeOfLoan.Gambling,\r\n\t\t\tPurposeOfLoan.Donation,\r\n\t\t\tPurposeOfLoan.RealEstatePurchase,\r\n\t\t\tPurposeOfLoan.PrivateInvestment,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'lt',\r\n\t\tincome: [700, 1200, 1800, 2500, 2501],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\t//should be investigated for values\r\n\t\tcurrency: 'EUR',\r\n\t\tcountry: 'lv',\r\n\t\tincome: [700, 1200, 1800, 2500, 2501],\r\n\t\texpectedDeposits: [5, 12, 24, 25],\r\n\t\texpectedDepositsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\texpectedWithdrawals: [5, 12, 24, 25],\r\n\t\texpectedWithdrawalsAmount: [1000, 5000, 20000, 45000, 45001],\r\n\t\toccupation: [\r\n\t\t\tOccupationType.Permanent,\r\n\t\t\tOccupationType.Pensioner,\r\n\t\t\tOccupationType.Unemployed,\r\n\t\t\tOccupationType.FixedTerm,\r\n\t\t\tOccupationType.Entrepreneur,\r\n\t\t\tOccupationType.Other,\r\n\t\t],\r\n\t},\r\n]\r\nexport interface IKycCurrencyAndValues {\r\n\tcurrency: string\r\n\tcountry: string\r\n\tincome: number[]\r\n\texpectedDeposits: number[]\r\n\texpectedDepositsAmount: number[]\r\n\texpectedWithdrawals: number[]\r\n\texpectedWithdrawalsAmount: number[]\r\n\toccupation?: OccupationType[]\r\n\tpurposeOfDeposit?: PurposeOfDeposit[]\r\n\tpurposeOfLoan?: PurposeOfLoan[]\r\n\tmoneySource?: MoneySource[]\r\n\tdepositOwner?: DepositOwner[]\r\n\tmaritalStatus?: MaritalStatus[]\r\n\taccommodationType?: AccommodationType[]\r\n\teducation?: Education[]\r\n\temploymentSector?: EmploymentSector[]\r\n}","export enum CountryCode {\r\n\tee = 'EST',\r\n\tse = 'SWE',\r\n\tfi = 'FIN',\r\n\tno = 'NOR',\r\n\tpl = 'POL',\r\n\tlt = 'LTU',\r\n\tlv = 'LVA',\r\n\tat = 'AUT',\r\n\tde = 'GER',\r\n\tdk = 'DNK',\r\n\tes = 'ESP',\r\n\tit = 'ITA',\r\n}\r\n\r\nexport enum Locale {\r\n\tee = 'et-EE',\r\n\tse = 'sv-SE',\r\n\ten = 'en-GB',\r\n\tlt = 'lt-LT',\r\n\tlv = 'lv-LV',\r\n\tru = 'ru-RU',\r\n\tfi = 'fi-FI',\r\n\tdk = 'da-DK',\r\n\tes = 'es-ES',\r\n\tit = 'it-IT',\r\n}\r\n\r\nexport enum NationalityType {\r\n\tUnknown = 'Unknown',\r\n\tGerman = 'German',\r\n\tEU = 'EU',\r\n\tNonEU = 'NonEU',\r\n}\r\n\r\nexport enum CountryA3 {\r\n\tde = 'DEU',\r\n\tat = 'AUT',\r\n\tfi = 'FIN',\r\n\tee = 'EST',\r\n\tse = 'SWE',\r\n\tno = 'NOR',\r\n\tpl = 'POL',\r\n\tlt = 'LTU',\r\n\tlv = 'LVA',\r\n\tdk = 'DNK',\r\n\tes = 'ESP',\r\n\tit = 'ITA',\r\n}\r\n\r\nexport enum AllCountries {\r\n\tAD = 'Andorra',\r\n\tAE = 'UnitedArabEmirates',\r\n\tAF = 'Afghanistan',\r\n\tAG = 'AntiguaAndBarbuda',\r\n\tAI = 'Anguilla',\r\n\tAL = 'Albania',\r\n\tAM = 'Armenia',\r\n\tAN = 'NetherlandsAntilles',\r\n\tAO = 'Angola',\r\n\tAQ = 'Antarctica',\r\n\tAR = 'Argentina',\r\n\tAS = 'AmericanSamoa',\r\n\tAT = 'Austria',\r\n\tAU = 'Australia',\r\n\tAW = 'Aruba',\r\n\tAZ = 'Azerbaijan',\r\n\tBA = 'BosniaAndHerzegovina',\r\n\tBB = 'Barbados',\r\n\tBD = 'Bangladesh',\r\n\tBE = 'Belgium',\r\n\tBF = 'BurkinaFaso',\r\n\tBG = 'Bulgaria',\r\n\tBH = 'Bahrain',\r\n\tBI = 'Burundi',\r\n\tBJ = 'Benin',\r\n\tBM = 'Bermuda',\r\n\tBN = 'BruneiDarussalam',\r\n\tBO = 'Bolivia',\r\n\tBR = 'Brazil',\r\n\tBS = 'Bahamas',\r\n\tBT = 'Bhutan',\r\n\tBV = 'BouvetIsland',\r\n\tBW = 'Botswana',\r\n\tBY = 'Belarus',\r\n\tBZ = 'Belize',\r\n\tCA = 'Canada',\r\n\tCC = 'CocosKeelingIslands',\r\n\tCF = 'CentralAfricanRepublic',\r\n\tCG = 'Congo',\r\n\tCH = 'Switzerland',\r\n\tCI = 'IvoryCoast',\r\n\tCK = 'CookIslands',\r\n\tCL = 'Chile',\r\n\tCM = 'Cameroon',\r\n\tCN = 'China',\r\n\tCO = 'Colombia',\r\n\tCR = 'CostaRica',\r\n\tCU = 'Cuba',\r\n\tCV = 'CapeVerde',\r\n\tCX = 'ChristmasIsland',\r\n\tCY = 'Cyprus',\r\n\tCZ = 'CzechRepublic',\r\n\tDE = 'Germany',\r\n\tDJ = 'Djibouti',\r\n\tDK = 'Denmark',\r\n\tDM = 'Dominica',\r\n\tDO = 'DominicanRepublic',\r\n\tDZ = 'Algeria',\r\n\tEC = 'Ecuador',\r\n\tEE = 'Estonia',\r\n\tEG = 'Egypt',\r\n\tEH = 'WesternSahara',\r\n\tER = 'Eritrea',\r\n\tES = 'Spain',\r\n\tET = 'Ethiopia',\r\n\tFI = 'Finland',\r\n\tFJ = 'Fiji',\r\n\tFK = 'FalklandIslands',\r\n\tFM = 'Micronesia',\r\n\tFO = 'FaroeIslands',\r\n\tFR = 'France',\r\n\tGA = 'Gabon',\r\n\tGB = 'UnitedKingdom',\r\n\tGD = 'Grenada',\r\n\tGE = 'Georgia',\r\n\tGF = 'FrenchGuiana',\r\n\tGH = 'Ghana',\r\n\tGI = 'Gibraltar',\r\n\tGL = 'Greenland',\r\n\tGM = 'Gambia',\r\n\tGN = 'Guinea',\r\n\tGP = 'Guadeloupe',\r\n\tGQ = 'EquatorialGuinea',\r\n\tGR = 'Greece',\r\n\tGS = 'SouthGeorgiaAndSandwichIsl',\r\n\tGT = 'Guatemala',\r\n\tGU = 'Guam',\r\n\tGW = 'GuineaBissau',\r\n\tGY = 'Guyana',\r\n\tHK = 'HongKong',\r\n\tHM = 'HeardIslandMcdonaldIslands',\r\n\tHN = 'Honduras',\r\n\tHR = 'Croatia',\r\n\tHT = 'Haiti',\r\n\tHU = 'Hungary',\r\n\tID = 'Indonesia',\r\n\tIE = 'Ireland',\r\n\tIL = 'Israel',\r\n\tIN = 'India',\r\n\tIO = 'BritishIndianOceanTerritory',\r\n\tIQ = 'Iraq',\r\n\tIR = 'Iran',\r\n\tIS = 'Iceland',\r\n\tIT = 'Italy',\r\n\tJM = 'Jamaica',\r\n\tJO = 'Jordan',\r\n\tJP = 'Japan',\r\n\tKE = 'Kenya',\r\n\tKG = 'Kyrgyzstan',\r\n\tKH = 'Cambodia',\r\n\tKI = 'Kiribati',\r\n\tKM = 'Comoros',\r\n\tKN = 'SaintKittsAndNevis',\r\n\tKW = 'Kuwait',\r\n\tKY = 'CaymanIslands',\r\n\tKZ = 'Kazakhstan',\r\n\tLA = 'LaoPeoplesDemocraticRepublic',\r\n\tLB = 'Lebanon',\r\n\tLC = 'SaintLucia',\r\n\tLI = 'Liechtenstein',\r\n\tLK = 'SriLanka',\r\n\tLR = 'Liberia',\r\n\tLS = 'Lesotho',\r\n\tLT = 'Lithuania',\r\n\tLU = 'Luxembourg',\r\n\tLV = 'Latvia',\r\n\tLY = 'LibyanArabJamahiriya',\r\n\tMA = 'Morocco',\r\n\tMC = 'Monaco',\r\n\tMD = 'Moldova',\r\n\tME = 'Montenegro',\r\n\tMG = 'Madagascar',\r\n\tMH = 'MarshallIslands',\r\n\tMK = 'Macedonia',\r\n\tML = 'Mali',\r\n\tMM = 'Myanmar',\r\n\tMN = 'Mongolia',\r\n\tMO = 'Macao',\r\n\tMP = 'NorthernMarianaIslands',\r\n\tMQ = 'Martinique',\r\n\tMR = 'Mauritania',\r\n\tMS = 'Montserrat',\r\n\tMT = 'Malta',\r\n\tMU = 'Mauritius',\r\n\tMV = 'Maldives',\r\n\tMW = 'Malawi',\r\n\tMX = 'Mexico',\r\n\tMY = 'Malaysia',\r\n\tMZ = 'Mozambique',\r\n\tNA = 'Namibia',\r\n\tNC = 'NewCaledonia',\r\n\tNE = 'Niger',\r\n\tNF = 'NorfolkIsland',\r\n\tNG = 'Nigeria',\r\n\tNI = 'Nicaragua',\r\n\tNL = 'Netherlands',\r\n\tNO = 'Norway',\r\n\tNP = 'Nepal',\r\n\tNR = 'Nauru',\r\n\tNU = 'Niue',\r\n\tNZ = 'NewZealand',\r\n\tOM = 'Oman',\r\n\tPA = 'Panama',\r\n\tPE = 'Peru',\r\n\tPF = 'FrenchPolynesia',\r\n\tPG = 'PapuaNewGuinea',\r\n\tPH = 'Philippines',\r\n\tPK = 'Pakistan',\r\n\tPL = 'Poland',\r\n\tPM = 'SaintPierreAndMiquelon',\r\n\tPN = 'Pitcairn',\r\n\tPR = 'PuertoRico',\r\n\tPS = 'PalestinianTerritory',\r\n\tPT = 'Portugal',\r\n\tPW = 'Palau',\r\n\tPY = 'Paraguay',\r\n\tQA = 'Qatar',\r\n\tRE = 'Reunion',\r\n\tRO = 'Romania',\r\n\tRS = 'Serbia',\r\n\tRU = 'RussianFederation',\r\n\tRW = 'Rwanda',\r\n\tSA = 'SaudiArabia',\r\n\tSB = 'SolomonIslands',\r\n\tSC = 'Seychelles',\r\n\tSD = 'Sudan',\r\n\tSE = 'Sweden',\r\n\tSG = 'Singapore',\r\n\tSH = 'SaintHelena',\r\n\tSI = 'Slovenia',\r\n\tSJ = 'SvalbardAndJanMayen',\r\n\tSK = 'Slovakia',\r\n\tSL = 'SierraLeone',\r\n\tSM = 'SanMarino',\r\n\tSN = 'Senegal',\r\n\tSO = 'Somalia',\r\n\tSR = 'Suriname',\r\n\tST = 'SaoTomeAndPrincipe',\r\n\tSV = 'ElSalvador',\r\n\tSY = 'SyrianArabRepublic',\r\n\tSZ = 'Swaziland',\r\n\tTC = 'TurksAndCaicosIslands',\r\n\tTD = 'Chad',\r\n\tTF = 'FrenchSouthernTerritories',\r\n\tTG = 'Togo',\r\n\tTH = 'Thailand',\r\n\tTJ = 'Tajikistan',\r\n\tTK = 'Tokelau',\r\n\tTM = 'Turkmenistan',\r\n\tTN = 'Tunisia',\r\n\tTO = 'Tonga',\r\n\tTR = 'Turkey',\r\n\tTT = 'TrinidadAndTobago',\r\n\tTV = 'Tuvalu',\r\n\tTW = 'Taiwan',\r\n\tTZ = 'Tanzania',\r\n\tUA = 'Ukraine',\r\n\tUG = 'Uganda',\r\n\tUM = 'UnitedStatesOutlyingIslands',\r\n\tUS = 'UnitedStates',\r\n\tUY = 'Uruguay',\r\n\tUZ = 'Uzbekistan',\r\n\tVA = 'HolySeeVaticanCityState',\r\n\tVC = 'SaintVincentAndGrenadines',\r\n\tVE = 'Venezuela',\r\n\tVG = 'VirginIslandsBritish',\r\n\tVI = 'VirginIslandsUS',\r\n\tVN = 'Vietnam',\r\n\tVU = 'Vanuatu',\r\n\tWF = 'WallisAndFutuna',\r\n\tWS = 'Samoa',\r\n\tYE = 'Yemen',\r\n\tYT = 'Mayotte',\r\n\tZA = 'SouthAfrica',\r\n\tZM = 'Zambia',\r\n\tZW = 'Zimbabwe',\r\n}\r\n\r\nexport enum CustomerCountry {\r\n\tPL,\r\n\tEE,\r\n\tAF,\r\n\tAL,\r\n\tDZ,\r\n\tAS,\r\n\tAD,\r\n\tAO,\r\n\tAI,\r\n\tAQ,\r\n\tAG,\r\n\tAR,\r\n\tAM,\r\n\tAW,\r\n\tAU,\r\n\tAT,\r\n\tAZ,\r\n\tBS,\r\n\tBH,\r\n\tBD,\r\n\tBB,\r\n\tBY,\r\n\tBE,\r\n\tBZ,\r\n\tBJ,\r\n\tBM,\r\n\tBT,\r\n\tBO,\r\n\tBA,\r\n\tBW,\r\n\tBV,\r\n\tBR,\r\n\tIO,\r\n\tBN,\r\n\tBG,\r\n\tBF,\r\n\tBI,\r\n\tKH,\r\n\tCM,\r\n\tCA,\r\n\tCV,\r\n\tKY,\r\n\tCF,\r\n\tTD,\r\n\tCL,\r\n\tCN,\r\n\tCX,\r\n\tCC,\r\n\tCO,\r\n\tKM,\r\n\tCG,\r\n\tCK,\r\n\tCR,\r\n\tCI,\r\n\tHR,\r\n\tCU,\r\n\tCY,\r\n\tCZ,\r\n\tDK,\r\n\tDJ,\r\n\tDM,\r\n\tDO,\r\n\tTP,\r\n\tEC,\r\n\tEG,\r\n\tSV,\r\n\tGQ,\r\n\tER,\r\n\tET,\r\n\tFK,\r\n\tFO,\r\n\tFJ,\r\n\tFI,\r\n\tFR,\r\n\tGF,\r\n\tPF,\r\n\tTF,\r\n\tGA,\r\n\tGM,\r\n\tGE,\r\n\tDE,\r\n\tGH,\r\n\tGI,\r\n\tGR,\r\n\tGL,\r\n\tGD,\r\n\tGP,\r\n\tGU,\r\n\tGT,\r\n\tGN,\r\n\tGW,\r\n\tGY,\r\n\tHT,\r\n\tHM,\r\n\tVA,\r\n\tHN,\r\n\tHK,\r\n\tHU,\r\n\tIS,\r\n\tIN,\r\n\tID,\r\n\tIR,\r\n\tIQ,\r\n\tIE,\r\n\tIL,\r\n\tIT,\r\n\tJM,\r\n\tJP,\r\n\tJO,\r\n\tKZ,\r\n\tKE,\r\n\tKI,\r\n\tKP,\r\n\tKR,\r\n\tKW,\r\n\tKG,\r\n\tLA,\r\n\tLV,\r\n\tLB,\r\n\tLS,\r\n\tLR,\r\n\tLY,\r\n\tLI,\r\n\tLT,\r\n\tLU,\r\n\tMO,\r\n\tMK,\r\n\tMG,\r\n\tMW,\r\n\tMY,\r\n\tMV,\r\n\tML,\r\n\tMT,\r\n\tMH,\r\n\tMQ,\r\n\tMR,\r\n\tMU,\r\n\tYT,\r\n\tMX,\r\n\tFM,\r\n\tMD,\r\n\tMC,\r\n\tMN,\r\n\tMS,\r\n\tMA,\r\n\tMZ,\r\n\tMM,\r\n\tNA,\r\n\tNR,\r\n\tNP,\r\n\tNL,\r\n\tAN,\r\n\tNC,\r\n\tNZ,\r\n\tNI,\r\n\tNE,\r\n\tNG,\r\n\tNU,\r\n\tNF,\r\n\tMP,\r\n\tNO,\r\n\tOM,\r\n\tPK,\r\n\tPW,\r\n\tPA,\r\n\tPG,\r\n\tPY,\r\n\tPE,\r\n\tPH,\r\n\tPN,\r\n\tPT,\r\n\tPR,\r\n\tQA,\r\n\tRE,\r\n\tRO,\r\n\tRU,\r\n\tRW,\r\n\tKN,\r\n\tLC,\r\n\tVC,\r\n\tWS,\r\n\tSM,\r\n\tST,\r\n\tSA,\r\n\tSN,\r\n\tSC,\r\n\tSL,\r\n\tSG,\r\n\tSK,\r\n\tSI,\r\n\tSB,\r\n\tSO,\r\n\tZA,\r\n\tGS,\r\n\tES,\r\n\tLK,\r\n\tSH,\r\n\tPM,\r\n\tSD,\r\n\tSR,\r\n\tSJ,\r\n\tSZ,\r\n\tSE,\r\n\tCH,\r\n\tSY,\r\n\tTW,\r\n\tTJ,\r\n\tTZ,\r\n\tTH,\r\n\tTG,\r\n\tTK,\r\n\tTO,\r\n\tTT,\r\n\tTN,\r\n\tTR,\r\n\tTM,\r\n\tTC,\r\n\tTV,\r\n\tUG,\r\n\tUA,\r\n\tAE,\r\n\tGB,\r\n\tUS,\r\n\tUM,\r\n\tUY,\r\n\tUZ,\r\n\tVU,\r\n\tVE,\r\n\tVN,\r\n\tVG,\r\n\tVI,\r\n\tWF,\r\n\tEH,\r\n\tYE,\r\n\tZR,\r\n\tZM,\r\n\tZW,\r\n}\r\n\r\nexport enum CountryCodeMap{\r\n\tLT = 370,\r\n LV = 371,\r\n EE = 372,\r\n\tFI = 358,\r\n\tSE = 46,\r\n}\r\n\r\nexport enum BalticCountryCodePhonePrefix {\r\n LT = 370,\r\n LV = 371,\r\n EE = 372,\r\n\tFI = 358\r\n}\r\n","import i18n from 'i18next'\r\nimport { initReactI18next } from 'react-i18next'\r\nimport Backend from 'i18next-http-backend'\r\nimport LanguageDetector from 'i18next-browser-languagedetector'\r\nimport appConfig from './app.config'\r\nimport { Locale } from 'shared/constants/countryTypes'\r\n\r\nconst supportedLngs = WhiteListedLngs()\r\n\r\ni18n\r\n\t// load translation using xhr -> see /public/locales\r\n\t// learn more: https://github.com/i18next/i18next-xhr-backend\r\n\t.use(Backend)\r\n\t// detect user language\r\n\t// learn more: https://github.com/i18next/i18next-browser-languageDetector\r\n\t.use(LanguageDetector)\r\n\t// pass the i18n instance to react-i18next.\r\n\t.use(initReactI18next)\r\n\t// init i18next\r\n\t// for all options read: https://www.i18next.com/overview/configuration-options\r\n\t.init({\r\n\t\tsupportedLngs: supportedLngs,\r\n\t\tfallbackLng: false,\r\n\t\tlng: localStorage.getItem('i18nextLng') ?? supportedLngs[0] ?? 'en',\r\n\t\tdebug: process.env.NODE_ENV === 'development',\r\n\t\tinterpolation: {\r\n\t\t\tescapeValue: false, // not needed for react as it escapes by default\r\n\t\t},\r\n\t\tdetection: {\r\n\t\t\torder: [\r\n\t\t\t\t'localStorage',\r\n\t\t\t\t'htmlTag',\r\n\t\t\t\t'navigator',\r\n\t\t\t\t'path',\r\n\t\t\t\t'subdomain',\r\n\t\t\t\t'querystring',\r\n\t\t\t\t'cookie',\r\n\t\t\t],\r\n\t\t},\r\n\t\tbackend: {\r\n\t\t\trequestOptions: {\r\n\t\t\t\tcache: 'no-store',\r\n\t\t\t},\r\n\t\t},\r\n\t})\r\n\r\ni18n.on('languageChanged', (lng) => {\r\n\tconst mainLng = getMainLng(lng)\r\n\tdocument.documentElement.lang = getMainLng(\r\n\t\tLocale[mainLng as keyof typeof Locale],\r\n\t)\r\n})\r\n\r\nexport default i18n\r\n\r\n/*\r\n\tExtract the main language from the countrycode, (i.e 'en' from 'en-US')\r\n */\r\nexport function getMainLng(lng: string) {\r\n\tif (lng === undefined) return lng\r\n\r\n\treturn lng.split('-')[0]\r\n}\r\n\r\nfunction WhiteListedLngs() {\r\n\tconst lngs = Object.keys(appConfig.languages)\r\n\tconst variantLngs = lngs.filter((x) => x.includes('-'))\r\n\r\n\tvariantLngs.forEach((x) => {\r\n\t\tconst mainLng = getMainLng(x)\r\n\r\n\t\tif (!lngs.includes(mainLng)) lngs.push(mainLng)\r\n\t})\r\n\r\n\tlngs.push('common')\r\n\treturn lngs\r\n}\r\n\r\nexport enum TranslationFile {\r\n\tDropdown = 'dropdown',\r\n\tCommon = 'common',\r\n\tForms = 'forms',\r\n\tTranslation = 'translation',\r\n\tCountries = 'countries',\r\n\tLanguages = 'languages',\r\n\tPaymentVerification = 'payment-verification',\r\n}\r\n","export enum CookieType {\r\n\tCustomerName = 'customerName',\r\n\tCustomerInfo = 'customerInfo',\r\n\tRedirectUrl = 'redirectUrl',\r\n\tKycRenewal = 'timeToRenew',\r\n\tLoanInfo = 'loanInfo',\r\n\tDepositCustomer = 'DepositCustomer',\r\n\tSbl = 'sbl',\r\n\tApplicationQuery = 'applicationQuery',\r\n\tLoanCustomer = 'LoanCustomer',\r\n\tDepositCustomerInfo = 'depositCustomerInfo',\r\n}\r\n","import appConfig from 'app.config'\r\nimport { AxiosError } from 'axios'\r\nimport i18next from 'i18next'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tIKycCurrencyAndValues,\r\n\tkycCurrenciesAndValues,\r\n} from '../constants/kycValues'\r\nimport { CountryA3 } from '../constants/countryTypes'\r\nimport { AllCountries } from '../constants/countryTypes'\r\nimport { TranslationFile } from 'i18n'\r\nimport queryString from 'query-string'\r\nimport { CookieType } from 'shared/constants/cookieTypes'\r\n\r\n// If someting is added in this file it should also be added in shared/index.ts\r\n\r\nexport function getMarket() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'de':\r\n\t\t\treturn 'Germany'\r\n\t\tcase 'no':\r\n\t\t\treturn 'Norway'\r\n\t\tcase 'at':\r\n\t\t\treturn 'Austria'\r\n\t\tcase 'se':\r\n\t\t\treturn 'Sweden'\r\n\t\tcase 'fi':\r\n\t\t\treturn 'Finland'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'Denmark'\r\n\t\tcase 'ee':\r\n\t\t\treturn 'Estonia'\r\n\t\tcase 'lt':\r\n\t\t\treturn 'Lithuania'\r\n\t\tcase 'lv':\r\n\t\t\treturn 'Latvia'\r\n\t\tcase 'es':\r\n\t\t\treturn 'Spain'\r\n\t\tcase 'it':\r\n\t\t\treturn 'Italy'\r\n\t}\r\n}\r\n\r\nexport function getCountryA3() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'de':\r\n\t\t\treturn CountryA3.de\r\n\t\tcase 'no':\r\n\t\t\treturn CountryA3.no\r\n\t\tcase 'at':\r\n\t\t\treturn CountryA3.at\r\n\t\tcase 'se':\r\n\t\t\treturn CountryA3.se\r\n\t\tcase 'fi':\r\n\t\t\treturn CountryA3.fi\r\n\t\tcase 'dk':\r\n\t\t\treturn CountryA3.dk\r\n\t\tcase 'es':\r\n\t\t\treturn CountryA3.es\r\n\t\tcase 'it':\r\n\t\t\treturn CountryA3.it\r\n\t\tcase 'ee':\r\n\t\t\treturn CountryA3.ee\r\n\t\tcase 'lt':\r\n\t\t\treturn CountryA3.lt\r\n\t\tcase 'lv':\r\n\t\t\treturn CountryA3.lv\r\n\t}\r\n}\r\n\r\nexport function getCountryA3ForCurrentMarket() {\r\n\treturn CountryA3[appConfig.country as keyof typeof CountryA3]\r\n}\r\n\r\nexport function getLanguageLocale() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'se':\r\n\t\t\treturn 'sv-SE'\r\n\t\tcase 'fi':\r\n\t\t\treturn 'fi-FI'\r\n\t\tcase 'ee':\r\n\t\t\treturn 'et-EE'\r\n\t\tcase 'lt':\r\n\t\t\treturn 'lt-LT'\r\n\t\tcase 'lv':\r\n\t\t\treturn 'lv-LV'\r\n\t\tcase 'de':\r\n\t\t\treturn 'de-DE'\r\n\t\tcase 'no':\r\n\t\t\treturn 'nb-NO'\r\n\t\tcase 'at':\r\n\t\t\treturn 'de-AT'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'da-DK'\r\n\t\tcase 'es':\r\n\t\t\treturn 'es-ES'\r\n\t\tcase 'it':\r\n\t\t\treturn 'it-IT'\r\n\t\tdefault:\r\n\t\t\treturn 'system'\r\n\t}\r\n}\r\n\r\nexport function formatTime(num?: number, options?: Intl.NumberFormatOptions) {\r\n\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t...options!,\r\n\t\tminimumIntegerDigits: 2,\r\n\t})\r\n}\r\n\r\nexport function stringifyNum(num?: number, options?: Intl.NumberFormatOptions) {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'dk':\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\t...options!,\r\n\t\t\t\tmaximumFractionDigits: 2,\r\n\t\t\t\tminimumFractionDigits: 0,\r\n\t\t\t})\r\n\t\tcase 'es':\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\t...options!,\r\n\t\t\t\tmaximumFractionDigits: 2,\r\n\t\t\t\tminimumFractionDigits: 2,\r\n\t\t\t})\r\n\t\tdefault:\r\n\t\t\treturn num?.toLocaleString(getLanguageLocale(), {\r\n\t\t\t\tminimumFractionDigits: 2,\r\n\t\t\t\t...options!,\r\n\t\t\t})\r\n\t}\r\n}\r\n\r\nexport function stringifyBooleanAsUi(bool: boolean) {\r\n\tif (bool) {\r\n\t\treturn 'Yes'\r\n\t} else {\r\n\t\treturn 'No'\r\n\t}\r\n}\r\n\r\nexport function parseStringifedBoolean(value: string) {\r\n\tif (value === 'Yes') {\r\n\t\treturn true\r\n\t} else if (value === 'No') {\r\n\t\treturn false\r\n\t} else {\r\n\t\treturn undefined\r\n\t}\r\n}\r\n\r\nexport function checkIsMobile() {\r\n\t// eslint-disable-next-line\r\n\treturn (\r\n\t\t/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(\r\n\t\t\tnavigator.userAgent,\r\n\t\t) ||\r\n\t\t// eslint-disable-next-line\r\n\t\t/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\r\n\t\t\tnavigator.userAgent.substr(0, 4),\r\n\t\t) ||\r\n\t\twindow.innerWidth <= 845\r\n\t)\r\n}\r\n\r\nexport function checkIsTablet() {\r\n\treturn (\r\n\t\tcheckIsMobile() && window.innerWidth >= 768 && window.innerWidth <= 1366\r\n\t)\r\n}\r\n\r\nexport function getCurrency() {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'se':\r\n\t\t\treturn 'SEK'\r\n\t\tcase 'fi':\r\n\t\tcase 'ee':\r\n\t\tcase 'de':\r\n\t\tcase 'at':\r\n\t\tcase 'es':\r\n\t\tcase 'lt':\r\n\t\tcase 'lv':\r\n\t\tcase 'it':\r\n\t\t\treturn 'EUR'\r\n\t\tcase 'no':\r\n\t\t\treturn 'NOK'\r\n\t\tcase 'dk':\r\n\t\t\treturn 'DKK'\r\n\t}\r\n}\r\n\r\nexport const isIOS = () => {\r\n\treturn (\r\n\t\t[\r\n\t\t\t'iPad Simulator',\r\n\t\t\t'iPhone Simulator',\r\n\t\t\t'iPod Simulator',\r\n\t\t\t'iPad',\r\n\t\t\t'iPhone',\r\n\t\t\t'iPod',\r\n\t\t].includes(navigator.platform) ||\r\n\t\t// iPad on iOS 13 detection\r\n\t\t(navigator.userAgent.includes('Mac') && 'ontouchend' in document)\r\n\t)\r\n}\r\n\r\nexport const isSafariBrowser = () => {\r\n\tconst isChrome = navigator.userAgent.indexOf('Chrome') > -1\r\n\tconst isSafari = navigator.userAgent.indexOf('Safari') > -1\r\n\r\n\treturn isSafari && !isChrome // chrome got safari in it as well...\r\n}\r\n\r\nexport async function waitForLanguage(): Promise {\r\n\tif (i18next.language) return Promise.resolve(i18next.language)\r\n\r\n\tawait new Promise((resolve) => setTimeout(resolve, 100))\r\n\treturn waitForLanguage()\r\n}\r\n\r\nexport function getErrorWithFullMessage(error: Error | AxiosError) {\r\n\tconsole.warn(error)\r\n\r\n\tif (typeof error !== 'object') {\r\n\t\treturn error\r\n\t}\r\n\r\n\tif ('isAxiosError' in error && error.response && error.response.data) {\r\n\t\treturn new Error(\r\n\t\t\terror.response.status < 500 ? error.response.data : 'Network Error',\r\n\t\t)\r\n\t}\r\n\r\n\treturn new Error(error.message)\r\n}\r\n\r\nexport const GetTranslationString = (\r\n\tkey: any,\r\n\tcountrySpecVal: any,\r\n\tpropertyName: string,\r\n) => {\r\n\tconst { t } = useTranslation(TranslationFile.Dropdown)\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif (key == 0)\r\n\t\treturn t(propertyName + 'First', {\r\n\t\t\tvalue: countrySpecVal[propertyName][key].toLocaleString(\r\n\t\t\t\tappConfig.country,\r\n\t\t\t),\r\n\t\t\tcurrency: countrySpecVal.currency,\r\n\t\t})\r\n\t// eslint-disable-next-line eqeqeq\r\n\tif (key == countrySpecVal[propertyName].length - 1)\r\n\t\treturn t(propertyName + 'Last', {\r\n\t\t\tvalue: (countrySpecVal[propertyName][key] - 1).toLocaleString(\r\n\t\t\t\tappConfig.country,\r\n\t\t\t),\r\n\t\t\tcurrency: countrySpecVal.currency,\r\n\t\t})\r\n\treturn t(propertyName, {\r\n\t\tvalue: `${(\r\n\t\t\tcountrySpecVal[propertyName][key.valueOf() - 1] + 1\r\n\t\t).toLocaleString(appConfig.country)} - ${countrySpecVal[propertyName][\r\n\t\t\tkey\r\n\t\t].toLocaleString(appConfig.country)}`,\r\n\t\tcurrency: countrySpecVal.currency,\r\n\t})\r\n}\r\n\r\n/**\r\n * Gets and sets all countries from countrytypes.tsx for dropdowns listing AllCountries. Sort using market specific sorting if one is available.\r\n * @returns\r\n */\r\nexport const getAllCountriesUsingMarketSpecificSorting = (market: string) => {\r\n\tlet options = GetAllCountriesWithTranslation(market)\r\n\r\n\tif (market === 'ee') {\r\n\t\toptions.sort(marketSortEE)\r\n\t}\r\n\r\n\treturn options\r\n}\r\n\r\nconst marketSpecificSort = (\r\n\ta: any,\r\n\tb: any,\r\n\tcoutrySpecificSortingOrder: string[],\r\n): number => {\r\n\tlet aIndex = coutrySpecificSortingOrder.indexOf(a.value)\r\n\tlet bIndex = coutrySpecificSortingOrder.indexOf(b.value)\r\n\r\n\tif (aIndex === bIndex) return 0\r\n\r\n\tif (aIndex < bIndex) return aIndex > -1 ? -1 : 1\r\n\r\n\treturn bIndex > -1 ? 1 : -1\r\n}\r\n\r\nconst marketSortEE = (a: any, b: any): number => {\r\n\t//for \"ee\" market we need countries to be sorted in following way EE, LV, LT, FI, followed by the rest of the countries\r\n\tlet coutrySpecificSortingOrderEE = ['EE', 'LV', 'LT', 'FI']\r\n\r\n\treturn marketSpecificSort(a, b, coutrySpecificSortingOrderEE)\r\n}\r\n\r\n/**\r\n * Gets and sets all countries from countrytypes.tsx for dropdowns listing AllCountries.\r\n * Translates the countries from locales\\{country}\\countries.json.\r\n * Sorts alphabetically but also sets country of chosen market as first choice in menu.\r\n * @param market\r\n * @returns\r\n */\r\nexport const GetAllCountriesWithTranslation = (market: string) => {\r\n\tconst { t } = useTranslation([TranslationFile.Countries])\r\n\tlet options: any = []\r\n\tlet countriesUnsorted: any = []\r\n\tlet countriesSorted: any = []\r\n\tlet countriesFiltered: any = []\r\n\r\n\tObject.keys(AllCountries).map((key: string) =>\r\n\t\tcountriesUnsorted.push({\r\n\t\t\tvalue: key,\r\n\t\t\tlabel: t(`${AllCountries[key as keyof typeof AllCountries]}`),\r\n\t\t}),\r\n\t)\r\n\toptions.push(\r\n\t\tcountriesUnsorted.find(\r\n\t\t\t(item: { value: string; label: string }) =>\r\n\t\t\t\titem.value === market.toUpperCase(),\r\n\t\t),\r\n\t)\r\n\tcountriesFiltered = countriesUnsorted.filter(\r\n\t\t(item: { value: string; label: string }) =>\r\n\t\t\titem.value !== market.toUpperCase(),\r\n\t)\r\n\tcountriesSorted = countriesFiltered.sort(\r\n\t\t(\r\n\t\t\ta: { value: string; label: string },\r\n\t\t\tb: { value: string; label: string },\r\n\t\t) => {\r\n\t\t\tconst countryA = a.label\r\n\t\t\tconst countryB = b.label\r\n\t\t\tif (\r\n\t\t\t\tcountryA.localeCompare(countryB, market) <\r\n\t\t\t\tcountryB.localeCompare(countryA, market)\r\n\t\t\t) {\r\n\t\t\t\treturn -1\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tcountryA.localeCompare(countryB, market) >\r\n\t\t\t\tcountryB.localeCompare(countryA, market)\r\n\t\t\t) {\r\n\t\t\t\treturn 1\r\n\t\t\t}\r\n\t\t\treturn 0\r\n\t\t},\r\n\t)\r\n\toptions.push(...countriesSorted)\r\n\treturn options\r\n}\r\n\r\n/**\r\n * Gets and sets country specific values and amounts stated in\r\n * countryValues.tsx for dropdown alternatives with different spans\r\n * from locales\\{country}\\dropdown.json.\r\n * @param translationSource\r\n * @param propertyName\r\n * @returns\r\n */\r\nexport const CountrySpecificValues = (\r\n\ttranslationSource = '',\r\n\tpropertyName: string,\r\n) => {\r\n\t// eslint-disable-next-line\r\n\tconst { t } = useTranslation(translationSource)\r\n\tlet countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\r\n\tlet temp: any = []\r\n\tlet listOfProperties = Object.entries(countryData)\r\n\tfor (const [key, value] of listOfProperties) {\r\n\t\tif (key === propertyName)\r\n\t\t\t// eslint-disable-next-line\r\n\t\t\tvalue.map((item: any, key: any) => {\r\n\t\t\t\ttemp.push({\r\n\t\t\t\t\tvalue: value[key],\r\n\t\t\t\t\tlabel: GetTranslationString(key, countryData, propertyName),\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t}\r\n\treturn temp\r\n}\r\n\r\n/**\r\n * Returns country specific values in same order as set in countryValues.tsx,\r\n * otherwise all values from enum are returned translated\r\n * from locales\\{country}\\dropdown.json.\r\n * @param enumType\r\n * @param propertyName\r\n * @param translationSource\r\n * @returns\r\n */\r\nexport const FormatEnumToList = (\r\n\tenumType: any,\r\n\tpropertyName: string,\r\n\ttranslationSource?: TranslationFile | '',\r\n) => {\r\n\tconst { t } = useTranslation(translationSource)\r\n\tlet keys = Object.keys(enumType)\r\n\tconst { isSpecific, val } = hasCountrySpecificValues(propertyName)\r\n\tlet temp: any[] = []\r\n\tif (isSpecific)\r\n\t\tval.map((key: number) =>\r\n\t\t\ttemp.push({ value: enumType[key], label: t(enumType[key]) }),\r\n\t\t)\r\n\telse\r\n\t\tkeys.filter(StringIsNotNumber).map((key: string) =>\r\n\t\t\ttemp.push({ value: key, label: t(key.toString()) }),\r\n\t\t)\r\n\treturn temp\r\n}\r\n\r\nexport function StringIsNotNumber(value: string) {\r\n\treturn isNaN(Number(value)) === true\r\n}\r\n\r\nconst hasCountrySpecificValues = (propertyName: string) => {\r\n\tlet countryData = kycCurrenciesAndValues.find(\r\n\t\t(e) => e.country === appConfig.country,\r\n\t) as IKycCurrencyAndValues\r\n\tlet properties = Object.entries(countryData)\r\n\tfor (const [key, val] of properties) {\r\n\t\tif (key === propertyName) {\r\n\t\t\treturn { isSpecific: true, val }\r\n\t\t}\r\n\t}\r\n\treturn { isSpecific: false, undefined }\r\n}\r\n\r\nexport function getQueryParams(): {\r\n\tReturnUrl: string\r\n\tSigningRequestId?: string\r\n\t[key: string]: any\r\n} {\r\n\tconst { ReturnUrl } = queryString.parse(window.location.search) as {\r\n\t\tReturnUrl: string\r\n\t}\r\n\r\n\tif (ReturnUrl) {\r\n\t\tconst url = new URL(decodeURIComponent(ReturnUrl))\r\n\t\tconst params: any = queryString.parse(url.search)\r\n\r\n\t\treturn { ...params, ReturnUrl }\r\n\t}\r\n\r\n\treturn { ReturnUrl }\r\n}\r\n\r\nexport function getMobileOperatingSystem() {\r\n\tvar userAgent = navigator.userAgent || navigator.vendor\r\n\tif (/android/i.test(userAgent)) {\r\n\t\treturn 'Android'\r\n\t}\r\n\tif (/iPad|iPhone|iPod/.test(userAgent) && !(window as any).MSStream) {\r\n\t\treturn 'iOS'\r\n\t}\r\n\treturn 'unknown'\r\n}\r\n\r\nexport function downloadBlob(blob: Blob, name: string) {\r\n\tconst data = window.URL.createObjectURL(blob)\r\n\tconst link = document.createElement('a')\r\n\tlink.style.display = 'none'\r\n\tlink.href = data\r\n\tlink.download = name\r\n\tdocument.body.appendChild(link)\r\n\tlink.click()\r\n}\r\n\r\nexport function showBlob(\r\n\tblob: Blob,\r\n\twindowRef: Window | null,\r\n\tfileName: string = 'file.pdf',\r\n) {\r\n\tvar URL = window.URL || window.webkitURL\r\n\tconst data = URL.createObjectURL(blob)\r\n\r\n\tif (windowRef) {\r\n\t\twindowRef.location.href = data\r\n\t} else {\r\n\t\tdownloadBlob(blob, fileName)\r\n\t}\r\n\r\n\tsetTimeout(function () {\r\n\t\t// For Firefox it is necessary to delay revoking the ObjectURL\r\n\t\tURL.revokeObjectURL(data)\r\n\t}, 100)\r\n}\r\n\r\nexport function validateOtpCode(otpCode: string) {\r\n\tif (!new RegExp('^\\\\d{6}$').test(otpCode)) return false\r\n\r\n\treturn true\r\n}\r\n\r\nexport function validateBankAccountNumber(\r\n\tdirectDebitAccount: string,\r\n\tdirectDebitClearingNumber: string,\r\n\tcountry: string,\r\n) {\r\n\tlet isValid = true\r\n\tif (\r\n\t\tdirectDebitAccount === undefined ||\r\n\t\tdirectDebitClearingNumber === undefined\r\n\t)\r\n\t\treturn !isValid\r\n\tswitch (country) {\r\n\t\tcase 'dk':\r\n\t\t\tif (\r\n\t\t\t\tdirectDebitClearingNumber.length === 4 &&\r\n\t\t\t\tdirectDebitAccount.length >= 7 &&\r\n\t\t\t\tdirectDebitAccount.length <= 10\r\n\t\t\t) {\r\n\t\t\t\treturn isValid\r\n\t\t\t} else {\r\n\t\t\t\treturn !isValid\r\n\t\t\t}\r\n\r\n\t\tcase 'ee':\r\n\t\tcase 'lt':\r\n\t\tcase 'sv':\r\n\t\tcase 'fi':\r\n\t\tcase 'pl':\r\n\t\tcase 'de':\r\n\t\tcase 'no':\r\n\t\tcase 'lv':\r\n\t\tdefault:\r\n\t\t\treturn !isValid\r\n\t}\r\n}\r\n\r\n/**\r\n * Get name of key (like in C# the master tier)\r\n * @param key - The key of T to get the name\r\n * @param instance - Optional way of setting T by object instead of \r\n * @returns Value of key of T\r\n */\r\nexport function nameof(key: keyof T, instance?: T): keyof T {\r\n\treturn key\r\n}\r\n\r\n/**\r\n * Make value vocative\r\n * @param value\r\n * @returns vocatived name\r\n */\r\nexport function setVocative(value: string) {\r\n\tif (!value) return value\r\n\r\n\tlet tempValue = value\r\n\tconst vocative = {\r\n\t\tas: 'ai',\r\n\t\tė: 'e',\r\n\t\tis: 'i',\r\n\t\tus: 'au',\r\n\t\tys: 'y',\r\n\t}\r\n\r\n\tObject.keys(vocative).forEach((x) => {\r\n\t\tif (!tempValue.endsWith(x)) return\r\n\r\n\t\tconst voc = vocative[x as keyof typeof vocative]\r\n\t\ttempValue = tempValue.substring(0, tempValue.lastIndexOf(x)) + voc\r\n\t})\r\n\r\n\treturn tempValue\r\n}\r\n\r\nexport interface ICurrencyInfo {\r\n\tname: string\r\n\tsymbol: string\r\n}\r\n\r\nconst currencyData: Record = {\r\n\tSEK: { name: 'Swedish Krona', symbol: 'kr' },\r\n\tDKK: { name: 'Danish Krone', symbol: 'kr' },\r\n\tEUR: { name: 'Euro', symbol: '€' },\r\n\tUSD: { name: 'American Dollar', symbol: '$' },\r\n}\r\n\r\nexport const getCurrencyInfo = (currencyCode: string) => {\r\n\tconst currencyInfo = currencyData[currencyCode]\r\n\tif (currencyInfo) {\r\n\t\treturn `${currencyInfo.name} (${currencyInfo.symbol})`\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n}\r\n\r\nexport const sortString = (a: string, b: string, sort: 'asc' | 'desc') => {\r\n\tif (sort === 'asc') {\r\n\t\tif (a > b) return -1\r\n\t\tif (a < b) return 1\r\n\t\treturn 0\r\n\t} else {\r\n\t\tif (a < b) return -1\r\n\t\tif (a > b) return 1\r\n\t\treturn 0\r\n\t}\r\n}\r\n\r\nexport const getCustomerInfoCookieName = () : string => {\r\n\t//if customer have both loans and deposits loan customer info to be used\r\n\tlet cookieName = CookieType.CustomerInfo\r\n\t//set to deposit customer info only if customer have deposits and does not have loans\r\n\tif(!sessionStorage.getItem(CookieType.LoanCustomer) && sessionStorage.getItem(CookieType.DepositCustomer))\r\n\t\tcookieName = CookieType.DepositCustomerInfo\r\n\r\n\treturn cookieName\r\n}\r\n","import {\r\n\tUserManager,\r\n\tUserManagerSettings,\r\n\tWebStorageStateStore,\r\n} from 'oidc-client'\r\nimport appConfig from '../../app.config'\r\n\r\nexport function getClientSettings(\r\n\tresponse_mode: string | undefined = undefined,\r\n): UserManagerSettings {\r\n\treturn {\r\n\t\tauthority: appConfig.authorityBaseUrl,\r\n\t\tclient_id: 'mypages_ui',\r\n\t\tredirect_uri: `${window.location.origin + '/callback'}`,\r\n\t\tresponse_type: 'code',\r\n\t\tloadUserInfo: true,\r\n\t\tpost_logout_redirect_uri: `${\r\n\t\t\twindow.location.origin + '/logoutcallback'\r\n\t\t}`,\r\n\t\tscope:\r\n\t\t\tappConfig.system === 'selfServicePortal' && appConfig.environment !== 'production'\r\n\t\t\t\t? 'openid tf_bank_creditcard_public_api tf_bank_signing_api'\r\n\t\t\t\t: 'openid tf_bank_customer_data_api tf_bank_signing_api',\r\n\t\tautomaticSilentRenew: true,\r\n\t\tresponse_mode,\r\n\t\tclockSkew: 15 * 60, //default 5min\r\n\t\tuserStore:\r\n\t\t\tappConfig.country === 'no'\r\n\t\t\t\t? new WebStorageStateStore({ store: window.localStorage })\r\n\t\t\t\t: undefined,\r\n\t}\r\n}\r\n\r\nexport function getUserManager() {\r\n\treturn new UserManager(getClientSettings())\r\n}\r\n\r\nexport const userManager = getUserManager()\r\n","import { createContext, Context, useState, PropsWithChildren } from 'react'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport React from 'react'\r\n\r\ninterface IAuthContext {\r\n\tisAuthenticated: boolean\r\n\tloadingAuth: boolean\r\n\tsetLoadingAuth: Function\r\n}\r\n\r\nconst AuthContext: Context = createContext({\r\n\tisAuthenticated: false,\r\n\tloadingAuth: false,\r\n\tsetLoadingAuth: () => {},\r\n})\r\n\r\nexport function UseAuthProvider({ children }: PropsWithChildren) {\r\n\t//Add new state for loadingAuth prop - boolean\r\n\tconst [loadingAuth, setLoadingAuth] = useState(false)\r\n\r\n\tconst checkAuth: any = React.useCallback(async () => {\r\n\t\tconst user = await userManager.getUser()\r\n\t\tif (!Boolean(user) || user?.expired) {\r\n\t\t\treturn setIsAuthenticated(false)\r\n\t\t}\r\n\t\treturn setIsAuthenticated(true)\r\n\t}, [])\r\n\r\n\tconst [isAuthenticated, setIsAuthenticated] = useState(checkAuth)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default AuthContext\r\n","import React, { useContext } from 'react'\r\nimport { Container } from 'react-bootstrap'\r\n\r\nimport tf21_error_404 from 'img/tf21-error-404.png'\r\n\r\nimport { checkIsMobile } from 'shared/index'\r\nimport AuthContext from 'shared/contexts/auth'\r\n\r\nfunction NotFound() {\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{isAuthenticated && (\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t\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 NotFound\r\n","import React, { ReactNode } from 'react'\r\n\r\n//CSS styling for \"BoxInfo\" can be found in the _variables.scss file\r\n//CSS key-words include: 'info', 'success-msg-checkmark-animation', 'success', 'fail' & 'post'\r\ninterface IBoxInfo {\r\n\tcss: string\r\n\tmessage: string | object | ReactNode\r\n\timage?: string\r\n\tbutton?: object\r\n}\r\n\r\nexport const BoxInfo = ({ css, message }: IBoxInfo) => (\r\n\t
{message}
\r\n)\r\n\r\nexport const BoxInfoWithButton = ({ css, message, button }: IBoxInfo) => (\r\n\t
\r\n\t\t
{message}
\r\n\t\t
{button}
\r\n\t
\r\n)\r\n\r\nexport const BoxInfoCardApplication = ({ css, message, image }: IBoxInfo) => (\r\n\t
\r\n\t\t
\r\n\t\t{message}\r\n\t
\r\n)\r\n\r\n// Rebecka, take a look at this!!\r\ninterface IErrorMessageLegacy {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\nexport const ErrorMessageLegacy = ({ css, message }: IErrorMessageLegacy) => (\r\n\t
{message}
\r\n)\r\n\r\ninterface IErrorMessage {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\n\r\nexport const ErrorMessage = ({ css, message }: IErrorMessage) => (\r\n\t// \r\n\t
{message}
\r\n)\r\n\r\n// aaand, take a look at this one too!!\r\ninterface IValidationError {\r\n\tmessage: string\r\n\tcss?: string\r\n}\r\nexport const ValidationError = ({ css, message }: IValidationError) => (\r\n\t
{message}
\r\n)\r\n\r\ninterface IBoxInfoSuccessCheckmark {\r\n\tcss: string\r\n\tmessage: string | object\r\n}\r\n\r\nexport const BoxInfoSuccessCheckmark = ({\r\n\tmessage,\r\n\tcss,\r\n}: IBoxInfoSuccessCheckmark) => (\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t{message}\r\n\t
\r\n)\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfoWithButton } from 'shared/components/BoxInfo'\r\n\r\ninterface IErrorFallbackProps {\r\n\tresetErrorBoundary: (...args: Array) => void\r\n\terror: Error\r\n}\r\n\r\nfunction ErrorFallbackComponent({ resetErrorBoundary }: IErrorFallbackProps) {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst ResetButton = () => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{t('TryAgain')}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t}\r\n\t\t\t\tmessage={t('ErrorOnRender')}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default ErrorFallbackComponent\r\n","export enum LifeCycleStatus {\r\n\tOther = 'Other',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tCustomerVerification = 'CustomerVerification',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tSendToBo = 'SendToBo',\r\n\tDisbursed = 'Disbursed',\r\n\tCanceled = 'Canceled',\r\n\tTimedOut = 'TimedOut',\r\n\tDenied = 'Denied',\r\n\tDuplicated = 'Duplicated',\r\n\tApplicationReceived = 'ApplicationReceived',\r\n\tCreditDecisionRunning = 'CreditDecisionRunning',\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tSendIncomeVerification = 'SendIncomeVerification',\r\n\tReceiveIncomeVerification = 'ReceiveIncomeVerification',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tInvalid = 'Invalid',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tCollectRefinData = 'CollectRefinData',\r\n\tCreditDecisionAwaitConsents = 'CreditDecisionAwaitConsents',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tMultiStepUpdateLoanData = 'MultiStepUpdateLoanData',\r\n\tMultiStepUpdatePersonalData = 'MultiStepUpdatePersonalData',\r\n\tIssueCard = 'IssueCard',\r\n\tCreditDecisionWaitingForFeedback = 'CreditDecisionWaitingForFeedback',\r\n\tCreditDecisionFeedbackReceived = 'CreditDecisionFeedbackReceived',\r\n\tCustomerVerificationFailed = 'CustomerVerificationFailed',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n\tIdentificationReceivedId = 'IdentificationReceivedId',\r\n\tAwaitAccept = 'AwaitAccept',\r\n\tExternalRegisterCheck = 'ExternalRegisterCheck',\r\n\tExternalRegisterCheckSend = 'ExternalRegisterCheckSend',\r\n}\r\n\r\nexport enum IgnoreLifeCycleStatus {\r\n\tDenied = 'Denied',\r\n\tDisbursed = 'Disbursed',\r\n\tTimedOut = 'TimedOut',\r\n\tDuplicated = 'Duplicated',\r\n\tCanceled = 'Canceled',\r\n}\r\n\r\nexport enum Status {\r\n\tNotCreated = 'NotCreated',\r\n\tCreated = 'Created',\r\n\tSigned = 'Signed',\r\n\tCanceled = 'Canceled',\r\n\tSendByPost = 'SendByPost',\r\n\tDeclined = 'Declined',\r\n}\r\n\r\nexport enum Decision {\r\n\tApproved = 'Approved',\r\n\tInvestigation = 'Investigation',\r\n\tRejected = 'Rejected',\r\n\tInvalid = 'Invalid',\r\n\tError = 'Error',\r\n}\r\n\r\nexport enum SigningUrlType {\r\n\tApplicantSigning = 'ApplicantSigning',\r\n\tCoapplicantSigning = 'CoapplicantSigning',\r\n\tOnlineIdentification = 'OnlineIdentification',\r\n\tApplicantPsd2 = 'ApplicantPsd2',\r\n\tCoapplicantPsd2 = 'CoapplicantPsd2',\r\n\tPpiContract = 'PpiContract',\r\n}\r\n\r\nexport enum ShowLifeCycleStatus {\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n}\r\n\r\nexport enum ShowLoanOfferStepsOnLifeCycleStatus {\r\n\tCreditDecisionInvestigation = 'CreditDecisionInvestigation',\r\n\tCreditDecisionError = 'CreditDecisionError',\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tManualSendPromissoryNote = 'ManualSendPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n\tFinalCreditApproval = 'FinalCreditApproval',\r\n\tAccountNumberVerificationFailed = 'AccountNumberVerificationFailed',\r\n\tMultiStepUpdateLoanData = 'MultiStepUpdateLoanData',\r\n\tExternalRegisterCheck = 'ExternalRegisterCheck',\r\n\tExternalRegisterCheckSend = 'ExternalRegisterCheckSend',\r\n}\r\n\r\nexport enum ShowOnLifeCycleStatus {\r\n\tPrintPromissoryNote = 'PrintPromissoryNote',\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tAwaitAccept = 'AwaitAccept',\r\n}\r\n\r\nexport enum HidePpiOnLifeCycleStatus {\r\n\tReceiveSigning = 'ReceiveSigning',\r\n\tDocumentsUpload = 'DocumentsUpload',\r\n\tInternalCheck = 'InternalCheck',\r\n}\r\n","import queryString from 'query-string'\r\nimport { LifeCycleStatus } from 'shared/constants/signingTypes'\r\n\r\nexport function getColor(type: string, data: any[]) {\r\n\tconst color1 = '#c87d5a' // Bronze red\r\n\tconst color2 = '#eea87e' // Bronze light\r\n\tlet list: any[] = []\r\n\tdata.forEach((item: any) => {\r\n\t\tlist.push(item.loanType)\r\n\t})\r\n\tlet item = list.indexOf(type)\r\n\treturn item % 2 === 0 ? color1 : color2\r\n}\r\n\r\nexport function setFullMobileViewHeight() {\r\n\tlet vh = window.innerHeight * 0.01\r\n\tdocument.documentElement.style.setProperty('--vh', `${vh}px`)\r\n\twindow.addEventListener('resize', () => {\r\n\t\tlet vh = window.innerHeight * 0.01\r\n\t\tdocument.documentElement.style.setProperty('--vh', `${vh}px`)\r\n\t})\r\n}\r\n\r\nexport function getAccessTokenParam() {\r\n\tconst props = queryString.parse(window.location.search) as {\r\n\t\taccess_token: string\r\n\t}\r\n\r\n\tconsole.info('url_access_token', props && props.access_token)\r\n\treturn props ? props.access_token : ''\r\n}\r\n\r\nexport function normalizeUrl(url: string) {\r\n\treturn url.substr(-1) === '/' ? url.slice(0, -1) : url\r\n}\r\n\r\nexport function stringifyBooleanAsUi(bool: boolean) {\r\n\tif (bool) {\r\n\t\treturn 'Yes'\r\n\t} else {\r\n\t\treturn 'No'\r\n\t}\r\n}\r\n\r\nexport function addZeroToDate(n: number) {\r\n\treturn n < 10 ? '0' + n : '' + n\r\n}\r\n\r\n// A test phone number for EE: 37200000766\r\n\r\n//ApplicationPage helper\r\nexport const checkLifeCycleStatus = (status: LifeCycleStatus | undefined) => {\r\n\tswitch (status) {\r\n\t\tcase LifeCycleStatus.Canceled:\r\n\t\tcase LifeCycleStatus.Denied:\r\n\t\tcase LifeCycleStatus.Disbursed:\r\n\t\tcase LifeCycleStatus.TimedOut:\r\n\t\tcase LifeCycleStatus.Duplicated:\r\n\t\t\treturn true\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}\r\n","import {\r\n\tApplicationInsights,\r\n\tSeverityLevel,\r\n} from '@microsoft/applicationinsights-web'\r\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js'\r\nimport appConfig from '../app.config'\r\n\r\nconst reactPlugin: any = new ReactPlugin()\r\nconst appInsights = new ApplicationInsights({\r\n\tconfig: {\r\n\t\tinstrumentationKey:\r\n\t\t\tappConfig.instrumentationKey ||\r\n\t\t\t'xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx',\r\n\t\tenableAutoRouteTracking: true,\r\n\t\textensions: [reactPlugin],\r\n\t},\r\n})\r\nappInsights.loadAppInsights()\r\nappInsights.trackPageView() // Manually call trackPageView to establish the current user/session/pageview\r\n\r\nconst logEvent = (name: string, properties: { [key: string]: any }) => {\r\n\tappInsights.trackEvent({\r\n\t\tname: name,\r\n\t\tproperties: { properties },\r\n\t})\r\n}\r\nconst logError = (error: Error, properties?: { [key: string]: any }) => {\r\n\tappInsights.trackException(\r\n\t\t{\r\n\t\t\texception: error,\r\n\t\t\tseverityLevel: SeverityLevel.Error,\r\n\t\t},\r\n\t\t{ properties }\r\n\t)\r\n}\r\n\r\nconst logCritical = (error: Error) => {\r\n\tappInsights.trackException({\r\n\t\texception: error,\r\n\t\tseverityLevel: SeverityLevel.Critical,\r\n\t})\r\n}\r\nexport { reactPlugin, appInsights, logError, logCritical, logEvent }\r\n","import { userManager } from '../services/auth.service'\r\nimport { User } from 'oidc-client'\r\nimport { getAccessTokenParam } from '../../original/utils/helpers'\r\nimport appConfig from 'app.config'\r\nimport { appInsights } from 'shared/AppInsight'\r\nimport { getCountryA3 } from 'shared/utils/helpers'\r\nimport axios from 'axios'\r\n\r\nlet tokenInfo: Partial = {}\r\n\r\nexport async function getHeadersWithJwtToken() {\r\n\tconst { access_token, expires_at, profile } =\r\n\t\t(await userManager.getUser()) || { access_token: getAccessTokenParam() }\r\n\tif (access_token && tokenInfo.access_token !== access_token) {\r\n\t\ttokenInfo = { expires_at, profile, access_token }\r\n\t\tappInsights.trackEvent({\r\n\t\t\tname: 'user got a token',\r\n\t\t\tproperties: { expires_at, profile },\r\n\t\t})\r\n\t}\r\n\treturn {\r\n\t\theaders: {\r\n\t\t\tAuthorization: access_token && `Bearer ${access_token}`,\r\n\t\t\t'Customer-Id': profile?.sub,\r\n\t\t\t'System-Version': getSystemVersionHeaderValue(),\r\n\t\t\tmarket: getCountryA3(),\r\n\t\t},\r\n\t}\r\n}\r\n\r\nconst getSystemVersionHeaderValue = () => {\r\n\tvar system: string = appConfig.system === 'original' ? 'MyPages' : 'SSP'\r\n\r\n\treturn `${system}-${appConfig.country} (${appConfig.environment})`\r\n}\r\n\r\nexport async function getSubFromClaims() {\r\n\tconst { profile } = (await userManager.getUser()) || {\r\n\t\taccess_token: getAccessTokenParam(),\r\n\t}\r\n\treturn profile?.sub\r\n}\r\n\r\nexport async function getBirthdateFromClaims() {\r\n\tconst { profile } = (await userManager.getUser()) || {\r\n\t\taccess_token: getAccessTokenParam(),\r\n\t}\r\n\treturn profile?.[\r\n\t\t'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth'\r\n\t]\r\n}\r\n\r\nfunction retrieveAxiosCancelToken() {\r\n\tlet cancelSource = axios.CancelToken.source()\r\n\r\n\t/** Enhance reset functionality to immediately replace the cancelSource\r\n\twith a new one, ensuring the old one cannot be reused. */\r\n\tconst resetCancelToken = () => {\r\n\t\tcancelSource = axios.CancelToken.source()\r\n\t}\r\n\r\n\t/** Getter for the token to ensure encapsulation and direct access\r\n\tto the current token without directly exposing cancelSource. */\r\n\tconst getToken = () => {\r\n\t\treturn cancelSource.token\r\n\t}\r\n\r\n\t/** Cancel function that directly uses the current cancelSource,\r\n\tallowing for cancellation without external access to cancelSource. */\r\n\tconst cancel = (message: string) => {\r\n\t\tcancelSource.cancel(message)\r\n\t}\r\n\r\n\treturn { getToken, resetCancelToken, cancel }\r\n}\r\n\r\nexport const authenticationServiceCancelToken = retrieveAxiosCancelToken()\r\n","import { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { DocumentTypes } from 'shared'\r\nimport appConfig from '../../app.config'\r\nimport { SigningUrlType } from './signingTypes'\r\n\r\nexport const apiRoutes = {\r\n\tadminPing: `/api/admin/ping`,\r\n\tidCardAuth: (id: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/idcard/${id || ''}`,\r\n\tmobileIdAuthInitiate: `${appConfig.authorityBaseUrl}/apiauth/mobileid/initiate`,\r\n\tmobileIdAuthComplete: `${appConfig.authorityBaseUrl}/apiauth/mobileid/complete`,\r\n\tsmartIdAuthInitiate: `${appConfig.authorityBaseUrl}/apiauth/smartid/initiate`,\r\n\tsmartIdAuthComplete: `${appConfig.authorityBaseUrl}/apiauth/smartid/complete`,\r\n\tsignicatAuthLink: `${appConfig.authorityBaseUrl}/apiauth/signicat/link`,\r\n\tsignicatAuthResult: `${appConfig.authorityBaseUrl}/apiauth/signicat/result`,\r\n\tsignicatAuthMitId: `${appConfig.authorityBaseUrl}/apiauth/signicat/mitid`,\r\n\tnorwegianBankIdAuthLink: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/link`,\r\n\tnorwegianBankIdAuthResult: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/result`,\r\n\tnorwegianBankIdApplicationAuthResult: `${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/application/result`,\r\n\tbankIdv2AuthInitiate: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/initiate`,\r\n\tbankIdv2AuthCollect: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/collect`,\r\n\tbankIdv2AuthCancel: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/cancel`,\r\n\tbankIdv2GenerateQrCode: `${appConfig.authorityBaseUrl}/v2/apiauth/bankid/qrcode/generate`,\r\n\r\n\tgermanyAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate`,\r\n\tgermanyOtpStart: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate/otp/start`,\r\n\tgermanyOtpComplete: `${appConfig.authorityBaseUrl}/apiauth/germany/authenticate/otp/complete`,\r\n\r\n\titalyAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate`,\r\n\titalyOtpStart: `${appConfig.authorityBaseUrl}/otpauth/application/start`,\r\n\titalyOtpStartSsp: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate/otp/start`,\r\n\titalyOtpCompleteSsp: `${appConfig.authorityBaseUrl}/apiauth/Italy/authenticate/otp/complete`,\r\n\r\n\taustriaOtpStart: `${appConfig.authorityBaseUrl}/apiauth/austria/authenticate/otp/start`,\r\n\taustriaOtpComplete: `${appConfig.authorityBaseUrl}/apiauth/austria/authenticate/otp/complete`,\r\n\r\n\tspainAuthenticate: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate`,\r\n\tspainOtpStart: `${appConfig.authorityBaseUrl}/otpauth/application/start`,\r\n\tspainOtpStartSsp: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate/otp/start`,\r\n\tspainOtpComplete: `${appConfig.authorityBaseUrl}/otpauth/complete`,\r\n\tspainOtpCompleteSsp: `${appConfig.authorityBaseUrl}/apiauth/Spain/authenticate/otp/complete`,\r\n\r\n\tloanOtpStart: `${appConfig.authorityBaseUrl}/otpauth/loan/start`,\r\n\telectronicIDToken: (applicationId: string, product: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/electronicid/videoid?applicationId=${applicationId}&product=${product}`,\r\n\telectronicIDVerificationRequest: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/electronicid/verification`,\r\n\tredirectTo: `${appConfig.authorityBaseUrl}/account/redirectto`,\r\n\tgetArtifactBbBank: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/norwegianbankid/artifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetArtifactDk: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/dkartifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetArtifactFi: (requestId: string, taskId: string) =>\r\n\t\t`${appConfig.authorityBaseUrl}/apiauth/signicat/artifact?requestId=${requestId}&taskId=${taskId}`,\r\n\tgetLoansData: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/loan/loans?countryCode=${country}`,\r\n\tgetRepaymentPlan: (id: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/loan/repaymentplan?repaymentPlanId=${id}`,\r\n\tupdateSubscription: `${appConfig.customerDataBaseUrl}/api/user/details`,\r\n\tsendEmail: `${appConfig.customerDataBaseUrl}/api/support/email`,\r\n\tgetApplicationInformation: (applicationId: number) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/applicationinformation?applicationId=${applicationId}`,\r\n\tgetSigningUrl: (applicationId: number, signingUrl: SigningUrlType) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/signingurls?applicationId=${applicationId}&signingurltype=${signingUrl}`,\r\n\tuploadDocument: (applicationId: number) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/uploaddocument?applicationId=${applicationId}`,\r\n\tgetDocument: (applicationId: string, documentType: DocumentTypes) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocument?applicationId=${applicationId}&documentType=${documentType}`,\r\n\tgetKycData: `${appConfig.customerDataBaseUrl}/api/user/kyc`,\r\n\tupdateKycCustomerData: `${appConfig.customerDataBaseUrl}/api/user/kyc`,\r\n\tlookupAddressInAddressService: (inputAddress: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/user/addressService?inputAddress=${inputAddress}`,\r\n\tgetDepositsData: `${appConfig.customerDataBaseUrl}/api/deposit/deposits`,\r\n\tgetDepositsDataV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/deposits`,\r\n\tgetCustomerDetails: `${appConfig.customerDataBaseUrl}/api/deposit/customer`,\r\n\tgetCustomerDetailsV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/customer`,\r\n\tupdateCustomerData: `${appConfig.customerDataBaseUrl}/api/deposit/customer`,\r\n\tupdateCustomerDataV2: `${appConfig.customerDataBaseUrl}/api/v2/deposit/customer`,\r\n\tupdatePpi: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateppi`,\r\n\tupdateSbl: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatesbl`,\r\n\tupdateMissingKyc: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatekyc`,\r\n\taddPublicNote: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/addpublicnote`,\r\n\tgetFAQ: (country: string, productType: ProductType, lng: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/faq?country=${country}&productType=${productType}&translationLng=${lng}`,\r\n\taddTermsAndConditionAccepted: `${appConfig.customerDataBaseUrl}/api/CustomerService/termsandconditions/accept`,\r\n\tupdateBankInfo: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updatebankinfo`,\r\n\tgetDownloadDocuments: (applicationId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocuments?applicationId=${applicationId}`,\r\n\tgetDownloadDocumentById: (documentId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/document/downloaddocumentbyid?documentId=${documentId}`,\r\n\tupdateCustomerConsents: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateCustomerConsents`,\r\n\tprintPn: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/printpn`,\r\n\tupdateLoanData: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/updateloandata`,\r\n\tsddEnrollmentInitiate: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/enroll/initiate`,\r\n\tsddEnrollmentComplete: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/enroll/complete`,\r\n\tsddResendOtp: `${appConfig.customerDataBaseUrl}/api/sepadirectdebit/otp/resend`,\r\n\tgetSddActivePct: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/sepadirectdebit/pct/${country}`,\r\n\tgetSddIbans: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/sepadirectdebit/ibans/${partyId}`,\r\n\tgetSddIsEligible: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/eligible/${partyId}`,\r\n\tgetSddMandate: (partyId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/${partyId}`,\r\n\tgetSddMandateDocument: (mandateDocumentId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/download?documentId=${mandateDocumentId}`,\r\n\tsddMandateDisable: `${appConfig.customerDataBaseUrl}/api/SepaDirectDebit/mandate/disable`,\r\n\tattachVideoIdentification: `${appConfig.esignBaseUrl}/api/esigning/attachVideoIdentification`,\r\n\tcreateVideoIdentity: `${appConfig.esignBaseUrl}/api/esigning/createVideoIdentity`,\r\n\tupdateApplicationInformation: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/applicationinformation`,\r\n\trunmulticashpreliminarydecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/multicash/runpreliminarydecision`,\r\n runcreditcardpreliminarydecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/creditcard/runpreliminarydecision`,\r\n runcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/runcreditdecision`,\r\n runmulticashcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/multicash/runcreditdecision`,\r\n runcreditcardcreditdecision: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/creditcard/runcreditdecision`,\r\n\tconfirmApplication: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/confirmapplication`,\r\n\tconfirmMultiCashApplication: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/confirmmulticashapplication`,\r\n\tsignPnInit: `${appConfig.esignBaseUrl}/api/esigning/initiateESigningSpain`,\r\n\tsignPnComplete: `${appConfig.esignBaseUrl}/api/esigning/completeESigningSpain`,\r\n\tsignPnResendOtp: `${appConfig.esignBaseUrl}/api/esigning/resendotpESigningSpain`,\r\n\tremovedirectdebit: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/removedirectdebit`,\r\n\tgetNordigenBanks: (country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/banks?${country}`,\r\n\tgetNordigenAgreement: (institutionId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/agreement?${institutionId}`,\r\n\tcreateNordigenRequisitions: `${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/requisitions`,\r\n\tgetNordigenListAccount: (requisitionId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ApplicationPage/nordigen/listAccount?${requisitionId}`,\r\n\teParakstsAuthLink: `${appConfig.authorityBaseUrl}/apiauth/eparaksts/link`,\r\n\teParakstsAuthResult: `${appConfig.authorityBaseUrl}/apiauth/eparaksts/result`,\r\n}","/**\r\n * @module customerDataApiService\r\n * @description Service for handling customer data API requests.\r\n */\r\n\r\nimport Axios from 'axios'\r\nimport { getHeadersWithJwtToken } from '../../auth/utils/auth-util'\r\nimport { apiRoutes } from '../constants/routes'\r\nimport {\r\n\tICustomerInfo,\r\n\tICustomer,\r\n\tIFilteredLoans,\r\n} from '../../original/interfaces/i-api-loan'\r\nimport { CookieType } from '../constants/cookieTypes'\r\nimport { getCustomerInfoCookieName, waitForLanguage } from '../utils/helpers'\r\nimport { TFunction } from 'i18next'\r\nimport { SigningUrlType } from '../constants/signingTypes'\r\nimport { CountryCode } from '../constants/countryTypes'\r\nimport appConfig from '../../app.config'\r\nimport { IKycData } from '../interfaces/i-api-kyc'\r\nimport {\r\n\tIDeposit,\r\n\tIDepositCustomerData,\r\n} from '../../original/interfaces/i-api-deposit'\r\nimport {\r\n\tIAddPublicNote,\r\n\tIApplicationInformation,\r\n\tIApplicationUrlsDto,\r\n\tIPpiData,\r\n\tISblData,\r\n\tIUpdateBankInfo,\r\n\tIUpdateCustomerConsents,\r\n\tIUpdateMissingKyc,\r\n} from '../interfaces/i-api-application'\r\nimport { IFaqEntry } from '../interfaces/i-api-faq'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { DocumentTypes } from 'shared/constants/documentTypes'\r\nimport { logError } from '../AppInsight'\r\n\r\nconst transportWithCredentials = Axios.create({})\r\nconst isCornicheCountry = ['se', 'fi'].includes(appConfig.country)\r\n\r\ntransportWithCredentials.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\n/**\r\n * @constant {Object} customerDataApiService\r\n * @description Object containing methods for customer data API requests.\r\n */\r\n\r\nconst customerDataApiService = {\r\n\t/**\r\n\t * @function getLoanData\r\n\t * @description Retrieves loan data for a specific country.\r\n\t * @param {string} countryCode - The country code to retrieve loan data for.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of filtered loans.\r\n\t * @throws {Error} If there is an error retrieving the loan data.\r\n\t */\r\n\r\n\tasync getLoanData(countryCode: string, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tsessionStorage.removeItem(CookieType.LoanCustomer)\r\n\t\t\tsessionStorage.removeItem(CookieType.CustomerInfo)\r\n\t\t\tlet response = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tapiRoutes.getLoansData(countryCode),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((result) => {\r\n\t\t\t\t\tif (result.data.customer) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerInfo,\r\n\t\t\t\t\t\t\tJSON.stringify(result.data.customer),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerName,\r\n\t\t\t\t\t\t\tJSON.stringify(\r\n\t\t\t\t\t\t\t\tresult.data.customer.personalInfo.firstName,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(CookieType.LoanCustomer, 'true')\r\n\t\t\t\t\t\treturn result.data.loans as IFilteredLoans[]\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response) {\r\n\t\t\t\t\t\tif (err.response.status === 404)\r\n\t\t\t\t\t\t\treturn [] as IFilteredLoans[]\r\n\t\t\t\t\t\tthrow new Error(t('LoanInfoError'))\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log(err)\r\n\t\t\t\t\t\tthrow new Error(t('LoanInfoError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDepositsData\r\n\t * @description Retrieves deposit data for the customer.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of deposits.\r\n\t * @throws {Error} If there is an error retrieving the deposit data.\r\n\t */\r\n\tasync getDepositsData(t: TFunction) {\r\n\t\ttry {\r\n\t\t\tsessionStorage.removeItem(CookieType.DepositCustomer)\r\n\t\t\tsessionStorage.removeItem(CookieType.DepositCustomerInfo)\r\n\t\t\tconst data = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t\t? apiRoutes.getDepositsDataV2\r\n\t\t\t\t\t\t: apiRoutes.getDepositsData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.data.customer) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.DepositCustomerInfo,\r\n\t\t\t\t\t\t\tJSON.stringify(response.data.customer),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.CustomerName,\r\n\t\t\t\t\t\t\tJSON.stringify(\r\n\t\t\t\t\t\t\t\tresponse.data.customer.personalInfo.firstName,\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsessionStorage.setItem(CookieType.DepositCustomer, 'true')\r\n\t\t\t\t\treturn response.data.depositAccounts as IDeposit[]\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response) {\r\n\t\t\t\t\t\tif (err.response.status === 404) return [] as IDeposit[]\r\n\t\t\t\t\t\tthrow new Error(t('DepositInfoError'))\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log(err)\r\n\t\t\t\t\t\tthrow new Error(t('DepositInfoError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tconsole.log(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getCustomerDetails\r\n\t * @description fetch userData.\r\n\t * @throws {Error} If no user is found.\r\n\t */\r\n\r\n\tasync getCustomerDetails() {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.get(\r\n\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t? apiRoutes.getCustomerDetailsV2\r\n\t\t\t\t\t: apiRoutes.getCustomerDetails,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data) {\r\n\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\tJSON.stringify(data),\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tconsole.log(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateCustomerDetails\r\n\t * @description Updates customer details.\r\n\t * @param {ICustomer | undefined} userData - The customer data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the customer details are updated.\r\n\t * @throws {Error} If there is an error updating the customer details.\r\n\t */\r\n\r\n\tasync updateCustomerDetails(userData: ICustomer | undefined, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet data\r\n\t\t\tif (sessionStorage.getItem(CookieType.DepositCustomer)) {\r\n\t\t\t\tlet depositData = await transportWithCredentials.post(\r\n\t\t\t\t\tisCornicheCountry\r\n\t\t\t\t\t\t? apiRoutes.updateCustomerDataV2\r\n\t\t\t\t\t\t: apiRoutes.updateCustomerData,\r\n\t\t\t\t\tuserData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\t\r\n\t\t\t\t\r\n\t\t\t\tif (depositData.status === 200) {\r\n\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\t\tJSON.stringify(userData),\r\n\t\t\t\t\t)\r\n\t\t\t\t\tdata = depositData\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (sessionStorage.getItem(CookieType.LoanCustomer)) {\r\n\t\t\t\tlet loanData = await transportWithCredentials.post(\r\n\t\t\t\t\tapiRoutes.updateSubscription,\r\n\t\t\t\t\tuserData,\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\r\n\t\t\t\tif (loanData.status === 200) {\r\n\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\tgetCustomerInfoCookieName(),\r\n\t\t\t\t\t\tJSON.stringify(userData),\r\n\t\t\t\t\t)\r\n\t\t\t\t\t//it is ok to override deposit data as we want to use loan data if customer have both loans and deposits\r\n\t\t\t\t\tdata = loanData\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(data)\r\n\t\t\t\treturn data\r\n\t\t\t\r\n\t\t\tthrow new Error(t('UpdatingCustomerInfoError'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('UpdatingCustomerInfoError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getSignedDocument\r\n\t * @description Retrieves a signed document.\r\n\t * @param {string} repaymentPlanId - The ID of the repayment plan.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the signed document.\r\n\t * @throws {Error} If there is an error retrieving the signed document.\r\n\t */\r\n\r\n\tasync getSignedDocument(repaymentPlanId: string, t: TFunction) {\r\n\t\tconsole.log('ID:' + repaymentPlanId)\r\n\t\tconst url = apiRoutes.getRepaymentPlan(repaymentPlanId)\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials\r\n\t\t\t\t.get(url, {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\t// Success 🎉\r\n\t\t\t\t\tconsole.log(response)\r\n\t\t\t\t\treturn response.data\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t// Error 😨\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\t/*\r\n\t\t\t\t\t\t * The request was made and the server responded with a\r\n\t\t\t\t\t\t * status code that falls out of the range of 2xx\r\n\t\t\t\t\t\t */\r\n\t\t\t\t\t\tconsole.log(error.response.data)\r\n\t\t\t\t\t\tconsole.log(error.response.status)\r\n\t\t\t\t\t\tconsole.log(error.response.headers)\r\n\t\t\t\t\t} else if (error.request) {\r\n\t\t\t\t\t\t/*\r\n\t\t\t\t\t\t * The request was made but no response was received, `error.request`\r\n\t\t\t\t\t\t * is an instance of XMLHttpRequest in the browser and an instance\r\n\t\t\t\t\t\t * of http.ClientRequest in Node.js\r\n\t\t\t\t\t\t */\r\n\t\t\t\t\t\tconsole.log(error.request)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Something happened in setting up the request and triggered an Error\r\n\t\t\t\t\t\tconsole.log('Error', error.message)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconsole.log(error.config)\r\n\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\r\n\t\t\treturn data\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDocument\r\n\t * @description Retrieves a document by its ID and type.\r\n\t * @param {string} id - The ID of the document.\r\n\t * @param {DocumentTypes} documentType - The type of the document.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise<{ blob: Blob, mimeType: string }>} A promise that resolves to the document and its MIME type.\r\n\t * @throws {Error} If there is an error retrieving the document.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getDocument(id: string, documentType: DocumentTypes, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getDocument(id, documentType), {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => ({\r\n\t\t\t\t\tblob: response.data as Blob,\r\n\t\t\t\t\tmimeType: response.headers['x-contenttype'] as string,\r\n\t\t\t\t}))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error.config)\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function GetApplicationInformation\r\n\t * @description Retrieves application information by application ID.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the application information.\r\n\t * @throws {Error} If there is an error retrieving the application information.\r\n\t */\r\n\r\n\tasync GetApplicationInformation(applicationId: number, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst response =\r\n\t\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\t\tapiRoutes.getApplicationInformation(applicationId),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tif (response.data) {\r\n\t\t\t\t\t//----for testing purpose---\r\n\t\t\t\t\t// response.data.lifeCycleStatus = LifeCycleStatus.Disbursed\r\n\t\t\t\t\t// response.data.signingUrls.pnSigning.status = Status.Signed\r\n\t\t\t\t\t// response.data.signingUrls.psD2.status = Status.Created\r\n\t\t\t\t\t// response.data.signingUrls.psD2.isMandatory = true\r\n\t\t\t\t\t//-----test end-----\r\n\r\n\t\t\t\t\treturn response.data\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ApplicationInformationError'))\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tconsole.log(error)\r\n\t\t\tif (error.response.status === 404)\r\n\t\t\t\tthrow new Error(t('NoApplicationInformationError'))\r\n\t\t\tthrow new Error(t('ApplicationInformationError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function GetSigningUrls\r\n\t * @description Retrieves signing URLs for an application.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {SigningUrlType} signingUrl - The type of signing URL.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the signing URLs.\r\n\t * @throws {Error} If there is an error retrieving the signing URLs.\r\n\t */\r\n\r\n\tasync GetSigningUrls(\r\n\t\tapplicationId: number,\r\n\t\tsigningUrl: SigningUrlType,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst response =\r\n\t\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\t\tapiRoutes.getSigningUrl(applicationId, signingUrl),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tif (response.data) return response.data\r\n\t\t\t\telse throw new Error(t('NoSigningUrlsError'))\r\n\t\t\t}\r\n\r\n\t\t\tthrow new Error(t('SigningUrlsError'))\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function UploadDocument\r\n\t * @description Uploads a document for an application.\r\n\t * @param {FormData} uploadDocumentRequest - The document data to upload.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @throws {Error} If there is an error uploading the document.\r\n\t */\r\n\r\n\tasync UploadDocument(\r\n\t\tuploadDocumentRequest: FormData,\r\n\t\tapplicationId: number,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconsole.log(uploadDocumentRequest)\r\n\t\tlet auth = await getHeadersWithJwtToken()\r\n\r\n\t\tlet headers = {\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: auth.headers.Authorization,\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t},\r\n\t\t}\r\n\t\tconst response = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.uploadDocument(applicationId),\r\n\t\t\tuploadDocumentRequest,\r\n\t\t\theaders,\r\n\t\t)\r\n\t\tif (response.status !== 200) {\r\n\t\t\tthrow new Error(t('UploadDocumentError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDownloadDocuments\r\n\t * @description Retrieves downloadable documents for an application.\r\n\t * @param {string} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of documents.\r\n\t * @throws {Error} If there is an error retrieving the documents.\r\n\t */\r\n\r\n\tasync getDownloadDocuments(applicationId: string, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet response = await transportWithCredentials\r\n\t\t\t\t.get(\r\n\t\t\t\t\tapiRoutes.getDownloadDocuments(applicationId),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\treturn response.data.documents\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tconsole.log(error.response.data)\r\n\t\t\t\t\t\tconsole.log(error.response.status)\r\n\t\t\t\t\t\tconsole.log(error.response.headers)\r\n\t\t\t\t\t} else if (error.request) {\r\n\t\t\t\t\t\tconsole.log(error.request)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('Error', error.message)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconsole.log(error.config)\r\n\r\n\t\t\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(t('DownloadingFileError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getDownloadDocumentById\r\n\t * @description Retrieves a document by its ID.\r\n\t * @param {string} documentId - The ID of the document.\r\n\t * @returns {Promise<{ blob: Blob }>} A promise that resolves to the document.\r\n\t * @throws {Error} If there is an error retrieving the document.\r\n\t */\r\n\r\n\tasync getDownloadDocumentById(documentId: string) {\r\n\t\ttry {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getDownloadDocumentById(documentId), {\r\n\t\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\t\tresponseType: 'blob',\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => ({\r\n\t\t\t\t\tblob: response.data as Blob,\r\n\t\t\t\t}))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error.config)\r\n\t\t\t\t\tthrow new Error(error)\r\n\t\t\t\t})\r\n\t\t\treturn response\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getKycData\r\n\t * @description Retrieves KYC (Know Your Customer) data.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the KYC data.\r\n\t * @throws {Error} If there is an error retrieving the KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getKycData(t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\tapiRoutes.getKycData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tsessionStorage.getItem(CookieType.KycRenewal) ==\r\n\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\tJSON.stringify(response.data.timeToRenew),\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn response.data as IKycData\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\tJSON.stringify(false),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\treturn undefined as unknown as IKycData\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlogError(error)\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tthrow new Error(t('KycError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data as IKycData\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getKycDataWithNationalId\r\n\t * @description Retrieves KYC (Know Your Customer) data using a national ID.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @param {string} nationalId - The national ID to retrieve KYC data for.\r\n\t * @returns {Promise} A promise that resolves to the KYC data.\r\n\t * @throws {Error} If there is an error retrieving the KYC data.\r\n\t */\r\n\r\n\tasync getKycDataWithNationalId(t: TFunction, nationalId: string) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\t`${apiRoutes.getKycData}/${nationalId}`,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tsessionStorage.getItem(CookieType.KycRenewal) ==\r\n\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\tJSON.stringify(response.data.timeToRenew),\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn response.data as IKycData\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tif (error.response) {\r\n\t\t\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\tJSON.stringify(false),\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\treturn undefined as unknown as IKycData\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlogError(error)\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tthrow new Error(t('KycError'))\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn data as IKycData\r\n\t\t} catch (err: any) {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateKycCustomerData\r\n\t * @description Updates KYC (Know Your Customer) data for a customer.\r\n\t * @param {IKycData} customerData - The KYC data to update.\r\n\t * @returns {Promise} A promise that resolves when the KYC data is updated.\r\n\t * @throws {Error} If there is an error updating the KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateKycCustomerData(customerData: IKycData) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.post(\r\n\t\t\t\tapiRoutes.updateKycCustomerData,\r\n\t\t\t\tcustomerData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\tsessionStorage.setItem(CookieType.KycRenewal, 'false')\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthrow new Error(\r\n\t\t\t\t`Something went wrong when trying to update kyc info, please try again later`,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updatePpi\r\n\t * @description Updates PPI (Payment Protection Insurance) data.\r\n\t * @param {IPpiData} ppiData - The PPI data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the PPI data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updatePpi(ppiData: IPpiData, t: TFunction) {\r\n\t\t//if ppi false don´t update px -> unless country is DK\r\n\t\tif (!ppiData.ppi && appConfig.country !== 'dk') return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updatePpi,\r\n\t\t\t\tppiData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return data.status\r\n\t\t\tthrow new Error(t('PpiError'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('PpiError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateSbl\r\n\t * @description Updates SBL (Small Business Loan) data.\r\n\t * @param {ISblData} sblData - The SBL data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the SBL data is updated.\r\n\t * @throws {Error} If there is an error updating the SBL data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateSbl(sblData: ISblData, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateSbl,\r\n\t\t\t\tsblData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('SblError'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('SblError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateMissingKyc\r\n\t * @description Updates missing KYC (Know Your Customer) data.\r\n\t * @param {IUpdateMissingKyc} updateMissingKycData - The missing KYC data to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the missing KYC data is updated.\r\n\t * @throws {Error} If there is an error updating the missing KYC data.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateMissingKyc(\r\n\t\tupdateMissingKycData: IUpdateMissingKyc,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tif (!updateMissingKycData) return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateMissingKyc,\r\n\t\t\t\tupdateMissingKycData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t} catch (error) {\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function addPublicNote\r\n\t * @description Adds a public note.\r\n\t * @param {IAddPublicNote} addPublicNoteData - The data for the public note.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves when the public note is added.\r\n\t * @throws {Error} If there is an error adding the public note.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync addPublicNote(addPublicNoteData: IAddPublicNote, t: TFunction) {\r\n\t\tif (!addPublicNoteData) return\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.addPublicNote,\r\n\t\t\t\taddPublicNoteData,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) return\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t} catch (error) {\r\n\t\t\tthrow new Error(t('UpdatingMissingKycError'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function getFAQ\r\n\t * @description Retrieves FAQ entries for a specific country, product type, and language.\r\n\t * @param {string} country - The country code.\r\n\t * @param {ProductType} productType - The product type.\r\n\t * @param {string} lng - The language code.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to an array of FAQ entries.\r\n\t * @throws {Error} If there is an error retrieving the FAQ entries.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync getFAQ(\r\n\t\tcountry: string,\r\n\t\tproductType: ProductType,\r\n\t\tlng: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst data = await Axios.get(\r\n\t\t\t\tapiRoutes.getFAQ(country, productType, lng),\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\tif (data.data.length !== 0) return data.data as IFaqEntry[]\r\n\t\t\t\telse throw new Error(t('FaqNoLng'))\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tthrow new Error(error.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateBankInfo\r\n\t * @description Updates bank information.\r\n\t * @param {IUpdateBankInfo} bankInfo - The bank information to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the bank information.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateBankInfo(bankInfo: IUpdateBankInfo, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tlet data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateBankInfo,\r\n\t\t\t\tbankInfo,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn data.status\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function updateCustomerConsent\r\n\t * @description Updates customer consents.\r\n\t * @param {IUpdateCustomerConsents} customerConsents - The customer consents to update.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error updating the customer consents.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync updateCustomerConsent(\r\n\t\tcustomerConsents: IUpdateCustomerConsents,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\ttry {\r\n\t\t\tlet data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.updateCustomerConsents,\r\n\t\t\t\tcustomerConsents,\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn data.status\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tthrow new Error(e.message)\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function lookupAddressInAddressService\r\n\t * @description Find Addresses .\r\n\t * @param {inputAddress} inputText - the input text.\r\n\t * @returns {Promise} A promise that resolves to the array of addresses.\r\n\t * @throws {Error} If there is an error retrieving the address array.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n async lookupAddressInAddressService(inputAddress: string) {\r\n\t\t\ttry {\r\n\t\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\t\tapiRoutes.lookupAddressInAddressService(inputAddress),\r\n\t\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t\t)\r\n\t\t\t\tif (data.status === 200) \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\treturn data.data\r\n\t\t\t\t\t}\r\n\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.log(error)\r\n\t\t\t}\t\t\r\n\t},\r\n\r\n\t/**\r\n\t * @function printPn\r\n\t * @description Prints a PN (Promissory Note) for an application.\r\n\t * @param {number} applicationId - The ID of the application.\r\n\t * @param {TFunction} t - The translation function.\r\n\t * @returns {Promise} A promise that resolves to the status code if successful.\r\n\t * @throws {Error} If there is an error printing the PN.\r\n\t * @usage Not in use\r\n\t */\r\n\r\n\tasync printPn(applicationId: number, t: TFunction) {\r\n\t\ttry {\r\n\t\t\tconst data = await transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.printPn,\r\n\t\t\t\t{ applicationId: applicationId },\r\n\t\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t\t)\r\n\r\n\t\t\tif (data.status === 200) return data.status\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function addTermsAndConditionAccepted\r\n\t * @description Adds a record indicating that terms and conditions have been accepted.\r\n\t * @returns {Promise} A promise that resolves when the record is added.\r\n\t * @throws {Error} If there is an error adding the record.\r\n\t */\r\n\r\n\tasync addTermsAndConditionAccepted() {\r\n\t\tconst headers = await getHeadersWithJwtToken()\r\n\t\tconst market =\r\n\t\t\tCountryCode[appConfig.country as keyof typeof CountryCode]\r\n\r\n\t\ttry {\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.addTermsAndConditionAccepted,\r\n\t\t\t\t{ ssn: headers.headers['Customer-Id'], market },\r\n\t\t\t\theaders,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tthrow new Error(error)\r\n\t\t}\r\n\t},\r\n}\r\n\r\nexport default customerDataApiService","import { useCallback, useEffect, useState } from 'react'\r\nimport queryString from 'query-string'\r\nimport { TFunction } from 'i18next'\r\nimport {\r\n\tSigningUrlType,\r\n\tStatus,\r\n\tIgnoreLifeCycleStatus,\r\n} from '../constants/signingTypes'\r\nimport {\r\n\tIApplicationInformation,\r\n\tIApplicationUrlsDto,\r\n\tIDocuments,\r\n} from '../interfaces/i-api-application'\r\nimport customerDataApiService from '../services/customerDataApiService'\r\nimport { getErrorWithFullMessage } from 'shared/index'\r\nimport appConfig from 'app.config'\r\nimport { AxiosError } from 'axios'\r\n\r\ninterface UseApplicationDataProps {\r\n\tapplicationId: string | null\r\n\tt: TFunction\r\n}\r\n\r\nconst getSigningUrlsTypes = (data: IApplicationInformation) => {\r\n\tconst signingUrlTypes: SigningUrlType[] = []\r\n\tconst queryValues = queryString.parse(window.location.search.toLowerCase())\r\n\t//If any status are included in IgnoreLifeCycleStatus, skip fetching signingUrls.\r\n\tif (\r\n\t\tObject.values(IgnoreLifeCycleStatus).includes(\r\n\t\t\tdata?.lifeCycleStatus! as unknown as IgnoreLifeCycleStatus\r\n\t\t)\r\n\t) {\r\n\t\treturn signingUrlTypes\r\n\t}\r\n\tif (appConfig.country === 'es') {\r\n\t\treturn signingUrlTypes\r\n\t} // Temporary solution just so we won't call the getSigningUrls for Spain.\r\n\tif (\r\n\t\tStatus.Signed !== data.signingUrls.pnSigning.status &&\r\n\t\t!data.isCoApplicant\r\n\t) {\r\n\t\tsigningUrlTypes.push(SigningUrlType.ApplicantSigning)\r\n\t}\r\n\tif (Status.Signed !== data.signingUrls.psD2.status && !data.isCoApplicant) {\r\n\t\tsigningUrlTypes.push(SigningUrlType.ApplicantPsd2)\r\n\t}\r\n\tif (\r\n\t\tStatus.Signed !== data.signingUrls.pnSigning.status &&\r\n\t\tdata.isCoApplicant\r\n\t) {\r\n\t\tsigningUrlTypes.push(SigningUrlType.CoapplicantSigning)\r\n\t}\r\n\tif (Status.Signed !== data.signingUrls.psD2.status && data.isCoApplicant) {\r\n\t\tsigningUrlTypes.push(SigningUrlType.CoapplicantPsd2)\r\n\t}\r\n\tif (\r\n\t\tStatus.Signed === data.signingUrls.pnSigning.status ||\r\n\t\tqueryValues.status === 'success'\r\n\t) {\r\n\t\tsigningUrlTypes.push(SigningUrlType.PpiContract)\r\n\t}\r\n\r\n\treturn signingUrlTypes\r\n}\r\n\r\nexport const useApplicationData = ({\r\n\tapplicationId,\r\n\tt,\r\n}: UseApplicationDataProps) => {\r\n\tconst [applicationData, setApplicationData] =\r\n\t\tuseState()\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\tconst [signingUrls, setSigningUrls] = useState()\r\n\tconst [documentData, setDocumentData] = useState()\r\n\r\n\tconst getApplicationAndSigningUrls = useCallback(async () => {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tconst data: IApplicationInformation =\r\n\t\t\t\tawait customerDataApiService.GetApplicationInformation(\r\n\t\t\t\t\tparseInt(applicationId!),\r\n\t\t\t\t\tt\r\n\t\t\t\t)\r\n\t\t\tsetApplicationData(data)\r\n\t\t\tconsole.log(data)\r\n\r\n\t\t\tconst signUrlTypes = getSigningUrlsTypes(data)\r\n\t\t\tconst signingUrls = {} as IApplicationUrlsDto\r\n\t\t\tsignUrlTypes.forEach(async (signingUrlType) => {\r\n\t\t\t\tconst data: IApplicationUrlsDto =\r\n\t\t\t\t\tawait customerDataApiService.GetSigningUrls(\r\n\t\t\t\t\t\t+applicationId!,\r\n\t\t\t\t\t\tsigningUrlType,\r\n\t\t\t\t\t\tt\r\n\t\t\t\t\t)\r\n\t\t\t\tswitch (signingUrlType) {\r\n\t\t\t\t\tcase SigningUrlType.ApplicantSigning:\r\n\t\t\t\t\t\tsigningUrls.applicantSigning = data.applicantSigning\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase SigningUrlType.ApplicantPsd2:\r\n\t\t\t\t\t\tsigningUrls.applicantPsd2 = data.applicantPsd2\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase SigningUrlType.CoapplicantSigning:\r\n\t\t\t\t\t\tsigningUrls.coapplicantSigning = data.coapplicantSigning\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase SigningUrlType.CoapplicantPsd2:\r\n\t\t\t\t\t\tsigningUrls.coapplicantPsd2 = data.coapplicantPsd2\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase SigningUrlType.OnlineIdentification:\r\n\t\t\t\t\t\tsigningUrls.onlineIdentification =\r\n\t\t\t\t\t\t\tdata.onlineIdentification\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\tcase SigningUrlType.PpiContract:\r\n\t\t\t\t\t\tsigningUrls.ppiContract = data.ppiContract\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tsetSigningUrls(signingUrls)\r\n\t\t\tconst documents: IDocuments[] =\r\n\t\t\t\tawait customerDataApiService.getDownloadDocuments(\r\n\t\t\t\t\tapplicationId as string,\r\n\t\t\t\t\tt\r\n\t\t\t\t)\r\n\t\t\tsetDocumentData(documents)\r\n\t\t} catch (e) {\r\n\t\t\tconst error = e as Error | AxiosError\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}, [applicationId, t])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetApplicationAndSigningUrls().finally(() => setLoading(false))\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\treturn {\r\n\t\tapplicationData,\r\n\t\tloading,\r\n\t\terror,\r\n\t\tsigningUrls,\r\n\t\tdocumentData,\r\n\t\tsetError,\r\n\t\tsetLoading,\r\n\t\tsetApplicationData,\r\n\t\tsetDocumentData,\r\n\t\tsetSigningUrls,\r\n\t}\r\n}\r\n","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDownloadInterfaceBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 489.8 489.8\",\n style: {\n enableBackground: \"new 0 0 489.8 489.8\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#DE996F;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"489.8,359.8 444.7,359.8 444.7,431.9 45.1,431.9 45.1,361.3 0,361.3 0,477 489.8,477 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"131.7,174.5 69.1,174.5 249.6,398.9 430.2,174.5 367.6,174.5 367.6,12.8 131.7,12.8 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadInterfaceBronze);\nexport default __webpack_public_path__ + \"static/media/download-interface-bronze.d3522799a3717f65fb3a64acde59000b.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgUploadDocument(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_2\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 53.6 62.82\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{stroke-linecap:round;}.cls-1,.cls-2,.cls-3{stroke-miterlimit:10;}.cls-1,.cls-3{fill:none;stroke:#de996f;stroke-width:2px;}.cls-2{fill:#585857;stroke:#585857;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_57\",\n className: \"cls-2\",\n d: \"M27.92,12.52H7.42c-.39,0-.7-.31-.7-.7,0-.39,.31-.7,.7-.7H27.92c.39,0,.7,.31,.7,.7s-.31,.7-.7,.7h0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_58\",\n className: \"cls-2\",\n d: \"M24.09,48.52H7.25c-.32,0-.58-.31-.58-.7s.26-.7,.58-.7H24.09c.32,0,.58,.31,.58,.7s-.26,.7-.58,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_59\",\n className: \"cls-2\",\n d: \"M39.37,21.52H7.41c-.39,0-.7-.31-.7-.7,0-.39,.31-.7,.7-.7h31.96c.39,0,.7,.31,.7,.7,0,.39-.31,.7-.7,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_60\",\n className: \"cls-2\",\n d: \"M39.37,30.52H7.41c-.39,0-.7-.31-.7-.7s.31-.7,.7-.7h31.96c.39,0,.7,.31,.7,.7s-.31,.7-.7,.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_62\",\n className: \"cls-2\",\n d: \"M28.09,60.74H2.96c-.59,0-1.07-.48-1.07-1.07V2.96c0-.59,.48-1.07,1.07-1.07h29.92c.6,0,1.09,.48,1.1,1.08l.15,8.56c.03,1.36,1.13,2.44,2.49,2.45h8.63c.26,0,.51,.1,.7,.28l.09,.09c.18,.19,.28,.44,.28,.7v20.9c0,.38,.3,.69,.68,.69h.01c.39,0,.7-.31,.7-.7V15.04c0-.44-.12-.87-.35-1.24-.03-.11-.08-.2-.16-.28l-.14-.14c-.05-.06-.1-.11-.16-.16L34.6,1.17c-.07-.07-.14-.12-.23-.15-.43-.33-.95-.52-1.49-.52H2.96c-1.36,0-2.46,1.1-2.46,2.46H.5V59.67c0,1.36,1.1,2.46,2.46,2.46H28.09c.36-.01,.5-.3,.5-.7,0-.62-.27-.69-.5-.69ZM36.6,12.57c-.6,0-1.08-.48-1.1-1.08l-.13-7.62,8.86,8.7h-7.63Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_57-2\",\n className: \"cls-2\",\n d: \"M25.98,39.52H7.26c-.35,0-.64-.31-.64-.7,0-.39,.29-.7,.64-.7H25.98c.35,0,.64,.31,.64,.7s-.29,.7-.64,.7h0Z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"cls-3\",\n cx: 40.6,\n cy: 49.82,\n r: 12\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"cls-1\",\n x1: 40.6,\n y1: 58.16,\n x2: 40.6,\n y2: 42.51\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M33.82,48.25l6.71-5.68s.1-.03,.14,0l6.71,5.68\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUploadDocument);\nexport default __webpack_public_path__ + \"static/media/upload-document.0fbfbce040b321070342967b43b43211.svg\";\nexport { ForwardRef as ReactComponent };","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport React, { useCallback, useEffect, useState } from 'react'\r\nimport download_interface_bronze from 'img/icons/download-interface-bronze.svg'\r\nimport upload_document from 'img/icons/upload-document.svg'\r\nimport { useDropzone } from 'react-dropzone'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { DocumentTypes } from 'shared/constants/documentTypes'\r\nimport { IDocumentDto, IDocuments } from 'shared/interfaces/i-api-application'\r\ninterface IDropZone {\r\n\tfiles: IDocumentDto[]\r\n\tsetFiles: Function\r\n\ttext: string\r\n\tmaxFiles: number\r\n\tdocumentType: DocumentTypes\r\n\ticon?: string\r\n\taccept?: string\r\n\tdropHeading?: string\r\n\tdisabled?: boolean\r\n\tdownloadDocument?: Function\r\n\tdocumentsUploaded?: IDocuments[]\r\n\tbottomText?: string\r\n}\r\n\r\nfunction DropZone({\r\n\tfiles,\r\n\tsetFiles,\r\n\ttext,\r\n\tmaxFiles,\r\n\tdocumentType,\r\n\ticon = upload_document,\r\n\taccept = 'image/jpeg, image/png, application/pdf',\r\n\tdropHeading,\r\n\tdisabled = false,\r\n\tdownloadDocument,\r\n\tdocumentsUploaded,\r\n\tbottomText,\r\n}: IDropZone) {\r\n\tconst { t } = useTranslation()\r\n\tconst [internalItems, setInternalItems] = useState([])\r\n\r\n\tconst onDrop = useCallback(\r\n\t\t(acceptedFiles: File[]) => {\r\n\t\t\tlet items: IDocumentDto[] = []\r\n\t\t\tacceptedFiles.forEach((element: File) => {\r\n\t\t\t\titems.push({\r\n\t\t\t\t\tcontent: element,\r\n\t\t\t\t\tdocumentType: documentType,\r\n\t\t\t\t} as IDocumentDto)\r\n\t\t\t})\r\n\t\t\tsetFiles(files.concat(...items))\r\n\t\t\tsetInternalItems(internalItems.concat(acceptedFiles))\r\n\t\t\tconsole.log('Print_acceptedFiles', acceptedFiles)\r\n\t\t},\r\n\t\t[internalItems, setFiles, files, documentType]\r\n\t)\r\n\tconst { getRootProps, getInputProps, isDragActive } = useDropzone({\r\n\t\tonDrop,\r\n\t\taccept: accept,\r\n\t\tmaxFiles: maxFiles,\r\n\t\tdisabled: disabled,\r\n\t})\r\n\r\n\tconst removeFile = useCallback(\r\n\t\t(item: File) => {\r\n\t\t\tsetFiles(files.filter((file) => file.content !== item))\r\n\t\t\tsetInternalItems(internalItems.filter((file) => file !== item))\r\n\t\t},\r\n\t\t[files, setFiles, internalItems]\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (files.length === 0) setInternalItems([])\r\n\t}, [files])\r\n\r\n\tfunction SelectedItems() {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{internalItems.map((item: any, key: number) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('SelectedFile')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{item.name}
\r\n\t\t\t\t\t\t\t\t removeFile(item)}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tfunction PreviouslyUploadedItems() {\r\n\t\tif (!documentsUploaded?.some((x) => x.type === documentType))\r\n\t\t\treturn <>\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('PreviouslyUploadedDocuments')}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{documentsUploaded?.map((item: IDocuments, key: number) => {\r\n\t\t\t\t\t\tif (item.type === documentType && downloadDocument) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tdownloadDocument(\r\n\t\t\t\t\t\t\t\t\t\t\titem.documentId,\r\n\t\t\t\t\t\t\t\t\t\t\titem.fileName\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{item.fileName}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{bottomText !== undefined && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(bottomText)}\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 DropZone\r\n","import React, { useState } from 'react'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\n\r\ninterface IReadMore {\r\n\tchildren: any\r\n\ttext?: { open: string; closed: string }\r\n\tcolor?: string\r\n\tcollapsedHeight?: string\r\n\texpanded?: boolean\r\n}\r\n\r\nfunction ReadMore({\r\n\tchildren,\r\n\ttext = { open: 'Show less', closed: 'Show more' },\r\n\tcolor,\r\n\tcollapsedHeight,\r\n\texpanded = false,\r\n}: IReadMore) {\r\n\tconst [isExpanded, setExpanded] = useState(expanded)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t setExpanded(!isExpanded)}\r\n\t\t\t\tclassName=\"d-flex flex-row read-more mb-4 mt-3 pointer\">\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{isExpanded ? text.open : text.closed}\r\n\t\t\t\t\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 ReadMore\r\n","import React, { useState, useEffect } from 'react'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nexport enum ActiveSort {\r\n\tAsc,\r\n\tDesc,\r\n\tNone,\r\n}\r\n\r\ninterface IProps {\r\n\tsortAsc: () => void\r\n\tsortDesc: () => void\r\n\tuseActiveArrow?: ActiveSort\r\n}\r\n\r\nexport default function SortingArrows({\r\n\tsortAsc,\r\n\tsortDesc,\r\n\tuseActiveArrow = ActiveSort.None,\r\n}: IProps) {\r\n\tconst [activeArrow, setActiveArrow] = useState(useActiveArrow)\r\n\r\n\tconst sortAscending = () => {\r\n\t\tsetActiveArrow(ActiveSort.Asc)\r\n\t\tsortAsc()\r\n\t}\r\n\r\n\tconst sortDescending = () => {\r\n\t\tsetActiveArrow(ActiveSort.Desc)\r\n\t\tsortDesc()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetActiveArrow(useActiveArrow)\r\n\t}, [useActiveArrow])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t sortAscending()}\r\n\t\t\t\ticon=\"sort-up\"\r\n\t\t\t\tclassName={\r\n\t\t\t\t\t'arrow up ' +\r\n\t\t\t\t\t(activeArrow === ActiveSort.Asc ? 'active' : '')\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t sortDescending()}\r\n\t\t\t\ticon=\"sort-down\"\r\n\t\t\t\tclassName={\r\n\t\t\t\t\t'arrow down ' +\r\n\t\t\t\t\t(activeArrow === ActiveSort.Desc ? 'active' : '')\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n","import { useState, useEffect } from 'react'\r\n\r\n//Use as \" const [value, setValue] = useStateWithSessionStorage( 'myValueInSessionStorage', ); \"\r\n\r\nconst useStateWithSessionStorage = (sessionStorageKey: string) => {\r\n\tconst [value, setValue] = useState(\r\n\t\tsessionStorage.getItem(sessionStorageKey) || ''\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsessionStorage.setItem(sessionStorageKey, value)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [value])\r\n\r\n\treturn [value, setValue] as const\r\n}\r\n\r\nexport default useStateWithSessionStorage\r\n","import { AppConfigurationClient } from '@azure/app-configuration'\r\nimport appConfig from '../../app.config'\r\nimport { logError } from 'shared/AppInsight'\r\n\r\nconst connectionString = process.env\r\n\t.REACT_APP_APPCONFIG_CONNECTION_STRING as string\r\nconst client = new AppConfigurationClient(connectionString)\r\n\r\nconst fallbackConfigValues : { [id: string] : string[] } = {\r\n\tde: [],\r\n\tat: [],\r\n\tno: [],\r\n\tse: ['toggling:deposits', 'toggling:kyc', 'toggling:loans'],\r\n\tfi: ['toggling:deposits', 'toggling:kyc', 'toggling:loans'],\r\n\tee: ['toggling:kyc', 'toggling:loans'],\r\n\tlt: ['toggling:kyc', 'toggling:loans'],\r\n\tlv: ['toggling:kyc', 'toggling:loans'],\r\n}\r\n\r\nfunction getFallbackConfigValues(country: string){\r\n\tif(fallbackConfigValues[country])\r\n\t\treturn fallbackConfigValues[country]\r\n\telse\r\n\t\treturn []\r\n}\r\n\r\nexport interface ConfigError extends Error {\r\n\tresponse: {\r\n\t\tstatus: number\r\n\t}\r\n}\r\n\r\nconst appConfigClient = {\r\n\t/**\r\n\t * Adds a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} value - The value of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync addConfigurationSetting(key: string, value: string, label?: string) {\r\n\t\tawait client\r\n\t\t\t.addConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tvalue: value,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed adding key:', error)\r\n\t\t\t})\r\n\t},\r\n\r\n\t/**\r\n\t * Updates a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} value - The value of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync updateConfigurationSetting(\r\n\t\tkey: string,\r\n\t\tvalue: string,\r\n\t\tlabel?: string,\r\n\t) {\r\n\t\tawait client\r\n\t\t\t.setConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tvalue: value,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed updating key:', error)\r\n\t\t\t})\r\n\t},\r\n\r\n\t/**\r\n\t * Gets configuration settings.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @returns {Promise} - A promise that resolves to an array of toggles.\r\n\t */\r\n\tasync getConfigurationSetting(key: string, label?: string, retryCount: number = 0) : Promise {\r\n\t\ttry {\r\n\t\t\tlet settings = client.listConfigurationSettings({\r\n\t\t\t\tkeyFilter: key,\r\n\t\t\t\tlabelFilter: label ?? appConfig.country,\r\n\t\t\t\tfields: ['key', 'value'],\r\n\t\t\t})\r\n\t\t\t\r\n\t\t\tlet toggles: string[] = []\r\n\t\t\tfor await (const setting of settings) {\r\n\t\t\t\tconsole.log('setting', setting)\r\n\t\t\t\tif (setting.value === 'true') toggles.push(setting.key)\r\n\t\t\t}\r\n\t\t\treturn toggles as string[]\r\n\t\t} catch (err: any) {\r\n\t\t\tif (err.response && err.response.status === 429) {\r\n\t\t\t\tconsole.log(\r\n\t\t\t\t\t'Too many requests to app configuration service, please update subscription',\r\n\t\t\t\t)\r\n\t\t\t\treturn getFallbackConfigValues(appConfig.country) //fallback values\r\n\t\t\t}\r\n\t\t\tconsole.log('getConfigurationSetting retryC: ', retryCount)\r\n\t\t\tconsole.log('Failed to get configuration settings', err)\r\n\t\t\tlogError(err)\r\n\t\t\tif (retryCount < 3) {\r\n\t\t\t\treturn await this.getConfigurationSetting(\r\n\t\t\t\t\tkey,\r\n\t\t\t\t\tlabel,\r\n\t\t\t\t\tretryCount + 1,\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t\treturn getFallbackConfigValues(appConfig.country) //fallback values\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Deletes a configuration setting.\r\n\t * @param {string} key - The key of the configuration setting.\r\n\t * @param {string} [label] - The label of the configuration setting. Defaults to the country from appConfig.\r\n\t * @usage Not in use\r\n\t */\r\n\tasync deleteConfigurationsSetting(key: string, label?: string) {\r\n\t\tawait client\r\n\t\t\t.deleteConfigurationSetting({\r\n\t\t\t\tkey: key,\r\n\t\t\t\tlabel: label ?? appConfig.country,\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tconsole.log('Failed deleting value:', error)\r\n\t\t\t})\r\n\t},\r\n}\r\n\r\nexport default appConfigClient\r\n","import {\r\n\tContext,\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n} from 'react'\r\nimport appConfigurationService from '../services/appConfigurationService'\r\nimport React from 'react'\r\nimport AuthContext from './auth'\r\ninterface IAppConfigContext {\r\n\ttoggle: string[]\r\n\tready: boolean\r\n}\r\n\r\nconst AppConfigContext: Context =\r\n\tcreateContext({\r\n\t\ttoggle: [],\r\n\t\tready: false,\r\n\t})\r\n\r\nexport function UseAzureAppConfigProvider({\r\n\tchildren,\r\n}: PropsWithChildren) {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tconst [toggle, setToggle] = useState([])\r\n\tconst [ready, setReadyState] = useState(false)\r\n\r\n\tconst getConfig = useCallback(async () => {\r\n\t\tawait appConfigurationService\r\n\t\t\t.getConfigurationSetting('toggling*')\r\n\t\t\t.then((data) => {\r\n\t\t\t\tsetToggle(data)\r\n\t\t\t\tsetReadyState(true)\r\n\t\t\t})\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\t//useEffect cleanup function for auth provider\r\n\t\tif (isAuthenticated === true) {\r\n\t\t\tgetConfig()\r\n\t\t}\r\n\t\treturn () => {}\r\n\t}, [getConfig, isAuthenticated])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default AppConfigContext\r\n","import React, { useContext, useEffect } from 'react'\r\nimport { Navigate } from 'react-router-dom'\r\nimport AuthContext from '../contexts/auth'\r\nimport useStateWithSessionStorage from '../hooks/useStateWithSessionStorage'\r\nimport { CookieType } from '../constants/cookieTypes'\r\nimport { UseAzureAppConfigProvider } from '../contexts/azureAppConfig'\r\n\r\ninterface props {\r\n\tcomponent: any\r\n\tpath: any\r\n\tredirect: string\r\n}\r\n\r\nfunction PrivateRoute({ component: Component, redirect }: props) {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n\tconst [value, setValue] = useStateWithSessionStorage(CookieType.RedirectUrl)\r\n\tconst url = window.location.pathname\r\n\tconst args = window.location.search.toLowerCase()\r\n\r\n\tuseEffect(() => {\r\n\t\t// console.log('Login', { auth: isAuthenticated, redir: url + args })\r\n\t\tsetValue(url + args)\r\n\t})\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isAuthenticated ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\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 PrivateRoute\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface IHeading {\r\n\ttitle: any\r\n}\r\n\r\nconst Heading = ({ title }: IHeading) => {\r\n\tconst { t } = useTranslation()\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{t(title)}
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Heading\r\n","import React from 'react'\r\n\r\n//Mainly spinner\r\ninterface ICIrcleSpinner {\r\n\tclassName?: string\r\n}\r\nexport function CircleSpinner({ className }: ICIrcleSpinner) {\r\n\treturn (\r\n\t\t
\r\n\t)\r\n}\r\n\r\n//Loading spinner with three dots\r\nexport function LoadingSpinner() {\r\n\treturn
\r\n}\r\n","import React, { useEffect, useRef, useState } from 'react'\r\n\r\ninterface IProps {\r\n\titem: any\r\n}\r\n\r\nfunction Tooltip({ item }: IProps) {\r\n\tconst [showTooltip, setShowTooltip] = useState(false)\r\n\r\n\tconst node = useRef()\r\n\r\n\tconst handleClick = (e: any) => {\r\n\t\tif (node.current?.contains(e.target)) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tsetShowTooltip(false)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener('mousedown', handleClick)\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('mousedown', handleClick)\r\n\t\t}\r\n\t})\r\n\treturn (\r\n\t\t setShowTooltip(!showTooltip)}\r\n\t\t\tclassName=\"tooltip-tip position-relative p-2\">\r\n\t\t\t{showTooltip && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{item?.text!}\r\n\t\t\t\t\t\t{item?.value}\r\n\t\t\t\t\t
\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 Tooltip\r\n","import React, { useEffect } from 'react'\r\nimport Button from 'react-bootstrap/Button'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Image } from 'react-bootstrap'\r\n\r\nimport TF_logo from 'img/tf-logos/TF_logo.png'\r\n\r\nimport appConfig from 'app.config'\r\n\r\ninterface IIdleTimeOut {\r\n\tshowModal: boolean\r\n\thandleClose: any\r\n\thandleLogout: any\r\n\tremainingTime: number\r\n}\r\n\r\ninterface ITime {\r\n\tseconds: number\r\n\tminutes: number\r\n}\r\n\r\nexport const IdleTimeOutModal = ({\r\n\tshowModal,\r\n\thandleClose,\r\n\thandleLogout,\r\n\tremainingTime,\r\n}: IIdleTimeOut) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [time, setTime] = React.useState({\r\n\t\tseconds: remainingTime,\r\n\t\tminutes: 0,\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\tconst interval = setInterval(() => {\r\n\t\t\tif (showModal) {\r\n\t\t\t\tif (time.seconds % 2) {\r\n\t\t\t\t\tdocument.title = t('IdleTimeout')\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdocument.title = t('Title')\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (time.seconds > 0) {\r\n\t\t\t\t\tsetTime((prev) => ({\r\n\t\t\t\t\t\t...prev,\r\n\t\t\t\t\t\tseconds: time.seconds - 1,\r\n\t\t\t\t\t}))\r\n\t\t\t\t} else {\r\n\t\t\t\t\thandleLogout()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, 1000)\r\n\t\treturn () => clearInterval(interval)\r\n\t})\r\n\r\n\tfunction clearCounterAndHandleClose() {\r\n\t\tsetTime((prev) => ({\r\n\t\t\t...prev,\r\n\t\t\tseconds: remainingTime,\r\n\t\t}))\r\n\t\tdocument.title = t('Title')\r\n\t\thandleClose()\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('LogoutWarning', { time })}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","export enum CustomerForm {\r\n\tDepositForm = 'DepositForm',\r\n\tLoanForm = 'LoanForm',\r\n\tTestForm = 'TestForm',\r\n\tSetPasswordIdCheckForm = 'SetPasswordIdCheckForm',\r\n\tContactForm = 'ContactForm',\r\n\tCashToAccountForm = 'CashToAccountForm',\r\n\tCustomerInformationFormSDD = 'CustomerInformationFormSDD',\r\n\tOtpStartFormEs = 'OtpStartFormEs',\r\n\tOtpCompleteForm = 'OtpCompleteForm',\r\n}\r\n","export enum DocumentTypes {\r\n\tOther = 'Other',\r\n\tSignedPromissoryNote = 'SignedPromissoryNote',\r\n\tIdCard = 'IdCard',\r\n\tTaxReturn = 'TaxReturn',\r\n\tBankStatement = 'BankStatement',\r\n\tEmploymentCertificate = 'EmploymentCertificate',\r\n\tPromissoryNote = 'PromissoryNote',\r\n\tRepaymentPlan = 'RepaymentPlan',\r\n\tPayroll = 'Payroll',\r\n\tAnalytic = 'Analytic',\r\n\tCarDocument = 'CarDocument',\r\n\tApplicantConsent = 'ApplicantConsent',\r\n\tSpouseConsent = 'SpouseConsent',\r\n\tApplicantSignedConsent = 'ApplicantSignedConsent',\r\n\tSpouseSignedConsent = 'SpouseSignedConsent',\r\n\tOriginalData = 'OriginalData',\r\n\tIdNowIdentification = 'IdNowIdentification',\r\n\tPpiContract = 'PpiContract',\r\n\tPpiContractSigned = 'PpiContractSigned',\r\n\tActivationSlip = 'ActivationSlip',\r\n\tPassport = 'Passport',\r\n\tIdOther = 'IdOther',\r\n\tAddressProof = 'AddressProof',\r\n\tResidencePermit = 'ResidencePermit',\r\n\tRegistrationCertificate = 'RegistrationCertificate',\r\n\tVideoId = 'VideoId',\r\n}\r\n","export enum LoanType {\r\n\tDirectSales = 'DirectSales',\r\n\tCreditLine = 'CreditLine',\r\n\tOther = 'Other',\r\n\tCash = 'Cash',\r\n\tSmallLoan = 'SmallLoan',\r\n\tCarLoan = 'CarLoan',\r\n\tRefinancingLoan = 'RefinancingLoan',\r\n\tMortgageLoan = 'MortgageLoan',\r\n\tRenovationLoan = 'RenovationLoan',\r\n}\r\n\r\nexport enum SortPropType {\r\n\tagreementNumber = 'agreementNumber',\r\n\tunpaidInvoices = 'unpaidInvoices',\r\n\texternalPartnerName = 'externalPartnerName',\r\n\tlatestDisbursementDate = 'latestDisbursementDate',\r\n}\r\n\r\nexport enum ProductType {\r\n\tFinHalens = 'FinHalens',\r\n\tFinCredento = 'FinCredento',\r\n\tSweHalens = 'SweHalens',\r\n\tSweCredento = 'SweCredento',\r\n\tPolCredento = 'PolCredento',\r\n\tEstTfbank = 'EstTfbank',\r\n\tNorCredento = 'NorCredento',\r\n\tPolDirectSales = 'PolDirectSales',\r\n\tEstCreditLine = 'EstCreditLine',\r\n\tEstCreditLineInvoice = 'EstCreditLineInvoice',\r\n\tEstDirectSales = 'EstDirectSales',\r\n\tLvaCashLoan = 'LvaCashLoan',\r\n\tEstCarLoan = 'EstCarLoan',\r\n\tLvaCarLoan = 'LvaCarLoan',\r\n\tLtuCashLoan = 'LtuCashLoan',\r\n\tAutCashLoan = 'AutCashLoan',\r\n\tSweCashLoan = 'SweCashLoan',\r\n\tLtuDirectSales = 'LtuDirectSales',\r\n\tLtuCarLoan = 'LtuCarLoan',\r\n\tLtuRenovation = 'LtuRenovation',\r\n\tDeuCreditCard = 'DeuCreditCard',\r\n\tEstRefin = 'EstRefin',\r\n\tLvaRefin = 'LvaRefin',\r\n\tLtuRefin = 'LtuRefin',\r\n\tFinRefin = 'FinRefin',\r\n\tEstMortgage = 'EstMortgage',\r\n\tLvaDirectSales = 'LvaDirectSales',\r\n\tLtuCreditLine = 'LtuCreditLine',\r\n\tLvaCreditLine = 'LvaCreditLine',\r\n\tLtuCreditLineTf = 'LtuCreditLineTf',\r\n\tLvaCreditLineTf = 'LvaCreditLineTf',\r\n\tEstCreditLineTf = 'EstCreditLineTf',\r\n\tDnkCashLoan = 'DnkCashLoan',\r\n\tEspCashLoan = 'EspCashLoan',\r\n\tEspCreditCard = 'EspCreditCard',\r\n\tNorRefin = 'NorRefin',\r\n\tFinCashLoan = 'FinCashLoan',\r\n\tFinHalensLoan = 'FinHalensLoan',\r\n\tFinRefinLoan = 'FinRefinLoan',\r\n\tFinRefinPpi = 'FinRefinPpi',\r\n\tFinHalensLoanPpi = 'FinHalensLoanPpi',\r\n\tFinCashLoanPpi = 'FinCashLoanPpi',\r\n\tFinRefinLoanPpi = 'FinRefinLoanPpi',\r\n}\r\n\r\nexport enum PaymentReliefTypes {\r\n\tPaymentHolidayWithInterestAndFees = 'PaymentHolidayWithInterestAndFees',\r\n\tPaymentHolidayCumulatedInterest = 'PaymentHolidayCumulatedInterest',\r\n\tPaymentHolidayNordic = 'PaymentHolidayNordic',\r\n\tSkipCollection = 'SkipCollection',\r\n\tMixedPricing = 'MixedPricing',\r\n\tPaymentHolidayWithSplitInterest = 'PaymentHolidayWithSplitInterest',\r\n\tAutomaticPaymentHolidayNordic = 'AutomaticPaymentHolidayNordic',\r\n\tFreePPI = 'FreePPI',\r\n\tPaymentHolidayWithoutInterestAndFees = 'PaymentHolidayWithoutInterestAndFees',\r\n\tPayInterestOnFirstInvoices = 'PayInterestOnFirstInvoices',\r\n\tMixedPricingDPD = 'MixedPricingDPD',\r\n\tAutomaticPaymentHolidayCumulatedInterest = 'AutomaticPaymentHolidayCumulatedInterest ',\r\n\tPaymentHolidayCumulatedInterestAndFee = 'PaymentHolidayCumulatedInterestAndFee',\r\n}\r\n","import { ProductType } from 'original/constants/enums/LoanType'\r\nimport React, { useState, useMemo, useCallback } from 'react'\r\nimport Draggable from 'react-draggable'\r\nimport { Container } from 'react-bootstrap'\r\nimport { IApplicationInformation } from 'shared'\r\nimport {\r\n\tDecision,\r\n\tLifeCycleStatus,\r\n\tStatus,\r\n} from 'shared/constants/signingTypes'\r\nimport { useLocation, useNavigate } from 'react-router'\r\nimport { AllCountries, NationalityType } from 'shared/constants/countryTypes'\r\nimport {\r\n\tAccommodationType,\r\n\tChildrenAge,\r\n\tEducation,\r\n\tEmploymentSector,\r\n\tGender,\r\n\tMaritalStatus,\r\n\tMissingKycValues,\r\n\tOccupationType,\r\n} from 'shared/constants/kycTypes'\r\n\r\n//let _queryValues = queryString.parse(window.location.search.toLowerCase())\r\n\r\nexport function useDeveloperTesting(func: any) {\r\n\tconst [testData, setTestData] =\r\n\t\tuseState(MockedModel)\r\n\tconst [query, setQuery] = useState('')\r\n\tconst location = useLocation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst changeValue = useCallback(\r\n\t\t(type: NationalityType) => {\r\n\t\t\tsetTestData({\r\n\t\t\t\t...testData,\r\n\t\t\t\tpersonalInfo: {\r\n\t\t\t\t\tfirstName: 'ZeusFirs',\r\n\t\t\t\t\tlastName: 'ZeusLast',\r\n\t\t\t\t\t// ssn: '1234567',\r\n\t\t\t\t\t// birthDate: '1975-03-26',\r\n\t\t\t\t\tgender: Gender.Female,\r\n\t\t\t\t\tmaritalStatus: MaritalStatus.Married,\r\n\t\t\t\t\tnationalityType: NationalityType.EU,\r\n\t\t\t\t\tnationality: AllCountries.DE,\r\n\t\t\t\t\tcountryOfBirth: AllCountries.DE,\r\n\t\t\t\t\tmissingKyc: [] as MissingKycValues[],\r\n\t\t\t\t\tmissingKycFields: '',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t},\r\n\t\t[testData]\r\n\t)\r\n\r\n\tconst onClick = useCallback(\r\n\t\t(e: string) => {\r\n\t\t\tconst params = new URLSearchParams()\r\n\t\t\tparams.append('applicationid', '300063178')\r\n\t\t\tparams.append('status', e)\r\n\t\t\tnavigate({ search: params.toString() })\r\n\t\t\tsetQuery(e)\r\n\t\t},\r\n\t\t[location] //eslint-disable-line\r\n\t)\r\n\r\n\tconst nodeRef = React.useRef(null)\r\n\r\n\tconst Controls = useMemo(() => {\r\n\t\treturn () => (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tTesting Panel\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{/* onClick('success')}>\r\n\t\t\t\t\t\t\t\t\tPrimary\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t onClick('ok')}>\r\n\t\t\t\t\t\t\t\t\tSign PSD2 with callback\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t changeValue()}>\r\n\t\t\t\t\t\t\t\t\tSet amount to 1337\r\n\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tchangeValue(NationalityType.German)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tSet German citizen\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tchangeValue(NationalityType.NonEU)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\tSet NonEU citizen\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}, [changeValue, onClick]) //eslint-disable-line\r\n\r\n\treturn { Controls, query, location, testData }\r\n}\r\n\r\nexport const MockedModel: IApplicationInformation = {\r\n\tapprovedAmount: 200000,\r\n\tapprovedRepaymentPeriod: 72,\r\n\tapr: 0.32,\r\n\tdecision: Decision.Approved,\r\n\teuribor: 0,\r\n\thasCoApplicant: false,\r\n\tinstalment: 102.9,\r\n\tinsuranceFee: 0,\r\n\tinterestRate: 0.279,\r\n\tisCoApplicant: false,\r\n\tlifeCycleStatus: LifeCycleStatus.CustomerVerification,\r\n\tloanNumber: 300063178,\r\n\tmonthlyFee: 2.9,\r\n\topeningFee: 29,\r\n\tpersonalInfo: {\r\n\t\tfirstName: 'ZeusFirs',\r\n\t\tlastName: 'ZeusLast',\r\n\t\t// ssn: '1234567',\r\n\t\t// birthDate: '1975-03-26',\r\n\t\tgender: Gender.Female,\r\n\t\tmaritalStatus: MaritalStatus.Married,\r\n\t\tnationalityType: NationalityType.EU,\r\n\t\tnationality: AllCountries.DE,\r\n\t\tcountryOfBirth: AllCountries.DE,\r\n\t\tmissingKyc: [] as MissingKycValues[],\r\n\t\tmissingKycFields: '',\r\n\t},\r\n\tppi: true,\r\n\tproduct: ProductType.NorCredento,\r\n\tsigningUrls: {\r\n\t\tonlineIdentification: {\r\n\t\t\turl: '',\r\n\t\t\tstatus: Status.NotCreated,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tpnSigning: {\r\n\t\t\turl: 'https://preprod.signicat.com/std/docaction/bbbank?…mnr4otf909d7439b6n7u5so8gec&task_id:MainApplicant',\r\n\t\t\tstatus: Status.Created,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tppiSigning: {\r\n\t\t\turl: '',\r\n\t\t\tstatus: Status.NotCreated,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t\tpsD2: {\r\n\t\t\turl: 'https://altinnnowmock-clientUrl/f79b062f-35b4-441c-9bc8-986b5a9b0acb',\r\n\t\t\tstatus: Status.Created,\r\n\t\t\tisMandatory: false,\r\n\t\t},\r\n\t},\r\n\ttopUp: { number: '', balance: 0 },\r\n\ttotalAmountToBeRepaid: 200609.39,\r\n\tdateCreated: '2020.20.20',\r\n\tbankInfo: {\r\n\t\taccountNumber: '1234',\r\n\t\tiban: 'DE25110101014339847070',\r\n\t\tdirectDebitAccount: '',\r\n\t\tdirectDebitClearingNumber: '',\r\n\t\tdirectDebitIban: '',\r\n\t},\r\n\tkycUpdated: false,\r\n\tcustomerConsents: {\r\n\t\tallowMarketing: false,\r\n\t\tpensionRegister: false,\r\n\t\tprocessAccountData3rdParty: false,\r\n\t\tprocessData: false,\r\n\t\tprocessData3rdParty: false,\r\n\t},\r\n\taddress: {\r\n\t\tstreet: 'The Street',\r\n\t\tstreetNumber: '12',\r\n\t\tcity: 'Cityville',\r\n\t\tzip: '12345',\r\n\t\tcountryOfResidence: AllCountries.DE,\r\n\t\tstreetType: '',\r\n\t\tflatNumber: '',\r\n\t\tcareOf: '',\r\n\t\tregionId: 0,\r\n\t},\r\n\taccommodation: {\r\n\t\tcost: 20,\r\n\t\ttype: AccommodationType.Owner,\r\n\t\tsince: '1999-03-26',\r\n\t\tchildrenInFamily: 1,\r\n\t\tsalesValue: 100000,\r\n\t\tadultsInFamily: 1,\r\n\t\tchildrenAge: [ChildrenAge.ElevenToFourteen],\r\n\t},\r\n\tcontacts: {\r\n\t\thomePhone: '',\r\n\t\tcellPhone: '08080908080',\r\n\t\tofficePhone: '',\r\n\t\temail: 'test@test.se',\r\n\t},\r\n\temployment: {\r\n\t\tmonthlyNetIncome: 50000,\r\n\t\toccupationType: OccupationType.Entrepreneur,\r\n\t\temployerName: 'IKEA',\r\n\t\temployedSince: '1980-03-26',\r\n\t\temploymentSector: EmploymentSector.Administration,\r\n\t\teducation: Education.ProfessEducation,\r\n\t\totherIncome: '',\r\n\t},\r\n\toffer: {\r\n\t\trepaymentPeriodMin: 12,\r\n\t\trepaymentPeriodMax: 24,\r\n\t\tinterestRate: 12,\r\n\t\teffectiveInterestRate: 4,\r\n\t\tamountMin: 1000,\r\n\t\tamountMax: 10000,\r\n\t\tmaxInstallment: 500,\r\n\t},\r\n\tcreditLimit: 0,\r\n\trdi: -1000,\r\n}\r\n\r\nexport const redirectSigningPSD2 = {\r\n\tsuccess: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=success`,\r\n\tfail: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=fail`,\r\n\tabort: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&psd2status=abort`,\r\n}\r\nexport const redirectSigning = {\r\n\tsuccess: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=success`,\r\n\tfail: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=fail`,\r\n\tabort: (applicationId: number) =>\r\n\t\t`application?applicationid=${applicationId}&status=abort`,\r\n}\r\n","/**\r\n * @module idleTimerService\r\n * @description Service for handling idle timer functionality.\r\n */\r\n\r\n/**\r\n * @interface ITimer\r\n * @description Represents the state of the idle timer.\r\n * @property {number} timeout - The timeout duration in milliseconds.\r\n * @property {boolean} showModal - Indicates whether to show the modal.\r\n * @property {boolean} userLoggedIn - Indicates whether the user is logged in.\r\n * @property {boolean} isTimedOut - Indicates whether the timer has timed out.\r\n * @property {any} counter - The counter object.\r\n */\r\nexport interface ITimer {\r\n\ttimeout: number\r\n\tshowModal: boolean\r\n\tuserLoggedIn: boolean\r\n\tisTimedOut: boolean\r\n\tcounter: any\r\n}\r\n\r\n/**\r\n * @namespace idleTimerService\r\n * @description Service methods for handling idle timer functionality.\r\n */\r\nexport const idleTimerService = {\r\n\t/**\r\n\t * @function onAction\r\n\t * @description Callback function to be executed when user performs an action.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\tonAction: (setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t},\r\n\r\n\t/**\r\n\t * @function onActive\r\n\t * @description Callback function to be executed when user is active.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\tonActive: (setTimer: any) => {\r\n\t\tconsole.log('user is active')\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t},\r\n\r\n\t/**\r\n\t * @function onIdle\r\n\t * @description Callback function to be executed when user is idle.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t * @param {ITimer} timer - The current timer state.\r\n\t */\r\n\tonIdle: (setTimer: any, timer: any) => {\r\n\t\tif (!timer.isTimedOut) {\r\n\t\t\tsetTimer((prev: any) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tshowModal: true,\r\n\t\t\t\tisTimedOut: true,\r\n\t\t\t}))\r\n\t\t} else {\r\n\t\t\t// Never reach this code with current settings\r\n\t\t\tsetTimer((prev: any) => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tshowModal: false,\r\n\t\t\t}))\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @function handleClose\r\n\t * @description Handles the closing of the idle timer modal.\r\n\t * @param {any} idleTimer - The idle timer object.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\thandleClose: (idleTimer: any, setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tshowModal: false,\r\n\t\t\tisTimedOut: false,\r\n\t\t}))\r\n\t\tconsole.log('..user closed modal')\r\n\t\tidleTimer.current.reset() // Reset idle timer to initial settings\r\n\t},\r\n\r\n\t/**\r\n\t * @function handleLogout\r\n\t * @description Handles the user logout process.\r\n\t * @param {function} navigate - Function to navigate to a different page.\r\n\t * @param {function} setTimer - Function to update the timer state.\r\n\t */\r\n\thandleLogout: (navigate: any, setTimer: any) => {\r\n\t\tsetTimer((prev: any) => ({\r\n\t\t\t...prev,\r\n\t\t\tshowModal: false,\r\n\t\t}))\r\n\t\tnavigate('/logout')\r\n\t\tconsole.log('..user is logged out')\r\n\t},\r\n}\r\n","export enum IdentificationType {\r\n\tIdCard = 'IdCard',\r\n\tPassport = 'Passport',\r\n\tResidencePermit = 'ResidencePermit',\r\n\tDefault = 'defaultOptionValue',\r\n}\r\n","import appConfig from 'app.config'\r\n\r\nexport const appRoutes = {\r\n\tstartpage: '/',\r\n\tlogin: '/login',\r\n\tcallbackPage: '/callback',\r\n\tnorwegianBankIdCallback: '/norwegianbankidcallback',\r\n\tlogout: '/logout',\r\n\tlogoutcallback: '/logoutcallback',\r\n\tcardApplicationPage: '/cardapplication',\r\n\tcardApplicationLogin: '/cardapplicationlogin',\r\n\tpaymentVerification: '/auth/payment-verification',\r\n\tsepadirectdebit: '/sepadirectdebit',\r\n\treferfriends: '/referfriends',\r\n\trevokeaddresschange: '/revokeaddresschange/:id',\r\n}\r\n\r\nexport const apiRoutes = {\r\n\tgetCreditCardData: (customerId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/creditcard?customerId=${customerId}&includeBlockedAuthorizations=true`,\r\n\tgetTransactions: (\r\n\t\taccountAgreementId: string,\r\n\t\taccountTransactionDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n\tgetTransactionsByDates: (\r\n\t\taccountAgreementId: string,\r\n\t\tstartDate: string,\r\n\t\tendDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/paged/transactions?accountAgreementId=${accountAgreementId}&startDate=${startDate}&endDate=${endDate}&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n\tgetCustomer: (customerId: string, birthDate: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/user/mobileapp/customer?customerId=${customerId}&birthDate=${birthDate}`,\r\n\tupdateCustomer: `${appConfig.customerDataBaseUrl}/api/user/mobileapp/updatecustomer`,\r\n\tgetAccountStatements: (\r\n\t\tcustomerId: string,\r\n\t\taccountStatementFormat: string,\r\n\t\tadditionalData: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n\tgetAccountStatement: (accountStatementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatement?accountStatementId=${accountStatementId}`,\r\n\tgetPinUrl: (cardId: number, country: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/pin/url?cardId=${cardId}&iMSGetPinCountryType=${country}`,\r\n\tsetPassword: `${appConfig.customerDataBaseUrl}/api/enrollment/onlinepurchase/enrollcard`,\r\n\tgetDepositData: (customerId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/agreement?customerId=${customerId}`,\r\n\tgetDepositTransactions: (\r\n\t\taccountAgreementId: string,\r\n\t\taccountTransactionDate: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}`,\r\n\tsendEmailSsp: `${appConfig.customerDataBaseUrl}/api/support/ssp/email`,\r\n\tgetAccountStatementsDeposit: (\r\n\t\tcustomerId: string,\r\n\t\taccountStatementFormat: string,\r\n\t\tadditionalData: string,\r\n\t) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n\tgetAccountStatementDeposit: (accountStatementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatement?accountStatementId=${accountStatementId}`,\r\n\tgetAnnualReport: (accountAgreementId: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/annualreport?accountAgreementId=${accountAgreementId}`,\r\n\tupdateCardStatus: `${appConfig.customerDataBaseUrl}/api/creditcard/updatecardstatus`,\r\n\torderNewCard: `${appConfig.customerDataBaseUrl}/api/creditcard/newcard`,\r\n\tgetAgreementHistory: () =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/agreements`,\r\n\tgetMaintenanceInfo: (market: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/maintenance/next?market=${market}`,\r\n\tgetMarketingData: (market: string) =>\r\n\t\t`${appConfig.customerDataBaseUrl}/api/customerservice/marketing/next?market=${market}`,\r\n}\r\n","import React, { useContext } from 'react'\r\nimport appConfig from 'app.config'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport './maintenanceWindow.scss'\r\nimport MaintenanceContext from 'shared/contexts/MaintenanceContext'\r\n\r\nconst MaintenanceWindow = () => {\r\n\tconst { maintenanceData, setMaintenanceData } =\r\n\t\tuseContext(MaintenanceContext)\r\n\tconst countryCode = appConfig.country.toUpperCase()\r\n\r\n\tenum propName {\r\n\t\tdurationMessage = 'durationMessage',\r\n\t\tpreMessage = 'preMessage',\r\n\t}\r\n\r\n\tconst getDurationMessage = GetPropertyDescriptor(propName.durationMessage)\r\n\t\t?.value\r\n\r\n\tconst getPreMessage = GetPropertyDescriptor(propName.preMessage)?.value\r\n\r\n\tfunction GetPropertyDescriptor(propertyName: propName) {\r\n\t\treturn Object.getOwnPropertyDescriptor(\r\n\t\t\tmaintenanceData,\r\n\t\t\t`${propertyName}${countryCode}`,\r\n\t\t)\r\n\t}\r\n\r\n\tfunction IfMaintenanceWindow() {\r\n\t\tlet startTime = new Date(maintenanceData?.maintenanceWindowFrom!)\r\n\t\tlet endTime = new Date(maintenanceData?.maintenanceWindowTo!)\r\n\t\tlet preStartTime = new Date(startTime)\r\n\t\tlet timeNow = new Date(Date.now())\r\n\t\tlet preMessageTimeInMinutes = maintenanceData?.minutesBeforeMaintenance!\r\n\t\tpreStartTime.setMinutes(\r\n\t\t\tstartTime.getMinutes() - preMessageTimeInMinutes,\r\n\t\t)\r\n\t\treturn {\r\n\t\t\tisPreMessage: timeNow < startTime && timeNow > preStartTime,\r\n\t\t\tisInTimeRange: timeNow > preStartTime && timeNow < endTime,\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{getDurationMessage &&\r\n\t\t\t\tgetDurationMessage !== '' &&\r\n\t\t\t\tIfMaintenanceWindow().isInTimeRange && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{IfMaintenanceWindow().isPreMessage\r\n\t\t\t\t\t\t\t\t\t\t? getPreMessage\r\n\t\t\t\t\t\t\t\t\t\t: getDurationMessage}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setMaintenanceData()}\r\n\t\t\t\t\t\t\t\ticon=\"times\"\r\n\t\t\t\t\t\t\t\tcolor=\"#fff\"\r\n\t\t\t\t\t\t\t\taria-hidden=\"false\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MaintenanceWindow\r\n","import React, { createContext, Context, useState, useEffect } from 'react'\r\nimport { IMaintenance } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { waitForLanguage, getMarket } from 'shared/utils/helpers'\r\nimport { logError } from 'shared/AppInsight'\r\nimport Axios from 'axios'\r\nimport { apiRoutes } from '../../selfServicePortal/constants/routes'\r\nimport MaintenanceWindow from '../components/MaintenanceWindow/MaintenanceWindow'\r\nimport appConfig from 'app.config'\r\n\r\nconst transportWithCredentials = Axios.create({})\r\ntransportWithCredentials.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\ninterface IMaintenanceContext {\r\n\tmaintenanceData: IMaintenance | undefined\r\n\tsetMaintenanceData: Function\r\n}\r\n\r\nconst MaintenanceContext: Context =\r\n\tcreateContext({\r\n\t\tmaintenanceData: undefined,\r\n\t\tsetMaintenanceData: () => {},\r\n\t})\r\n\r\nexport function MaintenanceContextProvider() {\r\n\tconst [maintenanceData, setMaintenanceData] = useState()\r\n\r\n\tconst maintenanceInfo = {\r\n\t\tasync getMaintenanceInfo() {\r\n\t\t\tconst response = await transportWithCredentials\r\n\t\t\t\t.get(apiRoutes.getMaintenanceInfo(getMarket()!))\r\n\t\t\t\t.then((result) => {\r\n\t\t\t\t\tif (result.status === 204) return undefined\r\n\t\t\t\t\treturn result.data as IMaintenance\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tlogError(err)\r\n\t\t\t\t\tif (err.response?.status === 404) {\r\n\t\t\t\t\t\tthrow new Error(\r\n\t\t\t\t\t\t\t'There is no maintenancedata for chosen market',\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow err\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\treturn response as IMaintenance\r\n\t\t},\r\n\t}\r\n\tconst getMaintenanceInfo = async () => {\r\n\t\ttry {\r\n\t\t\tlet data = await maintenanceInfo.getMaintenanceInfo()\r\n\t\t\tif (data !== undefined) setMaintenanceData(data)\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function checkMaintenanceInfo() {\r\n\t\t\tif (await maintenanceInfo) {\r\n\t\t\t\tgetMaintenanceInfo()\r\n\t\t\t}\r\n\t\t}\r\n\t\tcheckMaintenanceInfo()\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{maintenanceData &&\r\n\t\t\t\tmaintenanceData.affectedMarkets.includes(appConfig.country) && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default MaintenanceContext\r\n","import appConfig from 'app.config'\r\n\r\n/**\r\n * Returns the Location object's URL's origin + callback path.\r\n * @param {string} callbackPath to callback\r\n */\r\nexport function getReturnUrl(callbackPath: string = '/callback') {\r\n\treturn window.location.origin + callbackPath\r\n}\r\n\r\n/**\r\n * Returns the Location object's URL's origin + callback path.\r\n * @param {string} callbackPath to callback\r\n */\r\nexport function getSignicatReturnUrl(\r\n\tcallbackPath: string = '/signicatcallback'\r\n) {\r\n\treturn window.location.origin + callbackPath\r\n}\r\n\r\n/**\r\n * Returns the Location object's URL's origin + callback path.\r\n * @param {string} callbackPath to callback\r\n */\r\nexport function getNorwegianBankIdReturnUrl(\r\n\tcallbackPath: string = '/norwegianbankidcallback'\r\n) {\r\n\treturn window.location.origin + callbackPath\r\n}\r\n\r\n/**\r\n * Returns masked version of ssn\r\n * @param ssn\r\n * @returns\r\n */\r\nexport function maskSsn(ssn: string) {\r\n\tif (appConfig.country === 'se') return ssn.substr(0, ssn.length - 4)\r\n\treturn ssn\r\n}\r\n\r\nexport function formatBirthDateWithDashes(birthDateOnlyNumbers: string) {\r\n\tconst formattedBirthDate =\r\n\t\tbirthDateOnlyNumbers.slice(0, 4) +\r\n\t\t'-' +\r\n\t\tbirthDateOnlyNumbers.slice(4, 6) +\r\n\t\t'-' +\r\n\t\tbirthDateOnlyNumbers.slice(6, 8)\r\n\treturn formattedBirthDate\r\n}\r\n\r\n/**\r\n * Returns the Location object's URL's origin + callback path.\r\n * @param {string} callbackPath to callback\r\n */\r\nexport function geteParakstsReturnUrl(\r\n\tcallbackPath: string = '/eparakstscallback'\r\n) {\r\n\treturn window.location.origin + callbackPath\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { Button, Form, FormControl } from 'react-bootstrap'\r\nimport { AxiosError } from 'axios'\r\nimport { formatBirthDateWithDashes, getReturnUrl } from 'auth/utils/authHelpers'\r\nimport NumberFormat from 'react-number-format'\r\nimport { ErrorMessageLegacy, logError, ValidationError } from 'shared'\r\nimport { IGermanyOtpStartRequest } from 'auth/interfaces/i-otpid'\r\nimport appConfig from 'app.config'\r\n\r\ninterface IError {\r\n\tcustomerId: Error | undefined\r\n\tbirthDate: Error | undefined\r\n\terror: Error | undefined\r\n\totp: Error | undefined\r\n}\r\n\r\ninterface GermanyOtpProps {\r\n\tonError?(error: Error): void\r\n}\r\n\r\nconst loginLink = {\r\n\tde: 'https://tfbank.de/blog/kundennummer',\r\n\tat: 'https://tfbank.at/tf-bank-blog/kundennummer',\r\n}[appConfig.country]\r\n\r\nconst GermanyOtp = ({ onError = () => {} }: GermanyOtpProps) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [customerId, setCustomerId] = useState('')\r\n\tconst [birthDate, setBirthDate] = useState('')\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst [secret, setSecret] = useState('')\r\n\tconst [done, setDone] = useState(false)\r\n\r\n\tconst [error, setError] = useState({\r\n\t\tcustomerId: undefined,\r\n\t\tbirthDate: undefined,\r\n\t\terror: undefined,\r\n\t\totp: undefined,\r\n\t})\r\n\r\n\tconst loginStart = async (birthDate: string, customerId: string) => {\r\n\t\tlet err: IError = {\r\n\t\t\tcustomerId: undefined,\r\n\t\t\tbirthDate: undefined,\r\n\t\t\terror: undefined,\r\n\t\t\totp: undefined,\r\n\t\t}\r\n\t\tsetError(err)\r\n\r\n\t\tif (!/^\\d{8}$/.test(birthDate)) {\r\n\t\t\terr.birthDate = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\r\n\t\tif (!/^\\d{7,10}$/.test(customerId)) {\r\n\t\t\terr.customerId = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\t\tif (err.birthDate || err.customerId) {\r\n\t\t\tsetError(err)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst formattedBirthDate = formatBirthDateWithDashes(birthDate)\r\n\r\n\t\tsetLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst { secret: newSecret } =\r\n\t\t\t\tawait authenticationService.germanyOtpStart(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tbirthDate: formattedBirthDate,\r\n\t\t\t\t\t\tcustomerId: customerId!,\r\n\t\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t\t} as IGermanyOtpStartRequest,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\tsetSecret(newSecret)\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconst ex = e as AxiosError\r\n\t\t\tif (ex.message.includes('404')) {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t\tsetBirthDate('')\r\n\t\t\t}\r\n\t\t\tif (ex.response?.data?.message) {\r\n\t\t\t\tconst { message }: { message: string } = e.response.data\r\n\t\t\t\tif (message.toLowerCase().includes('birthdate')) {\r\n\t\t\t\t\terr.birthDate = new Error(t('BirthdateNoMatch'))\r\n\t\t\t\t\tsetError(err)\r\n\t\t\t\t} else if (message.toLowerCase().includes('customerid')) {\r\n\t\t\t\t\terr.customerId = new Error(message)\r\n\t\t\t\t\tsetError(err)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tconst loginComplete = async () => {\r\n\t\tlet err: IError = {\r\n\t\t\tcustomerId: undefined,\r\n\t\t\tbirthDate: undefined,\r\n\t\t\terror: undefined,\r\n\t\t\totp: undefined,\r\n\t\t}\r\n\t\tsetError(err)\r\n\t\tif (!/^\\d{4,6}$/.test(otp)) {\r\n\t\t\terr.otp = new Error(t('OtpInvalid'))\r\n\t\t\tsetError(err)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tawait authenticationService\r\n\t\t\t\t.germanyOtpComplete(secret, otp, customerId, t)\r\n\t\t\t\t.then(({ redirectUrl, secret: newSecret }) =>\r\n\t\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\t\t\tnewSecret,\r\n\t\t\t\t\t),\r\n\t\t\t\t)\r\n\t\t\t\t.then(() => setDone(true))\r\n\t\t} catch (e: any) {\r\n\t\t\tlogError(e)\r\n\t\t\tconsole.log(e)\r\n\t\t\tconst ex = e as AxiosError\r\n\t\t\tif (ex.message.includes('404')) {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t\tif (ex.response?.data?.message) {\r\n\t\t\t\tconst { message }: { message: string } = e.response.data\r\n\t\t\t\tif (message.toLowerCase().includes('otp')) {\r\n\t\t\t\t\tsetError({\r\n\t\t\t\t\t\t...error,\r\n\t\t\t\t\t\totp: new Error(t('OtpInvalid')),\r\n\t\t\t\t\t})\r\n\t\t\t\t} else if (message.toLowerCase().includes('customerid')) {\r\n\t\t\t\t\tsetError({\r\n\t\t\t\t\t\t...error,\r\n\t\t\t\t\t\tcustomerId: new Error(message),\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetLoading(false)\r\n\t}\r\n\r\n\tuseEffect(() => {}, [error])\r\n\r\n\tif (loading) {\r\n\t\treturn
\r\n\t}\r\n\r\n\tconst formatBirthDate = (str: string) => str.split('.').reverse().join('')\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{!done && (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{error.error && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{secret ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t setOtp(value)}\r\n\t\t\t\t\t\t\t\t\t\t\tisInvalid={!!error.otp}\r\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue={otp}\r\n\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(\r\n\t\t\t\t\t\t\t\t\t\t\t\te: React.KeyboardEvent,\r\n\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\te.key === 'Enter' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tloginComplete()\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{error.otp?.message}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t setCustomerId(value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue={customerId}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t]}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tCustomer number not at hand?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tThen click{' '}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\there\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{error.customerId && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue.formattedValue,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\tformat=\"##.##.####\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={t('Code2')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t// prettier-ignore\r\n\t\t\t\t\t\t\t\t\t\t\t\tmask={['T','T','M','M','J','J','J','J']}\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tisNumericString={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te: React.KeyboardEvent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te.key === 'Enter' &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tloginStart(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbirthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomerId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('BirthDateDescription')}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{error.birthDate && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tsecret\r\n\t\t\t\t\t\t\t\t\t\t\t\t? loginComplete()\r\n\t\t\t\t\t\t\t\t\t\t\t\t: loginStart(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tbirthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcustomerId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Proceed')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\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 GermanyOtp\r\n","import React, { useState } from 'react'\r\nimport AuthMethodType from '../../constants/authMethods'\r\nimport authenticationService from '../../services/authenticationService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner, logError } from 'shared'\r\ninterface NorwegianBankIdLoginBlockProps {\r\n\tonError?(error: Error): void\r\n\tauthMethodType: AuthMethodType\r\n\tauthBtnClassName: string\r\n}\r\nfunction NorwegianBankIdContentBlock({\r\n\tonError = () => {},\r\n\tauthMethodType,\r\n\tauthBtnClassName,\r\n}: NorwegianBankIdLoginBlockProps) {\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst btnClassName = 'btn authButton ' + authBtnClassName\r\n\r\n\tasync function norwegianBankIdAuth() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tawait authenticationService.norwegianBankIdRedirectLinkGet(\r\n\t\t\t\t\tauthMethodType,\r\n\t\t\t\t)\r\n\t\t\twindow.location.href = redirectUrl\r\n\t\t} catch (error: any) {\r\n\t\t\tlogError(error)\r\n\t\t\tonError(error)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst { t } = useTranslation()\r\n\t// @ts-ignore\r\n\t// prettier-ignore\r\n\t// const buttonRounded = ()\r\n\tconst buttonRounded = (\r\n\t\t\r\n\t\t\t{t('Login')}\r\n\t\t\r\n\t)\r\n\treturn (\r\n\t\t\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t norwegianBankIdAuth()}\r\n\t\t\t\t\tclassName=\"login-container m-2 d-flex flex-column justify-content-between align-items-center pointer\">\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{buttonRounded}
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default NorwegianBankIdContentBlock\r\n","import { IFormSettings } from '@tf/formbuilder'\r\n\r\nexport const FormWrapper = (controls: any, formMeta: any) => {\r\n\treturn ({\r\n\t\tcontrols: controls,\r\n\t\tformMeta: formMeta,\r\n\t} as unknown) as IFormSettings\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from 'shared/utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from 'shared/constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tdescription: t('forms:DepositInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDepositsOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PurposeOfDepositsOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDepositsOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'purposeOfDeposits',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySourceOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:AssetsFromOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySourceOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'moneySource',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t// This is due to duplicated translation strings with different\r\n\t\t\t\t// content regarding choosen language\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Yes',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'YesGuardian',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesGuardian'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Children',\r\n\t\t\t\t\t\tlabel: t('dropdown:Children'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Other',\r\n\t\t\t\t\t\tlabel: t('dropdown:OtherDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'depositOwner',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:DepositOwner'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].depositOwner,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationFormDE_NO = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'connectedToPep',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:ConnectedToPep'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.connectedToPep,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'connectedToPep',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:ConnectedToPep'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.connectedToPep,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const PepInformationBalticForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\r\n\treturn {\r\n\t\tfieldSetName: t('forms:PEPInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:PEPInfoDescription'),\r\n\t\tshow: true,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcontrolName: 'politicallyExposedPerson',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: t('forms:PoliticallyExposedPerson'),\r\n\t\t\t\tvalue: data.politicallyExposedPerson,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\trequire: true, \r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationForm = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:LoanInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t// {\r\n\t\t\t// \toptions: FormatEnumToList(Object.keys(PurposeOfLoan), 'dropdown'),\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.purposeOfLoan',\r\n\t\t\t// \ttype: 'dropdown',\r\n\t\t\t// \tlabel: t('forms:PurposeOfLoan'),\r\n\t\t\t// \tvalue: data.loans[0].purposeOfLoan,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// },\r\n\t\t\t// {\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.purposeOfLoanOther',\r\n\t\t\t// \ttype: 'text',\r\n\t\t\t// \tlabel: t('forms:PurposeOfLoanOther'),\r\n\t\t\t// \tvalue: data.loans[0].purposeOfLoanOther,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// \tcondition: [\r\n\t\t\t// \t\t{\r\n\t\t\t// \t\t\twhen: 'all',\r\n\t\t\t// \t\t\taction: 'show',\r\n\t\t\t// \t\t\titems: [\r\n\t\t\t// \t\t\t\t{\r\n\t\t\t// \t\t\t\t\tfield: 'loans.purposeOfLoan',\r\n\t\t\t// \t\t\t\t\trule: 'equal',\r\n\t\t\t// \t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t// \t\t\t\t},\r\n\t\t\t// \t\t\t],\r\n\t\t\t// \t\t},\r\n\t\t\t// \t],\r\n\t\t\t// },\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t// {\r\n\t\t\t// \toptions: FormatEnumToList(Object.keys(BenificialOwner)),\r\n\t\t\t// \trequired: true,\r\n\t\t\t// \tcontrolName: 'loans.benificialOwner',\r\n\t\t\t// \ttype: 'dropdown',\r\n\t\t\t// \tlabel: t('forms:BenificialOwner'),\r\n\t\t\t// \tvalue: data.loans[0].benificialOwner,\r\n\t\t\t// \tvisible: true,\r\n\t\t\t// },\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const SetPasswordIdCheckForm = (data: any) => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'SetPasswordIdCheck',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'de',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'phoneNo',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t\tlabel: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'password',\r\n\t\t\t\tdescription: t('PasswordDescription'),\r\n\t\t\t\ttype: 'password',\r\n\t\t\t\tlabel: t('Password'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'repeatPassword',\r\n\t\t\t\ttype: 'password',\r\n\t\t\t\tlabel: t('RepeatPassword'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const ContactForm = () => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'ContactForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'subject',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Subject'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'body',\r\n\t\t\t\ttype: 'textarea',\r\n\t\t\t\tlabel: t('Message'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormFi = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:LoanInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues, getAllCountriesUsingMarketSpecificSorting } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport appConfig from 'app.config'\r\n\r\nexport const LoanInformationFormEe = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n {\r\n controlName: 'email',\r\n type: 'text',\r\n label: t('forms:Email'),\r\n col: 12,\r\n value: data.email,\r\n visible: true,\r\n\t\t\t\tmaxLength:254,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\t\r\n\t\t\t\t],\r\n },\r\n {\r\n controlName: 'phoneNumber',\r\n type: 'text',\r\n label: t('forms:PhoneNumber'),\r\n col: 12,\r\n value: data.phoneNumber,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\r\n {\r\n code: 'MustBeNumeric',\r\n value: '^[0-9]+$',\r\n message: t('InvalidPhone'),\r\n }, \r\n {\r\n code: 'MustMatchPattern',\r\n value: '^\\\\+?37((2\\\\d{7,8})|([01]\\\\d{8}))$',\r\n message: t('InvalidPhone'),\r\n },\t\t\t\t\t \r\n ], \r\n }, \r\n {\r\n\t\t\t\toptions: getAllCountriesUsingMarketSpecificSorting(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'country',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:CountryOfResidence'),\r\n\t\t\t\tvalue: data.address.country,\r\n\t\t\t\tmultiple: false,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n {\r\n controlName: 'street',\r\n type: 'text',\r\n label: t('forms:Street'),\r\n col: 12,\r\n value: data.address.street,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n {\r\n controlName: 'postalCode',\r\n type: 'text',\r\n label: t('forms:PostalCode'),\r\n col: 12,\r\n value: data.address.postalCode,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n {\r\n controlName: 'city',\r\n type: 'text',\r\n label: t('forms:City'),\r\n col: 12,\r\n value: data.address.city,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n },\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormLv = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n {\r\n\t\t\t\trequired: true,\r\n controlName: 'email',\r\n type: 'text',\r\n label: t('forms:Email'),\r\n col: 12,\r\n value: data.email,\r\n visible: true,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\t\r\n\t\t\t\t],\r\n },\r\n {\r\n required: true,\r\n controlName: 'phoneNumber',\r\n type: 'text',\r\n label: t('forms:PhoneNumber'),\r\n col: 12,\r\n value: data.phoneNumber,\r\n visible: true,\r\n maxLength: 15,\r\n validations: [\r\n {\r\n code: 'MustBeNumeric',\r\n value: '^[0-9]+$',\r\n message: t('InvalidPhone'),\r\n }, \r\n {\r\n code: 'MustMatchPattern',\r\n value: '^\\\\+?37((2\\\\d{7,8})|([01]\\\\d{8}))$',\r\n message: t('InvalidPhone'),\r\n },\t\t\t\t\t \r\n ], \r\n }, \r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { OccupationType, PropertyType } from 'shared/constants/kycTypes'\r\nimport { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport { FormatEnumToList, CountrySpecificValues } from 'shared/utils/helpers'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const LoanInformationFormLt = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:LoanInfoHeader'),\r\n\t\tformName: 'FirstAndTwoThirds',\r\n\t\tdescription: t('forms:'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n {\r\n controlName: 'email',\r\n type: 'text',\r\n label: t('forms:Email'),\r\n col: 12,\r\n value: data?.email,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[_a-z0-9-]+(\\\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\\\.[a-z0-9-]+)*(\\\\.[a-z]{2,6})$',\r\n\t\t\t\t\t\tmessage: t('ValidateEmailInvalid'),\r\n\t\t\t\t\t},\t\r\n\t\t\t\t],\r\n\r\n },\r\n {\r\n controlName: 'phoneNumber',\r\n type: 'text',\r\n label: t('forms:PhoneNumber'),\r\n col: 12,\r\n value: data?.phoneNumber,\r\n visible: true,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidations: [\r\n {\r\n code: 'MustBeNumeric',\r\n value: '^[0-9]+$',\r\n message: t('InvalidPhone'),\r\n }, \r\n {\r\n code: 'MustMatchPattern',\r\n value: '^\\\\+?37((2\\\\d{7,8})|([01]\\\\d{8}))$',\r\n message: t('InvalidPhone'),\r\n },\t\t\t\t\t \r\n ],\r\n \r\n },\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues('', PropertyType.Income),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}","import { IKycData } from 'shared/interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from 'shared/utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from 'shared/constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormFi = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: data.customerType,\r\n\t\tdescription: t('forms:DepositInfoDescription'),\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDepositsOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:PurposeOfDepositsOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDepositsOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'purposeOfDeposits',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySourceOther',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:AssetsFromOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].moneySourceOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'show',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'moneySource',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Other', //'Other'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t// This is due to duplicated translation strings with different\r\n\t\t\t\t// content regarding choosen language\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Yes',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'YesGuardian',\r\n\t\t\t\t\t\tlabel: t('dropdown:YesGuardian'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Children',\r\n\t\t\t\t\t\tlabel: t('dropdown:Children'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'Other',\r\n\t\t\t\t\t\tlabel: t('dropdown:OtherDepositOwner'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'depositOwner',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:DepositOwner'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].depositOwner,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcol: 12,\r\n\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from '../../utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n\tOccupationType,\r\n} from '../../constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormNo = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('forms:No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('forms:Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React from 'react'\r\n\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile } from 'shared/utils/helpers'\r\n\r\ninterface ISddCustomer {\r\n\tfirstName: string\r\n\tlastName: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tpostalCode: string\r\n\tcity: string\r\n\tbankInfoList: IBankInfoProps[] | []\r\n}\r\n\r\nexport interface IBankInfoProps {\r\n\tsenderVIBAN: string\r\n\tsenderBIC: string\r\n}\r\n\r\nexport const CustomerInformationFormSddDE_AT = (data: ISddCustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [isMobile] = React.useState(checkIsMobile())\r\n\r\n\tconst MapIban = (items: IBankInfoProps[]) => {\r\n\t\tlet list: any[] = []\r\n\t\tif (items.length !== undefined || items.length !== 0) {\r\n\t\t\titems.map((item: any) =>\r\n\t\t\t\tlist.push({ value: item.senderIban, label: item.senderIban })\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\treturn list\r\n\t\t}\r\n\t\treturn list\r\n\t}\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CustomerInformationSDD',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.firstName',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Firstname'),\r\n\t\t\t\tvalue: data.firstName,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.lastName',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Lastname'),\r\n\t\t\t\tvalue: data.lastName,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 50,\r\n\t\t\t\tcol: isMobile ? 12 : 9,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: false,\r\n\t\t\t\tcontrolName: 'customer.houseNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Nr'),\r\n\t\t\t\tvalue: data.houseNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 3,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.postalCode',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('Zip'),\r\n\t\t\t\tvalue: data.postalCode,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 4,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.city',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('City'),\r\n\t\t\t\tvalue: data.city,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: isMobile ? 12 : 8,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer-information',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: '',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tdescription: t('SDDCustomerDesc'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: MapIban(data.bankInfoList),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.iban',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('IBAN'),\r\n\t\t\t\tplaceholder: t('IBAN'),\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tdescription: t('SDDIbanDesc'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tdisabled: false,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nexport const CashToAccountForm = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CashToAccountForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'ibanDE',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('CashToAccountIban'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\b^BE\\\\d{14}\\\\b$|\\\\b^BG\\\\s?[a-zA-Z0-9]{20}\\\\b$|\\\\b^DK\\\\d{16}\\\\b$|\\\\b^DE\\\\d{20}\\\\b$|\\\\b^EE\\\\d{18}\\\\b$|\\\\b^FI\\\\d{16}\\\\b$|\\\\b^GR\\\\d{25}\\\\b$|\\\\b^IE\\\\s?[a-zA-Z0-9]{20}\\\\b$|\\\\b^IT\\\\s?[a-zA-Z0-9]{25}\\\\b$|\\\\b^HR\\\\d{19}\\\\b$|\\\\b^LV\\\\s?[a-zA-Z0-9]{19}\\\\b$|\\\\b^LU\\\\d{18}\\\\b$|\\\\b^MT\\\\s?[a-zA-Z0-9]{29}\\\\b$|\\\\b^NL\\\\s?[a-zA-Z0-9]{16}\\\\b$|\\\\b^AT\\\\d{18}\\\\b$|\\\\b^PL\\\\d{26}\\\\b$|\\\\b^PT\\\\d{26}\\\\b$|\\\\b^RO\\\\s?[a-zA-Z0-9]{22}\\\\b$|\\\\b^SE\\\\d{22}\\\\b$|\\\\b^SK\\\\d{22}\\\\b$|\\\\b^SI\\\\d{17}\\\\b$|\\\\b^ES\\\\d{22}\\\\b$|\\\\b^CZ\\\\d{22}\\\\b$|\\\\b^HU\\\\d{26}\\\\b$|\\\\b^CY\\\\d{26}\\\\b$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgSddIban'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'amount',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('CashToAccountAmount'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\b^([5-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|10000)\\\\b$',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgSddAmount'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'termsAndConditions',\r\n\t\t\t\ttype: 'checkbox',\r\n\t\t\t\tlabel: `\r\n\t\t\t\t\t\t${t('CashToAccountTermsAndConditions')}\r\n\t\t\t\t\t`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport queryString from 'query-string'\r\nimport { CookieType } from 'shared/constants/cookieTypes'\r\n\r\nexport const OtpStartFormEs = (data: any) => {\r\n\tconst { t } = useTranslation([TranslationFile.Forms])\r\n\r\n\tconst getQueryValues = () => {\r\n\t\treturn queryString.parseUrl(\r\n\t\t\tsessionStorage.getItem(CookieType.RedirectUrl) ??\r\n\t\t\t\twindow.location.search.toLowerCase(),\r\n\t\t\t{ parseNumbers: true }\r\n\t\t)\r\n\t}\r\n\tconst applicationId = getQueryValues().query.applicationid\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'LoginEs1',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'es',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'applicationId',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('forms:ApplicationId'),\r\n\t\t\t\tvalue: applicationId,\r\n\t\t\t\treadonly: applicationId !== undefined,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^[0-9]*$',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgApplicationId'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'ssn',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Ssn'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\t// NIF, NIE, CIF formats\r\n\t\t\t\t\t\tvalue: '([a-z]|[A-Z]|[0-9])[0-9]{7}([a-z]|[A-Z]|[0-9])',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgSsn'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'birthDate',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:BirthDate'),\r\n\t\t\t\tdescription: 'DD/MM/YYYY',\r\n\t\t\t\tvalue: '',\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^(\\\\b([0][1-9]|[12][0-9]|3[0-1]|[1-9])\\\\b)([/])(\\\\b([0][1-9]|[1][0-2]|[0-9]|[1-9])\\\\b)([/])(\\\\b([12]([9]|[0])[0-9][0-9])\\\\b)$',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgBirthdate'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\n\r\nexport const OtpCompleteForm = (data: any) => {\r\n\tconst { t } = useTranslation([TranslationFile.Forms])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'LoginEs',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: 'es',\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'otp',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:OtpCode'),\r\n\t\t\t\tdescription: t('forms:EnterReceivedOtpCode'),\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('forms:ValidationMsgOtp'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { IKycData } from '../../interfaces/i-api-kyc'\r\nimport {\r\n\tFormatEnumToList,\r\n\tCountrySpecificValues,\r\n\tgetMarket,\r\n\tGetAllCountriesWithTranslation,\r\n} from '../../utils/helpers'\r\nimport {\r\n\tPurposeOfDeposit,\r\n\tMoneySource,\r\n\tOccupationType,\r\n\tTaxCountry,\r\n\tPropertyType,\r\n} from '../../constants/kycTypes'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { TranslationFile } from 'i18n'\r\nimport i18next from 'i18next'\r\nimport appConfig from 'app.config'\r\n\r\nexport const DepositInformationFormDe = (data: IKycData) => {\r\n\tconst { t } = useTranslation([\r\n\t\tTranslationFile.Translation,\r\n\t\tTranslationFile.Forms,\r\n\t\tTranslationFile.Dropdown,\r\n\t])\r\n\treturn {\r\n\t\tfieldSetName: t('forms:DepositInfoHeader'),\r\n\t\tformName: 'Third',\r\n\t\tshow: false,\r\n\t\tvisible: true,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tPurposeOfDeposit,\r\n\t\t\t\t\tPropertyType.PurposeOfDeposit,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'purposeOfDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:PurposeOfDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].purposeOfDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tMoneySource,\r\n\t\t\t\t\tPropertyType.MoneySource,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'moneySource',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AssetsFrom'),\r\n\t\t\t\tvalue: data.deposits[0].moneySource,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDeposits,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDeposits',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDeposits'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDeposits,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedDepositsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedDepositsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedDepositsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedDepositsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawls,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawals',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawls'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawals,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.ExpectedWithdrawlsAmount,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'expectedWithdrawalsAmount',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ExpectedWithdrawlsAmount'),\r\n\t\t\t\tvalue: data.deposits[0].expectedWithdrawalsAmount,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: false,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tOccupationType,\r\n\t\t\t\t\tPropertyType.Occupation,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'occupationType',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Occupation'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].occupationType,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: CountrySpecificValues(\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t\tPropertyType.Income,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'income',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:AnnualIncome'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.employments[0].income,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: FormatEnumToList(\r\n\t\t\t\t\tTaxCountry,\r\n\t\t\t\t\tPropertyType.TaxCountry,\r\n\t\t\t\t\tTranslationFile.Dropdown,\r\n\t\t\t\t),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountry',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel:\r\n\t\t\t\t\ti18next.language === 'en'\r\n\t\t\t\t\t\t? t('forms:ResidenceTaxPurposes', {\r\n\t\t\t\t\t\t\t\tcountry: getMarket(),\r\n\t\t\t\t\t\t })\r\n\t\t\t\t\t\t: t('forms:ResidenceTaxPurposes'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountry,\r\n\t\t\t\tvisible: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: GetAllCountriesWithTranslation(appConfig.country),\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'taxCountryOther',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:ResidenceTaxPurposesOther'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.taxCountryOther,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'tin',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('forms:Tin'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.tin,\r\n\t\t\t\tvisible: false,\r\n\t\t\t\tcondition: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twhen: 'all',\r\n\t\t\t\t\t\taction: 'hide',\r\n\t\t\t\t\t\titems: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfield: 'taxCountry',\r\n\t\t\t\t\t\t\t\trule: 'equal',\r\n\t\t\t\t\t\t\t\tvalue: 'Yes', //'Yes'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'false',\r\n\t\t\t\t\t\tlabel: t('dropdown:No'),\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: 'true',\r\n\t\t\t\t\t\tlabel: t('dropdown:Yes'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'fatca',\r\n\t\t\t\ttype: 'dropdown',\r\n\t\t\t\tlabel: t('forms:Fatca'),\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tvalue: data.fatca,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\ttooltip: t('forms:FatcaTooltipText'),\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import { CustomerForm } from '../constants/formTypes'\r\nimport { FormWrapper } from './formWrapper'\r\nimport { DepositInformationForm } from 'original/formBuilder/forms/depositInformationForm'\r\nimport { PepInformationFormDE_NO } from './forms/pepInformationFormDE_NO'\r\nimport { PepInformationForm } from 'original/formBuilder/forms/pepInformationForm'\r\nimport { PepInformationBalticForm } from 'original/formBuilder/forms/pepInformationBalticForm'\r\nimport { LoanInformationForm } from 'original/formBuilder/forms/loanInformationForm'\r\nimport { SetPasswordIdCheckForm } from './forms/setPasswordIdCheckForm'\r\nimport { ContactForm } from './forms/contactForm'\r\nimport appConfig from 'app.config'\r\nimport { LoanInformationFormFi } from 'original/formBuilder/forms/loanInformationFormFi'\r\nimport { LoanInformationFormEe } from 'original/formBuilder/forms/loanInformationFormEe'\r\nimport { LoanInformationFormLv } from 'original/formBuilder/forms/loanInformationFormLv'\r\nimport { LoanInformationFormLt } from 'original/formBuilder/forms/loanInformationFormLt'\r\nimport { DepositInformationFormFi } from 'original/formBuilder/forms/depositInformationFormFi'\r\nimport { DepositInformationFormNo } from './forms/depositInformationFormNo'\r\nimport { CustomerInformationFormSddDE_AT } from './forms/customerInformationFormSddDE_AT'\r\nimport { CashToAccountForm } from './forms/cashToAccountFormDe'\r\nimport { OtpStartFormEs } from 'auth/formBuilder/forms/otpStartFormEs'\r\nimport { OtpCompleteForm } from 'auth/formBuilder/forms/otpCompleteForm'\r\nimport { DepositInformationFormDe } from './forms/depositInformationFormDe'\r\n\r\nexport function FormFactory(formType: CustomerForm, formMeta: any, data?: any) {\r\n\tconst country = appConfig.country\r\n\tswitch (formType) {\r\n\t\tcase CustomerForm.DepositForm:\r\n\t\t\tif (country === 'se')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[DepositInformationForm(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'fi')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[DepositInformationFormFi(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'no')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tDepositInformationFormNo(data),\r\n\t\t\t\t\t\tPepInformationFormDE_NO(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'de')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tDepositInformationFormDe(data),\r\n\t\t\t\t\t\tPepInformationFormDE_NO(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tbreak\r\n\t\tcase CustomerForm.LoanForm:\r\n\t\t\tif (country === 'se')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[LoanInformationForm(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'fi')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[LoanInformationFormFi(data), PepInformationForm(data)],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'ee')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormEe(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'lv')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormLv(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tif (country === 'lt')\r\n\t\t\t\treturn composeForm(\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\tLoanInformationFormLt(data),\r\n\t\t\t\t\t\tPepInformationBalticForm(data),\r\n\t\t\t\t\t],\r\n\t\t\t\t\tformMeta,\r\n\t\t\t\t)\r\n\t\t\tbreak\r\n\t\tcase CustomerForm.CustomerInformationFormSDD:\r\n\t\t\treturn FormWrapper(\r\n\t\t\t\t[CustomerInformationFormSddDE_AT(data)],\r\n\t\t\t\tformMeta,\r\n\t\t\t)\r\n\t\tcase CustomerForm.SetPasswordIdCheckForm:\r\n\t\t\treturn FormWrapper([SetPasswordIdCheckForm(data)], formMeta)\r\n\t\tcase CustomerForm.ContactForm:\r\n\t\t\treturn FormWrapper([ContactForm()], formMeta)\r\n\t\tcase CustomerForm.CashToAccountForm:\r\n\t\t\treturn FormWrapper([CashToAccountForm()], formMeta)\r\n\t\tcase CustomerForm.OtpStartFormEs:\r\n\t\t\treturn FormWrapper([OtpStartFormEs(data)], formMeta)\r\n\t\tcase CustomerForm.OtpCompleteForm:\r\n\t\t\treturn FormWrapper([OtpCompleteForm(data)], formMeta)\r\n\t\tdefault:\r\n\t\t\treturn Object.assign({})\r\n\t}\r\n}\r\n\r\nconst composeForm = (formPartials: any, formMeta: any) => {\r\n\treturn FormWrapper(formPartials, formMeta)\r\n}\r\n","import React, { FunctionComponent, useEffect, useState } from 'react'\r\nimport { DateTime, Duration } from 'luxon'\r\nimport { getLanguageLocale } from './helpers'\r\n\r\n/**\r\n * We are using Luxon for dealing with dates and times.\r\n * It works as a wrapper for Intl internationalization library\r\n * For more information https://moment.github.io/luxon/index.html#/\r\n * For set of Presets eg. DATE_SHORT etc see https://moment.github.io/luxon/index.html#/formatting?id=presets\r\n * or https://moment.github.io/luxon/api-docs/index.html\r\n */\r\n\r\n/**\r\n * Translate date in given format to iso date for system locale\r\n * @param date string to parse\r\n * @param expectedFormat Expected format of the string to parse\r\n * @returns\r\n */\r\nexport const formatFromToIsoDate = (date: string, expectedFormat: string) => {\r\n\tlet dt = DateTime.fromFormat(date, expectedFormat, {\r\n\t\tlocale: getLanguageLocale(),\r\n\t})\r\n\treturn dt.isValid ? dt.toISODate() : ''\r\n}\r\n\r\n/**\r\n * Format date string to locale\r\n * @param date string to format\r\n * @returns\r\n */\r\nexport const formatToStringLocale = (date: string) => {\r\n\tlet dt = DateTime.fromISO(date).setLocale(getLanguageLocale())\r\n\treturn dt.isValid\r\n\t\t? dt.toLocaleString({\r\n\t\t\t\tday: '2-digit',\r\n\t\t\t\tmonth: '2-digit',\r\n\t\t\t\tyear: 'numeric',\r\n\t\t })\r\n\t\t: ''\r\n}\r\n\r\n/**\r\n * Countdown timer\r\n * @param isTimedOut true when reaches zero\r\n * @param format format of counter value ex. (\"dd 'days' mm:ss 'minutes'\"\")\r\n * @param time (Default value 10 minutes)\r\n * @param time.days\r\n * @param time.hours\r\n * @param time.minutes\r\n * @param time.seconds\r\n * @param time.expiryDate will ignore all other time properties if provided\r\n * @returns Countdown element\r\n */\r\nexport const CountdownTimer: FunctionComponent = ({\r\n\tisTimedOut,\r\n\tformat,\r\n\ttime = { minutes: 10 },\r\n}) => {\r\n\tlet duration: Duration\r\n\r\n\tif (time.expiryDate) {\r\n\t\tconst dur = new Date(time.expiryDate).getTime() - new Date().getTime()\r\n\t\tduration = Duration.fromMillis(dur)\r\n\t} else {\r\n\t\tduration = Duration.fromObject(time)\r\n\t}\r\n\r\n\tconst [difference, setDifference] = useState(\r\n\t\tDateTime.now().plus(duration).diff(DateTime.now())\r\n\t)\r\n\r\n\tconst timeIsUp = difference.get('seconds') < -duration.as('seconds')\r\n\r\n\tuseEffect(() => {\r\n\t\tlet id = setInterval(\r\n\t\t\t() => setDifference((state) => state.minus({ second: 1 })),\r\n\t\t\t1000\r\n\t\t)\r\n\t\treturn () => clearInterval(id)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (timeIsUp) isTimedOut(true)\r\n\t})\r\n\r\n\treturn <>{difference.toFormat(format)}\r\n}\r\n\r\n/**\r\n * Add leading zero to single digits in dates\r\n * @param date string to format\r\n * @returns\r\n */\r\nexport const addLeadingZeroToDates = (date: string) =>\r\n\tdate.replace(/(^|\\D)(\\d)(?!\\d)/g, '$10$2')\r\n\r\n//Interfaces\r\n\r\n/**\r\n * ICountdownTimer interface\r\n */\r\ninterface ICountdownTimer {\r\n\tisTimedOut: Function\r\n\tformat: string\r\n\ttime?: {\r\n\t\tyear?: number\r\n\t\tmonth?: number\r\n\t\tdays?: number\r\n\t\thours?: number\r\n\t\tminutes?: number\r\n\t\tseconds?: number\r\n\t\texpiryDate?: Date\r\n\t}\r\n}\r\n","import React, { useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport {\r\n\tCircleSpinner,\r\n\tCookieType,\r\n\tCustomerForm,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\nimport { ValidationError } from 'shared'\r\nimport appConfig from 'app.config'\r\nimport { AxiosError } from 'axios'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport {\r\n\tIApplicationOtpStartRequest,\r\n\tIOtpCompleteRequest,\r\n} from 'auth/interfaces/i-otpid'\r\nimport {\r\n\taddLeadingZeroToDates,\r\n\tformatFromToIsoDate,\r\n} from 'shared/utils/dateAndTimeHelpers'\r\nimport { CountryA3 } from 'shared/constants/countryTypes'\r\nimport './spainOtpContentBlock.scss'\r\n\r\nconst OtpContentBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [secret, setSecret] = useState('')\r\n\tconst [done, setDone] = useState(false)\r\n\tconst [market] = useState(appConfig.country)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst formSchemaOtpStart = FormFactory(\r\n\t\tCustomerForm.OtpStartFormEs,\r\n\t\t{\r\n\t\t\tformName: 'start',\r\n\t\t\tblockName: 'start',\r\n\t\t\tmarket: market,\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\tsubmitButtonText: t('Proceed'),\r\n\t\t},\r\n\t\tundefined\r\n\t)\r\n\r\n\tconst formSchemaOtpComplete = FormFactory(\r\n\t\tCustomerForm.OtpCompleteForm,\r\n\t\t{\r\n\t\t\tformName: 'complete',\r\n\t\t\tblockName: 'complete',\r\n\t\t\tmarket: market,\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Proceed'),\r\n\t\t},\r\n\t\tundefined\r\n\t)\r\n\r\n\tconst loginStart = async (values: IApplicationOtpStartRequest) => {\r\n\t\tsetError(undefined)\r\n\t\tsetLoading(true)\r\n\t\t// Hax0r fix for humans that are humans as we all know them\r\n\t\tsessionStorage.setItem(\r\n\t\t\tCookieType.RedirectUrl,\r\n\t\t\t`/application?applicationid=${values.applicationId}`\r\n\t\t)\r\n\t\ttry {\r\n\t\t\tconst { secret } = await authenticationService.otpStart(\r\n\t\t\t\t{\r\n\t\t\t\t\tbirthDate: formatFromToIsoDate(\r\n\t\t\t\t\t\taddLeadingZeroToDates(values.birthDate),\r\n\t\t\t\t\t\t'dd/MM/yyyy'\r\n\t\t\t\t\t)!,\r\n\t\t\t\t\tssn: values.ssn.toUpperCase(), // PX only handle uppercase\r\n\t\t\t\t\tapplicationId: values.applicationId,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t\tcountry: CountryA3.es,\r\n\t\t\t\t},\r\n\t\t\t\tt\r\n\t\t\t)\r\n\t\t\tsetSecret(secret)\r\n\t\t} catch (e) {\r\n\t\t\tconst E = e as AxiosError\r\n\t\t\tconst status = E.response?.status\r\n\t\t\tif (status === 400) setError(new Error(t('OtpBadRequestError')))\r\n\t\t\telse setError(new Error(t('OtpInternalServerError')))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst loginComplete = async (formValues: IOtpCompleteRequest) => {\r\n\t\tsetError(undefined)\r\n\t\tsetLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst response = await authenticationService.otpComplete(\r\n\t\t\t\t{\r\n\t\t\t\t\tsecret,\r\n\t\t\t\t\totp: formValues.otp,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t},\r\n\t\t\t\tt\r\n\t\t\t)\r\n\t\t\tsetDone(true)\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tresponse.redirectUrl || getReturnUrl(),\r\n\t\t\t\tresponse.secret\r\n\t\t\t)\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\tconst E = e as AxiosError\r\n\t\t\tconst status = E.response?.status\r\n\t\t\tif (status === 410) setError(new Error(t('OtpGoneError')))\r\n\t\t\telse if (status === 400)\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\telse setError(new Error(t('OtpInternalServerError')))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t!done && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t('LoginHeaderText')}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{error && }\r\n\t\t\t\t\t\t{secret ? (\r\n\t\t\t\t\t\t\t loginComplete(otp)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t loginStart(values)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\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 OtpContentBlock\r\n","import React from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport './termsAndConditionsBlock.scss'\r\nimport appConfig from 'app.config'\r\nimport { customerDataApiService, logError, nameof } from 'shared'\r\n\r\nexport async function saveAcceptedToC() {\r\n\tif (!['ee', 'lv', 'lt'].includes(appConfig.country)) {\r\n\t\treturn\r\n\t}\r\n\r\n\ttry {\r\n\t\tawait customerDataApiService.addTermsAndConditionAccepted()\r\n\t} catch (error: any) {\r\n\t\tlogError(error)\r\n\t}\r\n}\r\n\r\nexport interface ITermsAndCondition {\r\n\tclassName?: string\r\n}\r\n\r\nconst TermsAndConditionBlock = ({ className }: ITermsAndCondition) => {\r\n\tconst { t, i18n } = useTranslation()\r\n\r\n\tconst redirect = () => {\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'ee':\r\n\t\t\t\tif (i18n.language === nameof('ru-EE', appConfig.languages))\r\n\t\t\t\t\treturn 'https://tfbank.ee/ru/dokumendid'\r\n\t\t\t\telse return 'https://tfbank.ee/dokumendid'\r\n\t\t\tcase 'lt':\r\n\t\t\t\treturn 'https://tfbank.lt/bendrosios-elektroniniu-paslaugu-teikimo-salygos'\r\n\t\t\tcase 'lv':\r\n\t\t\t\treturn 'https://tfbank.lv/portala-lietosanas-noteikumi'\r\n\t\t\tdefault:\r\n\t\t\t\treturn '#'\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tterms and conditions\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t,\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 TermsAndConditionBlock\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { getQueryParams } from 'shared/utils/helpers'\r\nimport appConfig from 'app.config'\r\nimport './idCardContentBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\nimport { AuthContext } from 'shared'\r\n\r\nfunction IdCardContentBlock() {\r\n\tconst { t } = useTranslation()\r\n\tconst { setLoadingAuth } = useContext(AuthContext)\r\n\r\n\tasync function tryIdCardAuth() {\r\n\t\tsetLoadingAuth(true)\r\n\t\tlet { ReturnUrl, SigningRequestId } = getQueryParams()\r\n\r\n\t\tconst action = encodeURIComponent(\r\n\t\t\t`${appConfig.authorityBaseUrl}/apiauth/idcard/${\r\n\t\t\t\tSigningRequestId || ''\r\n\t\t\t}`,\r\n\t\t)\r\n\r\n\t\tconst returnUrl = encodeURIComponent(\r\n\t\t\tReturnUrl ||\r\n\t\t\t\t`${window.location.protocol}//${window.location.hostname}/callback`,\r\n\t\t)\r\n\r\n\t\twindow.location.replace(\r\n\t\t\t`${appConfig.certificateRequesterBaseUrl}?returnUrl=${returnUrl}&action=${action}`,\r\n\t\t)\r\n\t\tsetLoadingAuth(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

{t('IdCardLine1')}

\r\n\t\t\t\t

\r\n\t\t\t\t\t{t('IdCardLine2')}{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('IdCardLine3')}.\r\n\t\t\t\t\t\r\n\t\t\t\t

\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default IdCardContentBlock\r\n","import {\r\n\tparsePhoneNumberFromString,\r\n\tPhoneNumber,\r\n\tCountryCode,\r\n} from 'libphonenumber-js'\r\n\r\nexport const validatePhoneNumber = (\r\n\tvalue: string,\r\n\tcountryCode: CountryCode,\r\n\tvalidCountries: string[] | undefined\r\n) => {\r\n\tif(!validCountries) validCountries = new Array(countryCode)\r\n\tlet phone: PhoneNumber | undefined\r\n\tlet isValid = true\r\n\r\n\tif (countryCode) {\r\n\t\tphone = parsePhoneNumberFromString(value, countryCode)\r\n\t\tisValid = phone\r\n\t\t\t? phone.isPossible() && phone.country?.toLowerCase() === countryCode?.toLowerCase()\r\n\t\t\t: false\r\n\r\n\t\tif (isValid) return isValid\r\n\t}\r\n\r\n\tphone = parsePhoneNumberFromString(value)\r\n\tisValid = phone\r\n\t\t? phone.isPossible() && validCountries.includes(phone.country?.toLowerCase() ?? '')\r\n\t\t: false\r\n\r\n\treturn isValid\r\n}\r\n","/**\r\n* Get the birthday of a person.\r\n* @param {string} code\r\n* @returns {Date}\r\n*/\r\nconst getBirthday = function (code: string): Date {\r\n var year = parseInt(code.substring(1, 3)),\r\n month = parseInt(code.substring(3, 5).replace(/^0/, '')) - 1,\r\n day = Number(code.substring(5, 7).replace(/^0/, '')),\r\n firstNumber = code.charAt(0);\r\n\r\n if (firstNumber === '1' || firstNumber === '2') {\r\n year += 1800;\r\n } else if (firstNumber === '3' || firstNumber === '4') {\r\n year += 1900;\r\n } else if (firstNumber === '5' || firstNumber === '6') {\r\n year += 2000;\r\n } else {\r\n year += 2100;\r\n }\r\n\r\n return new Date(year, month, day);\r\n};\r\n\r\n/**\r\n * Gets the control number of personal ID.\r\n * @param {string} code\r\n * @returns {number}\r\n */\r\nconst getControlNumber = function (code: string) {\r\n var multiplier1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1],\r\n multiplier2 = [3, 4, 5, 6, 7, 8, 9, 1, 2, 3],\r\n mod,\r\n total = 0;\r\n\r\n for (var i = 0; i < 10; i++) {\r\n total += Number(code.charAt(i)) * multiplier1[i];\r\n }\r\n mod = total % 11;\r\n\r\n total = 0;\r\n if (10 === mod) {\r\n for (i = 0; i < 10; i++) {\r\n total += Number(code.charAt(i)) * multiplier2[i];\r\n }\r\n mod = total % 11;\r\n if (10 === mod) {\r\n mod = 0;\r\n }\r\n }\r\n return mod;\r\n};\r\n\r\n/**\r\n * Validates the Estonian personal ID.\r\n * @param {string} code\r\n * @returns {boolean}\r\n */\r\nexport function validateEstonianSsn (code: string) {\r\n if (code.length !== 11) {\r\n return false;\r\n }\r\n var control = getControlNumber(code);\r\n if (control !== parseInt(code.charAt(10))) {\r\n return false;\r\n }\r\n\r\n var year = Number(code.substr(1, 2));\r\n var month = Number(code.substr(3, 2));\r\n var day = Number(code.substr(5, 2));\r\n var birthDate = getBirthday(code);\r\n return year === birthDate.getFullYear() % 100 && birthDate.getMonth() + 1 === month && day === birthDate.getDate();\r\n};\r\n\r\n/**\r\n * Gets the gender of a person\r\n * @param {string} code\r\n * @returns {string}\r\n */\r\nexport const getGender = function (code: string) {\r\n var firstNumber = code.charAt(0),\r\n retval = '';\r\n switch (firstNumber) {\r\n case '1':\r\n case '3':\r\n case '5':\r\n retval = 'male';\r\n break;\r\n case '2':\r\n case '4':\r\n case '6':\r\n retval = 'female';\r\n break;\r\n default:\r\n retval = 'unknown';\r\n }\r\n return retval;\r\n};\r\n\r\n/**\r\n * Get the age of a person in years.\r\n * @param {string} params\r\n * @returns {number}\r\n */\r\nexport const getAge = function (code: string) {\r\n return Math.floor((new Date().getTime() - getBirthday(code).getTime()) / (86400 * 1000) / 365.25);\r\n};\r\n\r\n/**\r\n * Validates the Estonian personal ID.\r\n * In params argument months are beginning from 1. 1 - January, 2 - February etc.\r\n * @access public\r\n * @param {object} params\r\n * @returns {string}\r\n */\r\nexport const generate = function (params: any) {\r\n\r\n params = params || {};\r\n\r\n var y, m, d,\r\n gender = params.gender || ((Math.round(Math.random()) === 0) ? 'male' : 'female'),\r\n personalId = '',\r\n\r\n // Places of brith (Estonian Hospitals)\r\n hospitals = [\r\n '00', // Kuressaare Haigla (järjekorranumbrid 001 kuni 020)\r\n '01', // Tartu Ülikooli Naistekliinik, Tartumaa, Tartu (011...019)\r\n '02', // Ida-Tallinna Keskhaigla, Hiiumaa, Keila, Rapla haigla (021...220)\r\n '22', // Ida-Viru Keskhaigla (Kohtla-Järve, endine Jõhvi) (221...270)\r\n '27', // Maarjamõisa Kliinikum (Tartu), Jõgeva Haigla (271...370)\r\n '37', // Narva Haigla (371...420)\r\n '42', // Pärnu Haigla (421...470)\r\n '47', // Pelgulinna Sünnitusmaja (Tallinn), Haapsalu haigla (471...490)\r\n '49', // Järvamaa Haigla (Paide) (491...520)\r\n '52', // Rakvere, Tapa haigla (521...570)\r\n '57', // Valga Haigla (571...600)\r\n '60', // Viljandi Haigla (601...650)\r\n '65', // Lõuna-Eesti Haigla (Võru), Pälva Haigla (651...710?)\r\n '70', // All other hospitals\r\n '95' // Foreigners who are born in Estonia\r\n ];\r\n\r\n if (!(gender === 'female' || gender === 'male')) {\r\n throw IsikukoodException('gender param accepts only \"male\" or \"female\" values.');\r\n }\r\n\r\n if (params.birthYear) {\r\n y = params.birthYear;\r\n } else {\r\n y = Math.round(Math.random() * 100 + 1900 + (new Date().getFullYear() - 2000));\r\n }\r\n\r\n if (params.birthMonth) {\r\n m = params.birthMonth;\r\n } else {\r\n m = Math.floor(Math.random() * 12) + 1;\r\n }\r\n\r\n if (params.birthDay) {\r\n d = params.birthDay;\r\n } else {\r\n var daysInMonth = new Date(y, m, 0).getDate();\r\n d = Math.floor(Math.random() * daysInMonth) + 1;\r\n }\r\n\r\n // Set the gender\r\n if (gender === 'male' && y >= 1800 && y <= 1899) {\r\n personalId += '1';\r\n } else if (gender === 'female' && y >= 1800 && y <= 1899) {\r\n personalId += '2';\r\n } else if (gender === 'male' && y >= 1900 && y <= 1999) {\r\n personalId += '3';\r\n } else if (gender === 'female' && y >= 1900 && y <= 1999) {\r\n personalId += '4';\r\n } else if (gender === 'male' && y >= 2000) {\r\n personalId += '5';\r\n } else if (gender === 'female' && y >= 2000) {\r\n personalId += '6';\r\n }\r\n\r\n // Set the year\r\n personalId += parseInt(y, 0).toString().substring(2, 4);\r\n\r\n // Set the month\r\n personalId += m.toString().length === 1 ? '0' + m : m;\r\n\r\n // Set the day\r\n personalId += d.toString().length === 1 ? '0' + d : d;\r\n\r\n // Set the hospital\r\n personalId += hospitals[Math.floor(Math.random() * hospitals.length)];\r\n\r\n // Set the number of birth\r\n personalId += Math.floor(Math.random() * 10);\r\n\r\n // Set the control number\r\n personalId += getControlNumber(personalId);\r\n\r\n return personalId;\r\n};\r\n\r\n/**\r\n * Isikukood exception.\r\n */\r\nfunction IsikukoodException(err: string) {\r\n throw new Error(err);\r\n}\r\n","import { validateEstonianSsn } from './estonia/estonian-ssn'\r\nimport { validateLithuanianSsn } from './lithuania/lithuanian-ssn'\r\nimport { validateSwedishSsn } from './sweden/sweden-ssn'\r\nimport { validateLatviaSsn } from './latvia/latvia-ssn'\r\nimport appConfig from '../../../app.config'\r\n\r\nexport function validateSsn(value: string) {\r\n\tlet isValid = true\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'ee':\r\n\t\t\tisValid = validateEstonianSsn(value)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'lt':\r\n\t\t\tconst object = validateLithuanianSsn(value)\r\n\t\t\tisValid =\r\n\t\t\t\ttypeof object === 'object' ? object.isValid : Boolean(object)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'se':\r\n\t\t\tisValid = validateSwedishSsn(value)\r\n\t\t\treturn isValid\r\n\r\n\t\tcase 'lv':\r\n\t\t\tconst obj = validateLatviaSsn(value)\r\n\t\t\tisValid =\r\n\t\t\t\ttypeof obj === 'object' ? obj.isValid : Boolean(obj)\r\n\t\t\treturn isValid\r\n\r\n\t\tdefault:\r\n\t\t\treturn isValid\r\n\t}\r\n}\r\n\r\n\r\nexport function formatSsn(newValue: string, previousValue: string) {\r\n\tswitch (appConfig.country) {\r\n\t\tcase 'lv':\r\n\t\t\tconst maxLength = 12;\r\n\r\n\t\t\t// Ignore changes when max length has been reached\r\n\t\t\tif (newValue.length > maxLength)\r\n\t\t\t\treturn previousValue;\r\n\r\n\t\t\t// Ignore format when format already been applied and user changes input\r\n\t\t\tif (newValue.includes('-') && newValue.length < maxLength)\r\n\t\t\t\treturn newValue;\r\n\t\t\t\t\r\n\t\t\tlet val = newValue.replace(/\\D/g, '');\r\n\t\t\tval = val.replace(/^(\\d{6})(\\d{1,2})/, '$1-$2');\r\n\t\t\tval = val.substring(0, 12);\r\n\r\n\t\t\treturn val;\r\n\r\n\t\tdefault:\r\n\t\t\treturn newValue;\r\n\t}\r\n}\r\n","// 46411231034 example\r\n\r\nexport function validateLithuanianSsn(idNumber: string) {\r\n\r\n if (!idNumber) {\r\n return false;\r\n }\r\n\r\n idNumber = idNumber.trim();\r\n if (idNumber.length !== 11) {\r\n return false;\r\n }\r\n\r\n let century;\r\n let gender = idNumber[0];\r\n\r\n switch (gender) {\r\n case \"1\":\r\n gender = \"Male\";\r\n century = 18;\r\n break;\r\n case \"2\":\r\n gender = \"Female\";\r\n century = 18;\r\n break;\r\n case \"3\":\r\n gender = \"Male\";\r\n century = 19;\r\n break;\r\n case \"4\":\r\n gender = \"Female\";\r\n century = 19;\r\n break;\r\n case \"5\":\r\n gender = \"Male\";\r\n century = 20;\r\n break;\r\n case \"6\":\r\n gender = \"Female\";\r\n century = 20;\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n const dateOfBirth = new Date(Number(century + idNumber.substr(1, 2)), Number(idNumber.substr(3, 2)) - 1, Number(idNumber.substr(5, 2)));\r\n\r\n let b = 1;\r\n let c = 3;\r\n let d = 0;\r\n let e = 0;\r\n\r\n for (let i = 0; i < 10; i++) {\r\n let digit = parseInt(idNumber[i]);\r\n d += digit * b;\r\n e += digit * c;\r\n b++; if (b === 10) b = 1;\r\n c++; if (c === 10) c = 1;\r\n }\r\n\r\n d = d % 11;\r\n e = e % 11;\r\n\r\n let checksum;\r\n if (d < 10) {\r\n\r\n checksum = d;\r\n\r\n } else if (e < 10) {\r\n\r\n checksum = e;\r\n\r\n } else {\r\n\r\n checksum = 0;\r\n }\r\n\r\n const isValid = idNumber[10] === String(checksum);\r\n\r\n if (!isValid) {\r\n return false;\r\n }\r\n\r\n return {\r\n gender,\r\n dateOfBirth,\r\n isValid\r\n }\r\n}","\r\nexport function validateSwedishSsn(idNumber: string) {\r\n var personnummer = require('personnummer.js'); \r\n\r\n return (idNumber.length === 12 && personnummer.validate(idNumber));\r\n}","// example 161175-19997\r\n\r\nexport function validateLatviaSsn(idNumber: string) {\r\n if (idNumber.length < 7) {\r\n return false;\r\n }\r\n\r\n if (String(idNumber[6]) === '-') {\r\n idNumber = idNumber.substr(0, 6) + idNumber.substr(7);\r\n }\r\n else return false;\r\n\r\n if (idNumber.length !== 11) {\r\n return false;\r\n }\r\n\r\n const centuryDigit = parseInt(idNumber.substr(6, 1));\r\n\r\n if (isNaN(centuryDigit)) {\r\n return false;\r\n }\r\n\r\n let birthDateString = idNumber.substr(0, 4);\r\n\r\n switch (centuryDigit) {\r\n case 0:\r\n birthDateString += '18';\r\n break;\r\n case 1:\r\n birthDateString += '19';\r\n break;\r\n case 2:\r\n birthDateString += '20';\r\n break;\r\n default:\r\n return false;\r\n }\r\n\r\n birthDateString += idNumber.substr(4, 2);\r\n\r\n const dateOfBirth = new Date(\r\n Number(birthDateString.substr(4)),\r\n Number(birthDateString.substr(2, 2)) - 1,\r\n Number(birthDateString.substr(0, 2)),\r\n );\r\n\r\n if (isNaN(dateOfBirth.valueOf())) {\r\n return false;\r\n }\r\n\r\n const weights = [1, 6, 3, 7, 9, 10, 5, 8, 4, 2];\r\n let checksum = 1101;\r\n\r\n let digit;\r\n for (let i = 0; i < weights.length; i++) {\r\n digit = parseInt(String(idNumber[i]));\r\n\r\n if (isNaN(digit)) {\r\n return false;\r\n }\r\n\r\n checksum -= digit * weights[i];\r\n }\r\n\r\n digit = parseInt(String(idNumber[10]));\r\n const isValid = digit === checksum % 11;\r\n\r\n if (!isValid) {\r\n return false;\r\n }\r\n\r\n return {\r\n isValid,\r\n dateOfBirth,\r\n gender: Math.floor(dateOfBirth.getFullYear() / 100) * 2 - 34,\r\n };\r\n}\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { SmartIdInitiateAuthDto } from 'auth/interfaces/i-smart-id'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport appConfig from 'app.config'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { FormControl, Form } from 'react-bootstrap'\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\nimport { formatSsn, validateSsn } from 'original/utils/validation.helper'\r\nimport { logError } from 'shared/AppInsight'\r\nimport './smartIdContentBlock.scss'\r\nimport { ErrorMessage } from 'shared'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nfunction SmartIdAdvLoginBlock() {\r\n\tconst [isLoading, setIsLoading] = React.useState(false)\r\n\tconst [error, setError] = React.useState()\r\n\tconst [smartIdData, setSmartIdData] =\r\n\t\tReact.useState()\r\n\tconst [nationalIdentityNumber, setNationalIdentityNumber] =\r\n\t\tReact.useState('')\r\n\tconst [nationalIdentityNumberIsValid, setNationalIdentityNumberIsValid] =\r\n\t\tReact.useState(true)\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tasync function doSmartIdAuth() {\r\n\t\tconst isValid = validateNationalIdentityNumber()\r\n\r\n\t\tif (!isValid) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst countryCode = appConfig.country\r\n\t\t\tconst data = await authenticationService.smartIdAuthInit({\r\n\t\t\t\tcountryCode,\r\n\t\t\t\tnationalIdentityNumber,\r\n\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t})\r\n\r\n\t\t\tsetSmartIdData(data)\r\n\t\t\tsetIsLoading(false)\r\n\r\n\t\t\tconst { redirectUrl, secret } =\r\n\t\t\t\tawait authenticationService.smartIdAuthComplete(data)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\tsecret,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tsetSmartIdData(undefined)\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(new Error(t('AuthenticationError')))\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction onNationalIdentityNumberChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(\r\n\t\t\te.currentTarget.value as string,\r\n\t\t\tnationalIdentityNumber,\r\n\t\t)\r\n\t\tsetNationalIdentityNumber(value || '')\r\n\t}\r\n\r\n\tfunction validateNationalIdentityNumber() {\r\n\t\tconst isValid = validateSsn(nationalIdentityNumber)\r\n\t\tsetNationalIdentityNumberIsValid(isValid)\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tif (isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (smartIdData) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('VerificationCode')}

\r\n\t\t\t\t\t\t{smartIdData.code}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
{t('SmartIdPin1Message')}.
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('SmartIdDocumentNumber')}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{error && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default SmartIdAdvLoginBlock\r\n","import React from 'react'\r\nimport { Form } from 'react-bootstrap'\r\nimport FormControl from 'react-bootstrap/FormControl'\r\nimport { IMobileIdAuthResponse } from 'auth/interfaces/i-mobileid'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getQueryParams } from 'shared/utils/helpers'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tformatSsn,\r\n\tvalidatePhoneNumber,\r\n\tvalidateSsn,\r\n} from 'original/utils/validation.helper'\r\nimport { CountryCode } from 'libphonenumber-js'\r\nimport appConfig from '../../../../app.config'\r\n// @ts-ignore\r\nimport ReactPhoneInput from 'react-phone-input-2'\r\nimport 'react-phone-input-2/lib/style.css'\r\nimport { ErrorMessage, logError } from 'shared'\r\nimport './mobileIdAuthBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nfunction MobileIdAuthBlock() {\r\n\tconst { t } = useTranslation()\r\n\tconst [mobileNumber, setMobileNumber] = React.useState('')\r\n\tconst [mobileNumberIsValid, setMobileNumberIsValid] = React.useState(true)\r\n\tconst [personalNumber, setPersonalNumber] = React.useState('')\r\n\tconst [personalNumberIsValid, setPersonalNumberIsValid] =\r\n\t\tReact.useState(true)\r\n\tconst [error, setError] = React.useState()\r\n\tconst [isLoading, setIsLoading] = React.useState(false)\r\n\tconst [mobileIdAuthData, setMobileIdAuthData] =\r\n\t\tReact.useState()\r\n\tconst urlParams = React.useMemo(() => {\r\n\t\tlet { ReturnUrl, SigningRequestId } = getQueryParams()\r\n\t\treturn { ReturnUrl, SigningRequestId }\r\n\t}, [])\r\n\r\n\tfunction onMobileNumberChange(\r\n\t\tvalue: string,\r\n\t\tdata: any,\r\n\t\te: any,\r\n\t\tformattedValue: string,\r\n\t) {\r\n\t\t// setMobileNumber((e as unknown) as string)\r\n\t\tsetMobileNumber(formattedValue)\r\n\t}\r\n\r\n\tfunction onPersonalNumberChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(e.currentTarget.value as string, personalNumber)\r\n\t\tsetPersonalNumber(value || '')\r\n\t}\r\n\r\n\tfunction validatePersonalNumber() {\r\n\t\tconst isValid = validateSsn(personalNumber)\r\n\t\tsetPersonalNumberIsValid(isValid)\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tfunction validateMobileNumber() {\r\n\t\tconst isValid = validatePhoneNumber(\r\n\t\t\tmobileNumber,\r\n\t\t\tappConfig.country.toUpperCase() as CountryCode,\r\n\t\t\tundefined\r\n\t\t)\r\n\t\tsetMobileNumberIsValid(isValid)\r\n\r\n\t\treturn isValid\r\n\t}\r\n\r\n\tfunction validateAll() {\r\n\t\tconst isValidSSN = validatePersonalNumber()\r\n\t\tconst isValidMobileNumber = validateMobileNumber()\r\n\t\treturn isValidSSN && isValidMobileNumber\r\n\t}\r\n\r\n\tasync function mobileIdInitiate() {\r\n\t\ttry {\r\n\t\t\tif (!validateAll()) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tsetIsLoading(true)\r\n\r\n\t\t\tconst data = await authenticationService.mobileIdAuthInitiate(\r\n\t\t\t\tmobileNumber,\r\n\t\t\t\tpersonalNumber,\r\n\t\t\t\tgetReturnUrl(),\r\n\t\t\t)\r\n\t\t\tsetMobileIdAuthData(data)\r\n\r\n\t\t\tconst { redirectUrl, secret } =\r\n\t\t\t\tawait authenticationService.mobileIdAuthComplete(\r\n\t\t\t\t\tdata && data.userData,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tredirectUrl || getReturnUrl(),\r\n\t\t\t\tsecret,\r\n\t\t\t)\r\n\t\t} catch (error: any) {\r\n\t\t\tsetMobileIdAuthData(undefined)\r\n\t\t\tlogError(error)\r\n\t\t\tsetError(new Error(t('AuthenticationError')))\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tif (mobileIdAuthData?.userData) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t('VerificationCode')}

\r\n\t\t\t\t\t{mobileIdAuthData.challengeId}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('VerificationCodeToMobile')}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('PleaseEnterPhoneMobileId')}\r\n\t\t\t
\r\n\t\t\t{!urlParams.SigningRequestId && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('InvalidPhone')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{error && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default MobileIdAuthBlock\r\n","import React, { useState } from 'react'\r\nimport { Trans, useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport {\r\n\tCircleSpinner,\r\n\tErrorMessage,\r\n\tgetCountryA3ForCurrentMarket,\r\n\tvalidateOtpCode,\r\n} from 'shared'\r\nimport { AxiosError } from 'axios'\r\nimport { Form, FormControl } from 'react-bootstrap'\r\nimport { formatSsn, validateSsn } from 'original/utils/validation.helper'\r\nimport { CountdownTimer } from 'shared/utils/dateAndTimeHelpers'\r\nimport { IOtpStartResponse } from 'auth/interfaces/i-otpid'\r\nimport './balticOtpContentBlock.scss'\r\nimport TermsAndConditionBlock from 'auth/constants/termsAndConditions/termsAndConditionsBlock'\r\n\r\nconst BalticOtpContentBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [isDone, setIsDone] = useState(false)\r\n\tconst [isLoading, setIsLoading] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst [otpData, setOtpData] = useState()\r\n\tconst [otpTimedOut, setTimeOut] = useState(false)\r\n\tconst [otpCode, setOtpCode] = useState('')\r\n\tconst [otpCodeIsValid, setOtpCodeIsValid] = useState(true)\r\n\r\n\tconst [ssn, setSsn] = useState('')\r\n\tconst [ssnIsValid, setSsnIsValid] = useState(true)\r\n\r\n\tconst resetStates = () => {\r\n\t\tsetIsLoading(false)\r\n\t\tsetError(undefined)\r\n\t\tsetOtpData(undefined)\r\n\t\tsetOtpCode('')\r\n\t\tsetSsn('')\r\n\t\tsetSsnIsValid(true)\r\n\t\tsetTimeOut(false)\r\n\t\tsetIsDone(false)\r\n\t}\r\n\r\n\tfunction onSsnChange(e: React.FormEvent) {\r\n\t\tconst value = formatSsn(e.currentTarget.value as string, ssn)\r\n\t\tsetSsn(value || '')\r\n\t}\r\n\r\n\tconst loginStart = async () => {\r\n\t\tsetError(undefined)\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (!validateSsn(ssn)) {\r\n\t\t\t\tsetSsnIsValid(false)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tconst country = getCountryA3ForCurrentMarket()\r\n\t\t\tif (!country)\r\n\t\t\t\tthrow new Error('This country is not currently supported')\r\n\r\n\t\t\tconst data = await authenticationService.otpLoanStart(\r\n\t\t\t\t{\r\n\t\t\t\t\tssn: ssn,\r\n\t\t\t\t\tcountry: country,\r\n\t\t\t\t},\r\n\t\t\t\tt,\r\n\t\t\t)\r\n\t\t\tsetOtpData(data)\r\n\t\t} catch (e) {\r\n\t\t\tif ((e as AxiosError).response?.status === 400) {\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('OtpInternalServerError')))\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst loginComplete = async () => {\r\n\t\tsetError(undefined)\r\n\t\tsetIsLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tif (!validateOtpCode(otpCode)) {\r\n\t\t\t\tsetOtpCodeIsValid(false)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\tconst response = await authenticationService.otpComplete(\r\n\t\t\t\t{\r\n\t\t\t\t\tsecret: otpData?.secret!,\r\n\t\t\t\t\totp: otpCode,\r\n\t\t\t\t\treturnUrl: getReturnUrl(),\r\n\t\t\t\t},\r\n\t\t\t\tt,\r\n\t\t\t)\r\n\r\n\t\t\tsetIsDone(true)\r\n\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\tresponse.redirectUrl || getReturnUrl(),\r\n\t\t\t\tresponse.secret,\r\n\t\t\t)\r\n\t\t} catch (e) {\r\n\t\t\tif ((e as AxiosError).response?.status === 400) {\r\n\t\t\t\tsetError(new Error(t('OtpBadRequestError')))\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('OtpInternalServerError')))\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tsetIsLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{isLoading || isDone ? (\r\n\t\t\t\t\r\n\t\t\t) : otpTimedOut ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
{t('OtpGoneError')}
\r\n\t\t\t\t\t resetStates()}\r\n\t\t\t\t\t\tclassName=\"btn btn-primary mt-4\">\r\n\t\t\t\t\t\t{t('Restart')}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{otpData?.secret ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t('OtpEnterCodeInfo')}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetTimeOut(bool)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttime={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\texpiryDate:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\totpData?.expiryAtUtc,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tformat={`mm:ss`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t
,\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setOtpCode(e.target.value)}\r\n\t\t\t\t\t\t\t\tonBlur={() => {\r\n\t\t\t\t\t\t\t\t\tsetOtpCodeIsValid(validateOtpCode(otpCode))\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tisInvalid={!otpCodeIsValid}\r\n\t\t\t\t\t\t\t\tdefaultValue={otpCode}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('OtpFormatInvalid')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('OtpEnterSsnToInit')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setSsnIsValid(validateSsn(ssn))}\r\n\t\t\t\t\t\t\t\tisInvalid={!ssnIsValid}\r\n\t\t\t\t\t\t\t\tvalue={ssn}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('InvalidSsn')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('Proceed')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\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 BalticOtpContentBlock\r\n","import React, { useState } from 'react'\r\nimport AuthMethodType from '../../constants/authMethods'\r\nimport authenticationService from '../../services/authenticationService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner } from 'shared'\r\ninterface EParakstsLoginBlockProps {\r\n\tonError?(error: Error): void\r\n}\r\nfunction EParakstsContentBlock({\r\n\tonError = () => {},\r\n}: EParakstsLoginBlockProps) {\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tasync function eParakstsAuth() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tawait authenticationService.eParakstsRedirectLinkGet()\r\n\t\t\twindow.location.href = redirectUrl\r\n\t\t} catch (error: any) {\r\n\t\t\tonError(error)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\teParakstsAuth()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tconst { t } = useTranslation()\r\n\t// @ts-ignore\r\n\t// prettier-ignore\r\n\tconst buttonRounded = (\r\n\t\t\r\n\t\t\t{t('Login')}\r\n\t\t
\r\n\t)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t eParakstsAuth()}\r\n\t\t\t\t\tclassName=\"login-container m-2 d-flex flex-column justify-content-between align-items-center pointer\">\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{buttonRounded}
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default EParakstsContentBlock\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner, ErrorMessage, checkIsMobile, isIOS } from 'shared'\r\n\r\nconst useBankIdAuth = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [error, setError] = useState(null)\r\n\tconst [isLoading, setIsLoading] = useState(true)\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst initiateBankIdAuth = useCallback(async () => {\r\n\t\tsetIsLoading(true)\r\n\t\tsetError(null)\r\n\t\ttry {\r\n\t\t\tconst returnUrl =\r\n\t\t\t\tisMobile && isIOS()\r\n\t\t\t\t\t? encodeURIComponent(getReturnUrl('/bankid-callback'))\r\n\t\t\t\t\t: 'null'\r\n\r\n\t\t\tconst initiateData =\r\n\t\t\t\tawait authenticationService.bankIdv2AuthInitiate(\r\n\t\t\t\t\tencodeURIComponent(returnUrl),\r\n\t\t\t\t)\r\n\r\n\t\t\t// sessionStorage has limitations and will not work on iOS devices because we have redirect to a new tab\r\n\t\t\tlocalStorage.setItem('bankid_orderRef', initiateData.orderRef)\r\n\r\n\t\t\tconst redirectUrl =\r\n\t\t\t\tisMobile && isIOS()\r\n\t\t\t\t\t? initiateData.iosMobileBankIdAutoStartUrl\r\n\t\t\t\t\t: initiateData.bankIdAutoStartUrl\r\n\t\t\treturn { redirectUrl }\r\n\t\t} catch (error) {\r\n\t\t\tsetError(new Error(t('BankIDInitiateFailure')))\r\n\t\t\tsetIsLoading(false)\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}, [t, isMobile])\r\n\r\n\tconst cancelBankIdAuth = useCallback(async () => {\r\n\t\tconst orderRef = localStorage.getItem('bankid_orderRef')\r\n\t\tif (!orderRef) return\r\n\t\ttry {\r\n\t\t\tawait authenticationService.bankIdv2AuthCancel(orderRef, t)\r\n\t\t} catch (err) {\r\n\t\t\tsetError(new Error(t('BankIdCancelFailure')))\r\n\t\t}\r\n\t}, [t])\r\n\r\n\treturn {\r\n\t\tinitiateBankIdAuth,\r\n\t\tcancelBankIdAuth,\r\n\t\terror,\r\n\t\tisLoading,\r\n\t\tsetIsLoading,\r\n\t}\r\n}\r\n\r\nconst BankIdSeAutoStartBlock = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { initiateBankIdAuth, cancelBankIdAuth, error, isLoading } =\r\n\t\tuseBankIdAuth()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst authenticate = async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst { redirectUrl } = await initiateBankIdAuth()\r\n\r\n\t\t\t\t// start BankID app\r\n\t\t\t\twindow.location.href = redirectUrl\r\n\r\n\t\t\t\t// continue with collecting the authorizaiton status,\r\n\t\t\t\t// ios devices are being autmatically redirected to the bankid-callback page\r\n\t\t\t\tif (!isMobile || !isIOS())\r\n\t\t\t\t\twindow.location.href = getReturnUrl('/bankid-callback')\r\n\t\t\t} catch (error) {\r\n\t\t\t\tawait cancelBankIdAuth()\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tauthenticate()\r\n\t}, [initiateBankIdAuth, cancelBankIdAuth, isMobile])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{isMobile ? (\r\n\t\t\t\t\t{t('BankIdTryingToLaunchApp')}\r\n\t\t\t\t) : (\r\n\t\t\t\t\tt('AuthAutoStartInfo')\r\n\t\t\t\t)}\r\n\t\t\t\t{error && }\r\n\t\t\t\t{isLoading && }\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default BankIdSeAutoStartBlock\r\n","import React from 'react'\r\nimport QRCode from 'react-qr-code'\r\n\r\ninterface QRCodeBlockProps {\r\n\treadonly qrCodeData: string\r\n}\r\n\r\nfunction QRCodeBlock({ qrCodeData }: QRCodeBlockProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default QRCodeBlock\r\n","import React, { useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { getReturnUrl, maskSsn } from 'auth/utils/authHelpers'\r\nimport { CircleSpinner, ErrorMessage, logEvent } from 'shared'\r\nimport QRCodeBlock from './qrCodeBlock'\r\nimport { TranslationFile } from 'i18n'\r\n\r\ninterface QRCodeWrapperProps {\r\n\torderRef: string\r\n\tshouldGenerate: boolean\r\n}\r\n\r\nconst QRCodeWrapper = ({ orderRef, shouldGenerate }: QRCodeWrapperProps) => {\r\n\tconst [qrCodeData, setQRCodeData] = useState('')\r\n\tconst { t } = useTranslation([TranslationFile.Translation])\r\n\tconst [error, setError] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchData = async () => {\r\n\t\t\tif (orderRef && shouldGenerate) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst response =\r\n\t\t\t\t\t\tawait authenticationService.bankIdv2GenerateQrCode(\r\n\t\t\t\t\t\t\torderRef,\r\n\t\t\t\t\t\t\tt,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\tsetQRCodeData(response.qrData)\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tsetError(new Error(t('BankIDCollectFailure')))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (shouldGenerate) {\r\n\t\t\tfetchData() // Fetch immediately\r\n\t\t\tconst intervalId = setInterval(fetchData, 1000) // Then start the interval\r\n\t\t\treturn () => clearInterval(intervalId) // Cleanup\r\n\t\t}\r\n\t}, [orderRef, shouldGenerate, t])\r\n\r\n\tif (shouldGenerate && !qrCodeData) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn shouldGenerate ? : <>\r\n}\r\n\r\nconst useBankIdAuth = () => {\r\n\tconst [orderRef, setOrderRef] = useState('')\r\n\tconst [shouldGenerate, setShouldGenerate] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst tryCancelBankIdAuth = useCallback(\r\n\t\tasync (ref) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait authenticationService.bankIdv2AuthCancel(ref, t)\r\n\t\t\t} catch (err) {\r\n\t\t\t\tsetError(new Error(t('BankIdCancelFailure')))\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst tryCollectBankIdAuth = useCallback(\r\n\t\tasync (orderRef) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst completeData =\r\n\t\t\t\t\tawait authenticationService.bankIdv2AuthCollect(\r\n\t\t\t\t\t\torderRef,\r\n\t\t\t\t\t\tfalse,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t)\r\n\t\t\t\tlogEvent(\r\n\t\t\t\t\t`User (${maskSsn(\r\n\t\t\t\t\t\tcompleteData.ssn,\r\n\t\t\t\t\t)}) completed BankId signin with status:${\r\n\t\t\t\t\t\tcompleteData.isCompleted\r\n\t\t\t\t\t}`,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tssn: maskSsn(completeData.ssn),\r\n\t\t\t\t\t\tstatus: completeData.isCompleted ? 'success' : 'failed',\r\n\t\t\t\t\t},\r\n\t\t\t\t)\r\n\t\t\t\tif (completeData.isCompleted) {\r\n\t\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\t\tgetReturnUrl(),\r\n\t\t\t\t\t\tcompleteData.secret,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetShouldGenerate(false)\r\n\t\t\t\tsetError(new Error(t('BankIDCollectFailure')))\r\n\t\t\t\tawait tryCancelBankIdAuth(orderRef)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t, tryCancelBankIdAuth],\r\n\t)\r\n\r\n\tconst tryStartBankIdAuth = useCallback(async () => {\r\n\t\tlet cancelOrderRef = ''\r\n\t\ttry {\r\n\t\t\tconst initiateData =\r\n\t\t\t\tawait authenticationService.bankIdv2AuthInitiate(getReturnUrl())\r\n\t\t\tsetOrderRef(initiateData.orderRef)\r\n\t\t\tcancelOrderRef = initiateData.orderRef\r\n\t\t\tsetShouldGenerate(true)\r\n\r\n\t\t\tawait tryCollectBankIdAuth(initiateData.orderRef)\r\n\t\t} catch (err) {\r\n\t\t\tsetError(new Error(t('BankIDStartFailure')))\r\n\t\t\tawait tryCancelBankIdAuth(cancelOrderRef)\r\n\t\t}\r\n\t}, [t, tryCancelBankIdAuth, tryCollectBankIdAuth])\r\n\r\n\tuseEffect(() => {\r\n\t\ttryStartBankIdAuth()\r\n\t}, [tryStartBankIdAuth])\r\n\r\n\treturn {\r\n\t\torderRef,\r\n\t\tshouldGenerate,\r\n\t\terror,\r\n\t\ttryStartBankIdAuth,\r\n\t\ttryCancelBankIdAuth,\r\n\t\ttryCollectBankIdAuth,\r\n\t}\r\n}\r\n\r\nconst BankIdSeQRContentBlock = () => {\r\n\tconst { orderRef, shouldGenerate, error } = useBankIdAuth()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{error && }\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 BankIdSeQRContentBlock\r\n","import React from 'react'\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile, logError } from 'shared/index'\r\n\r\nimport GermanyOtp from 'auth/components/loginBlocks/GermanyOtp'\r\nimport NorwegianBankIdContentBlock from 'auth/components/loginBlocks/NorwegianBankIdContentBlock'\r\n//import NorwegianBankIdMobileContentBlock from 'auth/components/loginBlocks/NorwegianBankIdMobileContentBlock'\r\nimport OtpContentBlock from 'auth/components/loginBlocks/spainOtp/spainOtpContentBlock'\r\nimport IdCardContentBlock from 'auth/components/loginBlocks/idCard/idCardContentBlock'\r\nimport SmartIdContentBlock from 'auth/components/loginBlocks/smartId/smartIdContentBlock'\r\nimport MobileIdContentBlock from 'auth/components/loginBlocks/mobileId/mobileIdAuthBlock'\r\nimport authenticationService from 'auth/services/authenticationService'\r\n// import SignicatBankIdContentBlock from 'auth/components/loginBlocks/signicatBankId/signicatBankIdContentBlock'\r\nimport BalticOtpContentBlock from 'auth/components/loginBlocks/balticOtp/balticOtpContentBlock'\r\nimport EParakstsContentBlock from 'auth/components/loginBlocks/EParakstsContentBlock'\r\nimport BankIdSeAutoStartBlock from 'auth/components/loginBlocks/bankIdSe/bankIdSeAutoStartBlock'\r\nimport BankIdSeQRContentBlock from 'auth/components/loginBlocks/bankIdSe/bankIdSeQRContentBlock'\r\n\r\nexport enum AuthMethodType {\r\n\tsmartIdBasic = 0,\r\n\tveriff = 1,\r\n\tmobileId = 2,\r\n\tcardId = 3,\r\n\tsmartIdAdv = 4,\r\n\tbankId = 5, // obsolete\r\n\tsignicat = 6,\r\n\tnorwegianBankId = 7,\r\n\tnorwegianBankIdMobile = 8,\r\n\tgermanyOtp = 9,\r\n\tmitId = 10,\r\n\tspainOtp = 11,\r\n\tbalticOtp = 12,\r\n\tnorwegianBankIdBiometric = 13,\r\n\tbankIdAutoStart = 14,\r\n\tbankIdQRStart = 15,\r\n\teparaksts = 16,\r\n}\r\n\r\nexport default AuthMethodType\r\n\r\nexport const authMethods: ISigningButton[] = [\r\n\t{\r\n\t\ttype: AuthMethodType.cardId,\r\n\t\tcountry: ['ee'],\r\n\t\tlogoTitle: 'ID-Card',\r\n\t\tlogoClassName: 'id-card',\r\n\t\tshowInMobile: !checkIsMobile(),\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.smartIdBasic,\r\n\t\tcountry: ['ee', 'lv', 'lt'],\r\n\t\tlogoTitle: 'Smart-ID',\r\n\t\tlogoClassName: 'smart-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.mobileId,\r\n\t\tcountry: ['ee', 'lt'],\r\n\t\tlogoTitle: 'Mobile-ID',\r\n\t\tlogoClassName: 'mobile-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.eparaksts,\r\n\t\tcountry: ['lv'],\r\n\t\tlogoTitle: 'eParaksts',\r\n\t\tlogoClassName: 'eparaksts',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.balticOtp,\r\n\t\tcountry: ['ee', 'lt', 'lv'],\r\n\t\tlogoTitle: 'OneTimePassword',\r\n\t\tlogoClassName: 'baltic-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.bankIdQRStart,\r\n\t\tcountry: ['se'],\r\n\t\tlogoTitle: 'AuthQrCode',\r\n\t\tlogoClassName: 'bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.bankIdAutoStart,\r\n\t\tcountry: ['se'],\r\n\t\tlogoTitle: 'AuthAutoStart',\r\n\t\tlogoClassName: 'bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.signicat,\r\n\t\tcountry: ['fi'],\r\n\t\tlogoClassName: 'signicat',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.signicat),\r\n\t\t// content: {}}/>\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.mitId,\r\n\t\tcountry: ['dk'],\r\n\t\tlogoClassName: 'mit-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.mitId),\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.norwegianBankId,\r\n\t\tcountry: ['no'],\r\n\t\tlogoTitle: 'Kodebrikke eller BankID-app',\r\n\t\tlogoClassName: 'norwegian-bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () => InitiateSignicatSigning(AuthMethodType.norwegianBankId),\r\n\t\tcontent: (\r\n\t\t\t\r\n\t\t),\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.norwegianBankIdBiometric,\r\n\t\tcountry: ['no'],\r\n\t\tlogoTitle: 'BankID biometri',\r\n\t\tlogoClassName: 'norwegian-bank-id',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () =>\r\n\t\t\tInitiateSignicatSigning(AuthMethodType.norwegianBankIdBiometric),\r\n\t\tcontent: (\r\n\t\t\t\r\n\t\t),\r\n\t},\r\n\t/* \t{\r\n\t\ttype: AuthMethodType.norwegianBankIdMobile,\r\n\t\tcountry: ['no'],\r\n\t\tlogoClassName: 'norwegian-bank-id-mobile',\r\n\t\tshowInMobile: true,\r\n\t\tonClick: () =>\r\n\t\t\tInitiateSignicatSigning(AuthMethodType.norwegianBankIdMobile),\r\n\t\tcontent: ,\r\n\t}, */\r\n\t{\r\n\t\ttype: AuthMethodType.germanyOtp,\r\n\t\tcountry: ['de', 'at', 'it'],\r\n\t\tlogoTitle: 'Germany (OTP)',\r\n\t\tlogoClassName: 'germany-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent: ,\r\n\t\thideTitleInContent: true,\r\n\t},\r\n\t{\r\n\t\ttype: AuthMethodType.spainOtp,\r\n\t\tcountry: ['es'],\r\n\t\tlogoTitle: 'Spain (OTP)',\r\n\t\tlogoClassName: 'spain-otp',\r\n\t\tshowInMobile: true,\r\n\t\tcontent:\r\n\t\t\tappConfig.system === 'original' ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\tloginContainerHeaderKey: 'Login',\r\n\t\thideTitleInContent: true,\r\n\t},\r\n]\r\n\r\nexport interface ISigningButton {\r\n\t/** Type of authentication */\r\n\ttype: AuthMethodType\r\n\r\n\t/** (optional) Title that will be displayed under the icon if provided \t*/\r\n\tlogoTitle?: string\r\n\r\n\t/** Classname of the logo to be used */\r\n\tlogoClassName: string\r\n\r\n\t/** (optional) If set to true, title will not show in the content tab but only in the card overview */\r\n\thideTitleInContent?: boolean\r\n\r\n\t/** Set to true if this authentication should be showed in mobile view */\r\n\tshowInMobile: boolean\r\n\r\n\t/** Specify countries this type of authentication should be availble to */\r\n\tcountry: string[]\r\n\r\n\t/** (optional) Element that will be shown when button is pressed. If \"onClick\" is also populated this will be ignored */\r\n\tcontent?: JSX.Element\r\n\r\n\t/** (optional) Header to be shown over the login content container */\r\n\tloginContainerHeaderKey?: string\r\n\r\n\t/** (optional) Event that will occur when auth card is pressed. Will ignore content property if populated. */\r\n\tonClick?(): Promise\r\n}\r\n\r\n/**\r\n * @returns A list of all authentications that should be used for the country specified in appconfig\r\n */\r\nexport const getAuthMethodsForCurrentCountry = () => {\r\n\treturn authMethods.filter((method: ISigningButton) =>\r\n\t\tmethod.country.includes(appConfig.country),\r\n\t)\r\n}\r\n\r\n/**\r\n * Based of the authentication type provided; fetches and redirects connected url from signicat for continued signing flow.\r\n * @async\r\n */\r\nexport async function InitiateSignicatSigning(authType: AuthMethodType) {\r\n\ttry {\r\n\t\tlet redirectUrl: string | undefined\r\n\r\n\t\tif (authType === AuthMethodType.signicat) {\r\n\t\t\tredirectUrl = await authenticationService.signicatRedirectLinkGet()\r\n\t\t}\r\n\r\n\t\tif (authType === AuthMethodType.mitId) {\r\n\t\t\tredirectUrl =\r\n\t\t\t\tawait authenticationService.signicatMitIdRedirectLinkGet()\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tauthType === AuthMethodType.norwegianBankId ||\r\n\t\t\tauthType === AuthMethodType.norwegianBankIdBiometric ||\r\n\t\t\tauthType === AuthMethodType.norwegianBankIdMobile\r\n\t\t) {\r\n\t\t\tredirectUrl =\r\n\t\t\t\tawait authenticationService.norwegianBankIdRedirectLinkGet(\r\n\t\t\t\t\tauthType,\r\n\t\t\t\t)\r\n\t\t}\r\n\r\n\t\tif (!redirectUrl) {\r\n\t\t\tthrow new Error(`RedirectUrl not setup for authType ${authType}`)\r\n\t\t}\r\n\r\n\t\twindow.location.href = redirectUrl\r\n\t} catch (error: any) {\r\n\t\tlogError(error)\r\n\t\tthrow error\r\n\t}\r\n}\r\n\r\nexport const getAuthButtons = (\r\n\tonClick: Function,\r\n\tactive: AuthMethodType | undefined,\r\n) => {\r\n\tlet filteredMethods = authMethods.filter((method: ISigningButton) =>\r\n\t\tmethod.country.includes(appConfig.country),\r\n\t)\r\n\r\n\tconst isActive = (method: AuthMethodType) =>\r\n\t\tmethod === active ? ' chosen' : ''\r\n\r\n\treturn {\r\n\t\tbuttons: filteredMethods.map((b) => (\r\n\t\t\t onClick(b)}>\r\n\t\t)),\r\n\t\tinitMethod: filteredMethods[0],\r\n\t\tfilteredMethods,\r\n\t}\r\n}\r\n","import {\r\n\tAxiosError,\r\n\tAxiosInstance,\r\n\tAxiosRequestConfig,\r\n\tAxiosResponse,\r\n} from 'axios'\r\nimport { waitForLanguage } from 'shared/utils/helpers'\r\nimport { logError, logEvent } from 'shared/AppInsight'\r\nimport appConfig from 'app.config'\r\n\r\nconst onRequest = async (\r\n\tconfig: AxiosRequestConfig,\r\n): Promise => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\tconsoleLog(`[request] [${JSON.stringify(config)}]`)\r\n\tlogEvent('SignInRequest', { config: `${JSON.stringify(config)}` })\r\n\treturn config\r\n}\r\n\r\nconst onRequestError = (error: AxiosError): Promise => {\r\n\tlet errorMessage = `Error: ${error.message}`\r\n\r\n\tif (error.request) {\r\n\t\terrorMessage += ' - The request was made but no response was received.'\r\n\t} else {\r\n\t\terrorMessage += ' - An error occurred in setting up the request.'\r\n\t}\r\n\r\n\tconst errorDetails = {\r\n\t\tmessage: errorMessage,\r\n\t\turl: error.config?.url,\r\n\t\tmethod: error.config?.method,\r\n\t\ttimestamp: new Date().toUTCString(),\r\n\t}\r\n\tconsoleLog(`[request error] ${errorMessage}`)\r\n\tlogError(new Error(errorMessage), errorDetails)\r\n\r\n\treturn Promise.reject(error)\r\n}\r\n\r\nconst onResponse = (response: AxiosResponse): AxiosResponse => {\r\n\tconsoleLog(`[response] [${JSON.stringify(response)}]`)\r\n\tlogEvent('SignInResponse', {\r\n\t\turl: response.config.url,\r\n\t\tstatus: response.status,\r\n\t\tdata: response.data,\r\n\t})\r\n\treturn response\r\n}\r\n\r\nconst onResponseError = (error: AxiosError): Promise => {\r\n\tlet errorMessage = `Error: ${error.message}`\r\n\tif (error.response?.data.message) {\r\n\t\terrorMessage += ` - Message from server: \"${error.response.data.message}\"`\r\n\t}\r\n\r\n\tif (!error.response || error.response.status === 0) {\r\n\t\terrorMessage +=\r\n\t\t\t' - Detected status code 0. Possible causes: network issues, CORS errors, request aborted by the client, or the server did not respond.'\r\n\r\n\t\tconst errorDetails = {\r\n\t\t\tmessage: errorMessage,\r\n\t\t\turl: error.config.url,\r\n\t\t\tmethod: error.config.method,\r\n\t\t\theaders: JSON.stringify(error.config.headers),\r\n\t\t\ttimestamp: new Date().toUTCString(),\r\n\t\t}\r\n\r\n\t\tlogError(new Error(errorMessage), errorDetails)\r\n\t} else {\r\n\t\tconst basicErrorDetails = {\r\n\t\t\tmessage: errorMessage,\r\n\t\t\tstatus: error.response.status,\r\n\t\t\turl: error.config.url,\r\n\t\t}\r\n\r\n\t\tlogError(new Error(errorMessage), basicErrorDetails)\r\n\t}\r\n\r\n\tconsoleLog(`[request error] ${errorMessage}`)\r\n\treturn Promise.reject(error)\r\n}\r\n\r\nconst logInConsole = appConfig.environment !== 'production'\r\nconst consoleLog = (message: string) => {\r\n\tif (logInConsole) console.log(message)\r\n}\r\n\r\nexport function setupInterceptorsFor(instance: AxiosInstance): AxiosInstance {\r\n\tinstance.interceptors.request.use(onRequest, onRequestError)\r\n\tinstance.interceptors.response.use(onResponse, onResponseError)\r\n\treturn instance\r\n}\r\n","import Axios, { AxiosResponse } from 'axios'\r\nimport { IMobileIdAuthResponse } from '../interfaces/i-mobileid'\r\nimport {\r\n\tauthenticationServiceCancelToken,\r\n\tgetHeadersWithJwtToken,\r\n} from '../utils/auth-util'\r\nimport { IUserData } from '../interfaces/i-user-data'\r\nimport { SmartIdInitiateAuthDto } from '../interfaces/i-smart-id'\r\nimport { ISignicatIdAuthResponse } from '../interfaces/i-signicatid'\r\nimport { IBankIdStartResponse } from '../interfaces/i-bankid'\r\nimport {\r\n\tgetNorwegianBankIdReturnUrl,\r\n\tgetReturnUrl,\r\n\tgetSignicatReturnUrl,\r\n\tgeteParakstsReturnUrl,\r\n} from '../utils/authHelpers'\r\nimport { apiRoutes } from 'shared/index'\r\nimport { TFunction } from 'i18next'\r\nimport appConfig from 'app.config'\r\nimport AuthMethodType from 'auth/constants/authMethods'\r\n\r\nimport { setupInterceptorsFor } from 'shared/Axios/Interceptors/Interceptors'\r\nimport {\r\n\tIApplicationOtpStartRequest,\r\n\tIGermanyOtpStartRequest,\r\n\tILoanOtpStartRequest,\r\n\tIOtpCompleteRequest,\r\n\tIOtpStartResponse,\r\n} from 'auth/interfaces/i-otpid'\r\n\r\nconst transportWithCredentials = setupInterceptorsFor(Axios.create({}))\r\n\r\nconst authenticationService = {\r\n\tasync smartIdAuthInit(authRequest: {\r\n\t\tcountryCode: string\r\n\t\tnationalIdentityNumber: string\r\n\t\treturnUrl: string\r\n\t}) {\r\n\t\tconst { data } =\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.smartIdAuthInitiate,\r\n\t\t\t\tauthRequest,\r\n\t\t\t)\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync smartIdAuthComplete(\r\n\t\tauthRequest: SmartIdInitiateAuthDto,\r\n\t\tretryCount: number = 0,\r\n\t): Promise<{ redirectUrl: string; secret: string }> {\r\n\t\ttry {\r\n\t\t\tconst config = {\r\n\t\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t\t}\r\n\t\t\tconsole.log('retryC: ', retryCount)\r\n\t\t\tconst { data } = await transportWithCredentials.post<{\r\n\t\t\t\tredirectUrl: string\r\n\t\t\t\tsecret: string\r\n\t\t\t}>(apiRoutes.smartIdAuthComplete, authRequest, config)\r\n\r\n\t\t\treturn data\r\n\t\t} catch (e) {\r\n\t\t\t// The request was made but no response was received\r\n\t\t\t// `error.request` is an instance of XMLHttpRequest in the browser and an instance of\r\n\t\t\tif ((e as any).request) {\r\n\t\t\t\tif (retryCount < 3) {\r\n\t\t\t\t\treturn await this.smartIdAuthComplete(\r\n\t\t\t\t\t\tauthRequest,\r\n\t\t\t\t\t\tretryCount + 1,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthrow e\r\n\t\t}\r\n\t},\r\n\r\n\tasync mobileIdAuthInitiate(\r\n\t\tphoneNumber: string,\r\n\t\tpersonalNumber: string,\r\n\t\treturnUrl: string,\r\n\t) {\r\n\t\tphoneNumber = phoneNumber.replace(/\\s+/g, '')\r\n\t\tconst { data } =\r\n\t\t\tawait transportWithCredentials.post(\r\n\t\t\t\tapiRoutes.mobileIdAuthInitiate,\r\n\t\t\t\t{\r\n\t\t\t\t\tphoneNumber,\r\n\t\t\t\t\treturnUrl,\r\n\t\t\t\t\tpersonalNumber,\r\n\t\t\t\t},\r\n\t\t\t)\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync mobileIdAuthComplete(userData: IUserData | undefined, t: TFunction) {\r\n\t\tconst config = {\r\n\t\t\theaders: await getHeadersWithJwtToken(),\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst { data } = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(apiRoutes.mobileIdAuthComplete, userData, config)\r\n\r\n\t\tif (!data) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync cardIdAuthenticate(\r\n\t\trequestId: string,\r\n\t\tcertificateContent: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst { data } = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.idCardAuth(requestId),\r\n\t\t\t{ certificateContent },\r\n\t\t)\r\n\r\n\t\treturn data as string\r\n\t},\r\n\r\n\tasync signicatRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.signicatAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${getSignicatReturnUrl()}`\r\n\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync signicatMitIdRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.signicatAuthMitId +\r\n\t\t\t`?state=noState&callbackUrl=${getSignicatReturnUrl()}`\r\n\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync signicatResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.signicatAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getSignicatReturnUrl()}`,\r\n\t\t\t)\r\n\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync norwegianBankIdRedirectLinkGet(authMethod: AuthMethodType) {\r\n\t\tlet method = undefined\r\n\t\tswitch (authMethod) {\r\n\t\t\tcase AuthMethodType.norwegianBankId:\r\n\t\t\t\tmethod = 'nbid-high'\r\n\t\t\t\tbreak\r\n\t\t\tcase AuthMethodType.norwegianBankIdBiometric:\r\n\t\t\t\tmethod = 'nbid-biometric'\r\n\t\t\t\tbreak\r\n\t\t\tcase AuthMethodType.norwegianBankIdMobile:\r\n\t\t\t\tmethod = 'nbid-mobil'\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error('Invalid authentication method')\r\n\t\t}\r\n\r\n\t\tconst route =\r\n\t\t\tapiRoutes.norwegianBankIdAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${getNorwegianBankIdReturnUrl()}&method=${method}`\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync norwegianBankIdResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.norwegianBankIdAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getNorwegianBankIdReturnUrl()}`,\r\n\t\t\t)\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync norwegianBankIdApplicationResultGet(\r\n\t\tqueryParams: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.norwegianBankIdApplicationAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${getNorwegianBankIdReturnUrl()}`,\r\n\t\t\t)\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n\r\n\tasync bankIdv2AuthInitiate(redirectUrl: string) {\r\n\t\tconst response =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.bankIdv2AuthInitiate + `?returnUrl=${redirectUrl}`,\r\n\t\t\t)\r\n\t\treturn response.data\r\n\t},\r\n\r\n\tasync bankIdv2AuthCancel(orderRef: string, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.bankIdv2AuthCancel,\r\n\t\t\t{\r\n\t\t\t\torderRef,\r\n\t\t\t},\r\n\t\t)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.status\r\n\t},\r\n\r\n\tasync bankIdv2AuthCollect(\r\n\t\torderRef: string,\r\n\t\tisAutoStart: boolean,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst config = {\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tstatus: string\r\n\t\t\tisCompleted: boolean\r\n\t\t\tsecret: string\r\n\t\t\tssn: string\r\n\t\t}>(\r\n\t\t\tapiRoutes.bankIdv2AuthCollect,\r\n\t\t\t{\r\n\t\t\t\torderRef,\r\n\t\t\t\tisAutoStart,\r\n\t\t\t},\r\n\t\t\tconfig,\r\n\t\t)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync bankIdv2GenerateQrCode(orderRef: string, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tqrData: string\r\n\t\t}>(apiRoutes.bankIdv2GenerateQrCode, {\r\n\t\t\torderRef,\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync getArtifact(requestId: string, taskId: string, t: TFunction) {\r\n\t\tlet route\r\n\t\tswitch (appConfig.country) {\r\n\t\t\tcase 'dk':\r\n\t\t\t\troute = apiRoutes.getArtifactDk(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tcase 'fi':\r\n\t\t\t\troute = apiRoutes.getArtifactFi(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tcase 'no':\r\n\t\t\t\troute = apiRoutes.getArtifactBbBank(requestId, taskId)\r\n\t\t\t\tbreak\r\n\t\t\tdefault:\r\n\t\t\t\troute = apiRoutes.getArtifactFi(requestId, taskId)\r\n\t\t}\r\n\t\tconsole.log(route)\r\n\t\tconst artifact = await transportWithCredentials.get(route)\r\n\r\n\t\tif (artifact.status === 200) {\r\n\t\t\treturn artifact.data\r\n\t\t}\r\n\t\tthrow new Error(t('NoArtifact'))\r\n\t},\r\n\r\n\tasync authenticate(\r\n\t\tapiRoute: string,\r\n\t\tssn: string,\r\n\t\tbirthDate: string,\r\n\t\tapplicationId: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\treturnUrl: string\r\n\t\t}>(apiRoute, {\r\n\t\t\tssn,\r\n\t\t\tbirthDate,\r\n\t\t\tapplicationId,\r\n\t\t\treturnUrl: getReturnUrl(),\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync germanyOtpStart(request: IGermanyOtpStartRequest, t: TFunction) {\r\n\t\tconst route = (() => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpStart\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpStartSsp\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.italyOtpStartSsp\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t}\r\n\t\t})()\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\tcustomerId: string\r\n\t\t}>(route, request)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync germanyOtpComplete(\r\n\t\tsecret: string,\r\n\t\totp: string,\r\n\t\tcustomerId: string,\r\n\t\tt: TFunction,\r\n\t) {\r\n\t\tconst route = (() => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpComplete\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpCompleteSsp\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.italyOtpCompleteSsp\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t}\r\n\t\t})()\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(route, {\r\n\t\t\tsecret,\r\n\t\t\tcustomerId,\r\n\t\t\totp,\r\n\t\t\treturnUrl: getReturnUrl(),\r\n\t\t})\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\t\tconsole.log(resp.data)\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpStart(request: IApplicationOtpStartRequest, t: TFunction) {\r\n\t\tconst route = () => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpStart\r\n\t\t\t\tcase 'es':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\treturn apiRoutes.spainOtpStart\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpStart\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tsecret: string\r\n\t\t\tcustomerId: string\r\n\t\t}>(route(), request)\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpLoanStart(request: ILoanOtpStartRequest, t: TFunction) {\r\n\t\tconst resp = await transportWithCredentials.post<\r\n\t\t\tILoanOtpStartRequest,\r\n\t\t\tAxiosResponse\r\n\t\t>(apiRoutes.loanOtpStart, request)\r\n\r\n\t\tif (resp.status !== 200) {\r\n\t\t\tthrow new Error(t('AuthenticationError'))\r\n\t\t}\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync otpComplete(request: IOtpCompleteRequest, t: TFunction) {\r\n\t\tconst route = () => {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'de':\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t\tcase 'at':\r\n\t\t\t\t\treturn apiRoutes.austriaOtpComplete\r\n\t\t\t\tcase 'ee':\r\n\t\t\t\tcase 'lv':\r\n\t\t\t\tcase 'lt':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\tcase 'es':\r\n\t\t\t\t\treturn apiRoutes.spainOtpComplete\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn apiRoutes.germanyOtpComplete\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst config = {\r\n\t\t\tcancelToken: authenticationServiceCancelToken.getToken(),\r\n\t\t}\r\n\t\tconst resp = await transportWithCredentials.post<{\r\n\t\t\tredirectUrl: string\r\n\t\t\tsecret: string\r\n\t\t}>(route(), request, config)\r\n\r\n\t\treturn resp.data\r\n\t},\r\n\r\n\tasync electronicIDAuthorizationToken(\r\n\t\tapplicationId: string,\r\n\t\tproduct: string,\r\n\t) {\r\n\t\tconst { data } = await transportWithCredentials.get<{\r\n\t\t\tid: string\r\n\t\t\tauthorization: string\r\n\t\t}>(apiRoutes.electronicIDToken(applicationId, product))\r\n\t\tconsole.log('received auth: ', data)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync electronicIDVerificationRequest(videoId: string, product: string) {\r\n\t\tconst { data } = await transportWithCredentials.post(\r\n\t\t\tapiRoutes.electronicIDVerificationRequest,\r\n\t\t\t{ videoId: videoId, product: product },\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\treturn data\r\n\t},\r\n\r\n\tredirectTo(url: string, secretValue: string) {\r\n\t\tconst form = document.createElement('form')\r\n\t\tform.style.display = 'none'\r\n\t\tform.action = apiRoutes.redirectTo\r\n\t\tform.method = 'POST'\r\n\r\n\t\tvar secret = document.createElement('input')\r\n\t\tsecret.name = 'secret'\r\n\t\tsecret.value = secretValue\r\n\r\n\t\tvar redirectUrl = document.createElement('input')\r\n\t\tredirectUrl.name = 'redirectUrl'\r\n\t\tredirectUrl.value = url\r\n\r\n\t\tform.appendChild(secret)\r\n\t\tform.appendChild(redirectUrl)\r\n\r\n\t\tdocument.body.appendChild(form)\r\n\t\tform.submit()\r\n\t},\r\n\r\n\tasync eParakstsRedirectLinkGet() {\r\n\t\tconst route =\r\n\t\t\tapiRoutes.eParakstsAuthLink +\r\n\t\t\t`?state=noState&locale=${\r\n\t\t\t\tappConfig.country\r\n\t\t\t}&callbackUrl=${geteParakstsReturnUrl()}`\r\n\t\tconst { data } = await transportWithCredentials.get(route)\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync eParakstsResultGet(queryParams: string, t: TFunction) {\r\n\t\tconst data =\r\n\t\t\tawait transportWithCredentials.get(\r\n\t\t\t\tapiRoutes.eParakstsAuthResult +\r\n\t\t\t\t\t`${queryParams}&callbackUrl=${geteParakstsReturnUrl()}`,\r\n\t\t\t)\r\n\r\n\t\tif (data.status === 200) {\r\n\t\t\treturn data.data\r\n\t\t}\r\n\t\tthrow new Error(t('AuthenticationError'))\r\n\t},\r\n}\r\n\r\nexport default authenticationService\r\n","import React, { useState } from 'react'\r\nimport { Container, Alert } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { CircleSpinner, getErrorWithFullMessage } from 'shared/index'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport authenticationService from 'auth/services/authenticationService'\r\n\r\nfunction NorwegianBankIdCallbackPage() {\r\n\tconst [error, setError] = useState()\r\n\tconst [isWaiting, setIsWaiting] = useState(false)\r\n\tconst { t } = useTranslation()\r\n\tReact.useEffect(\r\n\t\t() => {\r\n\t\t\tsignin()\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\tasync function signin() {\r\n\t\tconst search = window.location.search\r\n\t\tconst params = new URLSearchParams(search)\r\n\t\tconst redirectUrl = sessionStorage.getItem('redirectUrl')\r\n\t\tsetIsWaiting(true)\r\n\t\ttry {\r\n\t\t\tif (window.location.search.indexOf('error_description') !== -1) {\r\n\t\t\t\twindow.location.href = 'https://tfbank.no/minside'\r\n\r\n\t\t\t\t//const errorMsg = params.get('error_description')\r\n\t\t\t\t//setError(new Error(errorMsg ? errorMsg : ''))\r\n\t\t\t} else if (window.location.search.indexOf('code') > -1) {\r\n\t\t\t\tlet authResult\r\n\t\t\t\tif (redirectUrl?.includes('application')) {\r\n\t\t\t\t\tauthResult =\r\n\t\t\t\t\t\tawait authenticationService.norwegianBankIdApplicationResultGet(\r\n\t\t\t\t\t\t\tsearch,\r\n\t\t\t\t\t\t\tt,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tauthResult =\r\n\t\t\t\t\t\tawait authenticationService.norwegianBankIdResultGet(\r\n\t\t\t\t\t\t\tsearch,\r\n\t\t\t\t\t\t\tt,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\t\twindow.location.origin + appRoutes.callbackPage,\r\n\t\t\t\t\tauthResult.secret,\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t{error ? (\r\n\t\t\t\t (window.location.href = appRoutes.login)}>\r\n\t\t\t\t\t{error.message}\r\n\t\t\t\t\r\n\t\t\t) : isWaiting ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default NorwegianBankIdCallbackPage\r\n","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgTfbank21LogoWhite(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 218.23 50\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:#fff;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Lager_1\",\n \"data-name\": \"Lager 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"SVGID\",\n className: \"cls-1\",\n d: \"M25,50A25,25,0,1,1,50,25,25,25,0,0,1,25,50ZM25,1.18A23.84,23.84,0,1,0,48.83,25,23.86,23.86,0,0,0,25,1.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M34.57,29.15a18.64,18.64,0,0,0-2.15-1.75A17.55,17.55,0,0,0,30,26.1a17.27,17.27,0,0,0,2.52-1.38,13.94,13.94,0,0,0,2.17-1.8,9.16,9.16,0,0,0,1.85-2.67V31.76A9.63,9.63,0,0,0,34.57,29.15ZM19.49,11.9H9.56V22.38A14.93,14.93,0,0,1,19.49,11.9ZM41,22.38V11.9H31A15,15,0,0,1,41,22.38ZM28.68,11.9H21.49V42.3h7.19Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M86.18,10.8v6.83h-.67a.8.8,0,0,1-.86-.63l-1.36-4.56-5.56,0c-.81,0-1-.9-.67-1.62Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M75.3,10.76V39.44l3.52.36c.49.05.67.27.67.72v.4h-13v-.4c0-.45.18-.67.67-.72l3.52-.36V12.34l-8,.09L61.3,17a.8.8,0,0,1-.87.63h-.62V10.79L73,10.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M97.48,39.43l3.25.32c.49.09.67.31.67.77v.4H88.9v-.4c0-.45.17-.67.67-.77l3.25-.32V12.25l-3.25-.32c-.5-.09-.67-.31-.67-.77v-.4h21.95v6.41h-.5a.88.88,0,0,1-.9-.63l-1.31-4.16-10.66-.13Zm9.4-14.26L108,22.46a.92.92,0,0,1,.95-.63h.23v8.4h-.27a.93.93,0,0,1-1-.62l-1.09-2.81h-6.73c-.82,0-1.09-.9-.68-1.62h7.41Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M122.83,40.92h-8.59v-.27c0-.53.18-.67.67-.77l3.25-.45V12.25l-3.25-.36a.66.66,0,0,1-.67-.77v-.36h8.59Zm3-15a.63.63,0,0,1-.72-.68.56.56,0,0,1,.63-.62c3.8-.05,6.87-2.08,6.87-6.46s-2.26-6.23-6-6.23c-.4,0-.86,0-1.27,0s-.67-.18-.67-.63.18-.5.72-.54,1.76-.09,2.16-.09c7.32,0,10.16,2.62,10,7.9-.14,4.7-4.74,6.45-7,6.45,1.54,0,8.54,1.18,8.54,7.73,0,4-3.52,8.4-10.94,8.4a22.06,22.06,0,0,1-2.57-.09c-.54-.09-1-.27-1-.72s.23-.62.36-.62c2.22,0,9.26-.23,9.26-7.28S126.7,25.93,125.85,25.89Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M154.39,37.54a5.53,5.53,0,0,1-4.07,2.07,3.11,3.11,0,0,1-3-3.43c0-4.24,3.75-5.24,7.32-5.51.18-.18.4-1.13-.45-1.13-5.92,0-11.34,1.94-11.34,6.64,0,3.34,3,5.29,6,5.29A7.48,7.48,0,0,0,155,38.4C155.39,37.76,154.75,37.49,154.39,37.54Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M172.75,39.62l2.71.18c.49.05.67.27.67.72v.4H165.34v-.4c0-.45.18-.67.67-.72l2.31-.18V20.51l-3.16-.14c-.49,0-.67-.22-.72-.72V19.3l8.32-.54V39.62Zm17.12.23a.63.63,0,0,1,.67.73v.35h-10v-.4c0-.45.18-.67.67-.72l1.76-.13c.18-5.11.36-6.78.36-11.88,0-3.29-.09-7.58-4-7.58a6.52,6.52,0,0,0-4.52,2,.42.42,0,0,1-.49-.49c.09-.91,2.35-3.25,6.14-3.25,4.69,0,7.31,2.53,7.31,7,0,5.25-.13,9-.35,14.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M200.08,39.62l2.12.18c.49.05.67.27.67.72v.4H192.71v-.4c0-.45.17-.67.67-.72l2.26-.18V11.46l-3.29-.13c-.5-.05-.68-.23-.72-.72v-.36l8.45-.95Zm1.53-9.53c-.44-.5-.44-.87,0-1.27l8.85-8-2.31-.68a.78.78,0,0,1-.62-.86v-.36h8.85v.36a.79.79,0,0,1-.67.86l-2.67.68-8.32,7.4,10.44,11.34,2.35.23c.49.09.67.31.67.77v.4H207.8v-.4c0-.45.18-.67.67-.72l1.85-.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M162.4,40.68c0-.45-.17-.68-.67-.72l-1.16-.18,0-13.61c0-5.11-2.22-7.77-8.67-7.77-2.8,0-7.94,1.18-7.94,5.65,0,2.12,2.48,2.84,4,1.89-.81-4.07,1.54-6.41,4.21-6.41,3,0,4.11,2.44,4.11,5.92V38.53c0,2.58,1.6,2.65,3.53,2.56h2.68v-.41Z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgTfbank21LogoWhite);\nexport default __webpack_public_path__ + \"static/media/tfbank21-logo-white.799bf51a13cdf5ad3702fad22db4f40d.svg\";\nexport { ForwardRef as ReactComponent };","import Axios from 'axios'\r\nimport { waitForLanguage } from '../../shared'\r\n\r\nconst axios = Axios.create({})\r\n\r\naxios.interceptors.request.use(async (config) => {\r\n\tconfig.headers['Accept-Language'] = await waitForLanguage()\r\n\treturn config\r\n})\r\n\r\naxios.defaults.headers.post['Content-Type'] = 'application/json'\r\naxios.defaults.headers.post['Access-Control-Allow-Origin'] = '*'\r\naxios.defaults.headers.post['Access-Control-Allow-Headers'] =\r\n\t'Origin, X-Requested-With, Content-Type, Accept'\r\n\r\nexport default axios\r\n","import Axios from '../axios'\r\nimport { ITransaction } from '../../interfaces/i-api-creaditCard'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport appConfig from '../../../app.config';\r\n\r\nasync function getDepositTransactionsService(accountAgreementId: string, accountTransactionDate: string) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/deposit/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as ITransaction[]\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n return [] as ITransaction[]\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as ITransaction[]\r\n}\r\nexport default getDepositTransactionsService;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared';\r\nimport { ITransaction } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getTransactionsService(accountAgreementId: string, accountTransactionDate: string) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/transactions?accountAgreementId=${accountAgreementId}&accountTransactionDate=${accountTransactionDate}&pageSize=9999999&language=${appConfig.country}&includeBlockedAuthorizations=true`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as ITransaction[]\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n return [] as ITransaction[]\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as ITransaction[]\r\n}\r\n\r\nexport default getTransactionsService;","import React, {\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n\tuseRef,\r\n} from 'react'\r\nimport SspContext, { deriveisCard } from './SspContext'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport getDepositTransactionsService from 'selfServicePortal/services/DepositServices/getDepositTransactionsService'\r\nimport getTransactionsService from 'selfServicePortal/services/CreditCardServices/getTransactionsService'\r\n\r\ninterface ITransactionsContext {\r\n\ttransactions: ITransaction[] | undefined\r\n\tloadingTransactions: boolean\r\n\terrorTransactions: boolean\r\n}\r\n\r\nconst defaultTransactionsContext: ITransactionsContext = {\r\n\ttransactions: undefined,\r\n\tloadingTransactions: true,\r\n\terrorTransactions: false,\r\n}\r\nconst TransactionsContext = createContext(\r\n\tdefaultTransactionsContext,\r\n)\r\n\r\nexport function TransactionsContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\tconst { overviewData, loading, isCard } = useContext(SspContext)\r\n\tconst [state, setState] = useState(\r\n\t\tdefaultTransactionsContext,\r\n\t)\r\n\tconst ref = useRef()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchTransactions = async () => {\r\n\t\t\tif (loading || !overviewData || !isCard) {\r\n\t\t\t\tsetState({\r\n\t\t\t\t\ttransactions: undefined,\r\n\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\terrorTransactions: true,\r\n\t\t\t\t})\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (ref.current !== overviewData.accountNumber) {\r\n\t\t\t\t\tif (deriveisCard(overviewData)) {\r\n\t\t\t\t\t\tconst transactions = await getTransactionsService(\r\n\t\t\t\t\t\t\toverviewData.accountAgreementId,\r\n\t\t\t\t\t\t\toverviewData.transactionDate,\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsetState({\r\n\t\t\t\t\t\t\ttransactions,\r\n\t\t\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\t\t\terrorTransactions: false,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst transactions =\r\n\t\t\t\t\t\t\tawait getDepositTransactionsService(\r\n\t\t\t\t\t\t\t\toverviewData.accountAgreementId,\r\n\t\t\t\t\t\t\t\toverviewData.accountAgreementOpenDate,\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsetState({\r\n\t\t\t\t\t\t\ttransactions,\r\n\t\t\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\t\t\terrorTransactions: false,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetState({\r\n\t\t\t\t\ttransactions: undefined,\r\n\t\t\t\t\tloadingTransactions: false,\r\n\t\t\t\t\terrorTransactions: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfetchTransactions()\r\n\t\tref.current = overviewData?.accountNumber\r\n\t}, [overviewData, loading, isCard])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default TransactionsContext\r\n","import appConfig from 'app.config'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport React, {\r\n\tContext,\r\n\tcreateContext,\r\n\tPropsWithChildren,\r\n\tReactElement,\r\n\tReactNode,\r\n\tuseCallback,\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n} from 'react'\r\nimport { useLocation } from 'react-router'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tIMenuDropdownItem,\r\n\tmenuItems,\r\n} from 'selfServicePortal/constants/menuItems'\r\nimport {\r\n\tICreditBalance,\r\n\tIDepositData,\r\n} from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport {\r\n\tICustomer,\r\n\tIMarketing,\r\n} from 'selfServicePortal/interfaces/i-api-customer'\r\nimport getCreditCardDataService from '../services/CreditCardServices/getCreditCardDataService'\r\nimport getCustomerService from '../services/CustomerServices/getCustomerService'\r\nimport getDepositDataService from '../services/DepositServices/getDepositDataService'\r\nimport getAgreementHistoryService from '../services/CreditCardServices/getAgreementHistoryService'\r\nimport { AuthContext, getErrorWithFullMessage } from 'shared'\r\nimport {\r\n\tISddMandate,\r\n\tISddEligible,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport { countryValues } from 'selfServicePortal/constants/countryValues'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { useInformationModalService } from 'selfServicePortal/hooks/useInformationModalService'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\n\r\ninterface ISspContext {\r\n\tisCard:\r\n\t\t| {\r\n\t\t\t\tisCard: boolean | undefined\r\n\t\t\t\tcolor?: string | undefined\r\n\t\t\t\tproduct?: string | undefined\r\n\t\t }\r\n\t\t| undefined\r\n\tisDepositFixed:\r\n\t\t| {\r\n\t\t\t\tisCard: boolean | undefined\r\n\t\t\t\tisDepositFixed: boolean | undefined\r\n\t\t\t\tcolor?: string | undefined\r\n\t\t\t\tproduct?: string | undefined\r\n\t\t }\r\n\t\t| undefined\r\n\toverviewData: ICreditBalance | IDepositData | undefined\r\n\toverviewDataList: (ICreditBalance | IDepositData)[] | undefined\r\n\tcustomerData: ICustomer | undefined\r\n\tcomponent: IMenuDropdownItem | undefined\r\n\tloading: boolean\r\n\tsuccess: any\r\n\terror: any\r\n\tisMarketing: IMarketing | undefined\r\n\tisSddEligible: ISddEligible | undefined\r\n\tsddRefreshData: boolean | undefined\r\n\tsddMandate: ISddMandate | undefined\r\n\tstaticCountryValues: ICountryValues | undefined\r\n\tproductType: ProductType | string\r\n\thasCustomerSeenInformationModal: boolean\r\n\tinformationModalData: IInformationModalProps[] | undefined\r\n\thadleCloseInformationModal: Function\r\n\tsetComponent: Function\r\n\tsetSuccess: Function\r\n\tchangeComponent: Function\r\n\tsetOverviewData: Function\r\n\ttypeOfAccount: Function\r\n\tsetIsCard: Function\r\n\tsetIsDepositFixed: Function\r\n\tsetIsMarketing: Function\r\n\tsetIsSddEligible: Function\r\n\tsetSddMandate: Function\r\n\tsetSddRefreshData: Function\r\n}\r\n\r\nconst initialSspContext: ISspContext = {\r\n\tisCard: undefined,\r\n\tisDepositFixed: undefined,\r\n\toverviewData: undefined,\r\n\toverviewDataList: undefined,\r\n\tcustomerData: undefined,\r\n\tcomponent: undefined,\r\n\tloading: false,\r\n\tsuccess: {\r\n\t\tcontactForm: false,\r\n\t},\r\n\terror: {},\r\n\tisMarketing: undefined,\r\n\tsddMandate: undefined,\r\n\tisSddEligible: undefined,\r\n\tsddRefreshData: undefined,\r\n\tstaticCountryValues: undefined,\r\n\tproductType: '',\r\n\thasCustomerSeenInformationModal: false,\r\n\tinformationModalData: [],\r\n\thadleCloseInformationModal: () => {},\r\n\tsetComponent: () => {},\r\n\tsetSuccess: () => {},\r\n\tchangeComponent: () => {},\r\n\tsetOverviewData: () => {},\r\n\ttypeOfAccount: () => {},\r\n\tsetIsCard: () => {},\r\n\tsetIsDepositFixed: () => {},\r\n\tsetIsMarketing: () => {},\r\n\tsetIsSddEligible: () => {},\r\n\tsetSddMandate: () => {},\r\n\tsetSddRefreshData: () => {},\r\n}\r\n\r\nexport function deriveisCard(\r\n\toverviewData: ICreditBalance | IDepositData,\r\n): overviewData is ICreditBalance {\r\n\treturn 'creditLimit' in overviewData\r\n}\r\n\r\nconst SspContext: Context =\r\n\tcreateContext(initialSspContext)\r\n\r\nexport function SspContextProvider({\r\n\tchildren,\r\n}: PropsWithChildren): ReactElement {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tconst { t } = useTranslation()\r\n\tconst location = useLocation()\r\n\r\n\tconst [component, setComponent] = useState(\r\n\t\tmenuItems[0].items[0],\r\n\t)\r\n\tconst [customerData, setCustomerData] = useState()\r\n\tconst [isCard, setIsCard] = useState<{ isCard: boolean; color?: string }>()\r\n\tconst [\r\n\t\thasCustomerSeenInformationModal,\r\n\t\tsetHasCustomerSeenInformationModal,\r\n\t] = useState(false)\r\n\tconst [isDepositFixed, setIsDepositFixed] = useState<{\r\n\t\tisCard: boolean\r\n\t\tisDepositFixed: boolean\r\n\t\tcolor?: string\r\n\t\tproduct?: string\r\n\t}>()\r\n\tconst [overviewData, setOverviewData] = useState<\r\n\t\tICreditBalance | IDepositData\r\n\t>()\r\n\tconst [overviewDataList, setOverviewDataList] =\r\n\t\tuseState<(ICreditBalance | IDepositData)[]>()\r\n\tconst [success, setSuccess] = useState({\r\n\t\tsetPassword: false,\r\n\t\tcontactForm: false,\r\n\t})\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst [isMarketing, setIsMarketing] = useState()\r\n\tconst [isSddEligible, setIsSddEligible] = useState({\r\n\t\teligible: false,\r\n\t\tactiveMandate: null,\r\n\t})\r\n\tconst [sddMandate, setSddMandate] = useState()\r\n\tconst [sddRefreshData, setSddRefreshData] = useState(false)\r\n\tconst [staticCountryValues, setStaticCountryValues] =\r\n\t\tuseState()\r\n\tconst [productType, setProductType] = useState('')\r\n\r\n\tconst { data: informationModalData } = useInformationModalService(t)\r\n\r\n\tconst hadleCloseInformationModal = () =>\r\n\t\tsetHasCustomerSeenInformationModal(true)\r\n\r\n\tconst getCreditCardData = useCallback(\r\n\t\tasync (userRef: string) => {\r\n\t\t\ttry {\r\n\t\t\t\tconst overview = await getCreditCardDataService(userRef, t)\r\n\t\t\t\tsetOverviewData(overview as ICreditBalance)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t} finally {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst getDepositData = useCallback(\r\n\t\tasync (userRef: string) => {\r\n\t\t\ttry {\r\n\t\t\t\tsetLoading(true)\r\n\t\t\t\tconst depositData = await getDepositDataService(userRef, t)\r\n\t\t\t\tsetOverviewData(depositData as IDepositData)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t} finally {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst getFullAgreementHistory = useCallback(async () => {\r\n\t\ttry {\r\n\t\t\tconst history = await getAgreementHistoryService(t)\r\n\t\t\tconst all = [\r\n\t\t\t\t...history?.agreements?.creditCardAccounts!.sort((a, b) =>\r\n\t\t\t\t\ta.creditCardNo > b.creditCardNo ? -1 : 1,\r\n\t\t\t\t),\r\n\t\t\t\t...history?.agreements?.depositAccounts!,\r\n\t\t\t].filter((product) => {\r\n\t\t\t\tif (!product.productId.includes('VISA')) {\r\n\t\t\t\t\tif (product.hasOwnProperty('cardAgreementId')) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tproduct as ICreditBalance\r\n\t\t\t\t\t\t).creditCardNo.startsWith('5')\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn product\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined\r\n\t\t\t})\r\n\r\n\t\t\tsetOverviewDataList(all)\r\n\t\t\tsetCustomerData(history?.customer as ICustomer)\r\n\t\t\tsetOverviewData(all[0])\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(error)\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [t])\r\n\r\n\tconst typeOfAccount = (productId: string) => {\r\n\t\tswitch (productId) {\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P1':\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P2':\r\n\t\t\tcase 'BBF.VISA_VSDC_CL.CRDACC_P3':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'blue',\r\n\t\t\t\t\tproduct: 'Credits Blue',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.VISA_VSDC_CG.CRDACC_P6':\r\n\t\t\tcase 'BBF.VISA_VSDC_CG.CRDACC_P7':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'gold-no',\r\n\t\t\t\t\tproduct: 'Credits Gold',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.MC.CRDACC_P1':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: true,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: 'gold-mc-no',\r\n\t\t\t\t\tproduct: 'TF Bank Mastercard',\r\n\t\t\t\t}\r\n\t\t\tcase 'tf_deposit.DEPOSIT.END':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: true,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Festgeldkonto',\r\n\t\t\t\t}\r\n\t\t\tcase 'BBF.DEPOSIT.END':\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Fastrentekonto',\r\n\t\t\t\t}\r\n\t\t\tcase 'TF_DEU_DEPOSIT.DEPOSIT.END':\r\n\t\t\t\treturn { isCard: false, color: undefined, product: 'Festgeld' }\r\n\t\t\tcase 'BBF.DEPOSIT.OPEN':\r\n\t\t\tcase 'tf_deposit.DEPOSIT.OPEN':\r\n\t\t\tdefault:\r\n\t\t\t\treturn {\r\n\t\t\t\t\tisCard: false,\r\n\t\t\t\t\tisDepositFixed: false,\r\n\t\t\t\t\tcolor: undefined,\r\n\t\t\t\t\tproduct: 'Sparekonto',\r\n\t\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst updateProductType = (isCard: boolean) => {\r\n\t\tsetProductType(\r\n\t\t\tisCard\r\n\t\t\t\t? CountryValuesProductType.Card\r\n\t\t\t\t: overviewData?.productId === 'TF_DEU_DEPOSIT.DEPOSIT.END'\r\n\t\t\t\t\t? CountryValuesProductType.Deposit_Fixed\r\n\t\t\t\t\t: CountryValuesProductType.Deposit,\r\n\t\t)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard !== undefined) {\r\n\t\t\tupdateProductType(isCard.isCard)\r\n\t\t}\r\n\t}, [isCard?.isCard]) //eslint-disable-line\r\n\r\n\tuseEffect(() => {\r\n\t\tif (overviewData) {\r\n\t\t\tsetIsCard(typeOfAccount(overviewData.productId))\r\n\t\t}\r\n\t}, [overviewData])\r\n\r\n\tconst getCustomer = useCallback(async () => {\r\n\t\tconst userRef = await userManager\r\n\t\t\t.getUser()\r\n\t\t\t.then((user) => user?.profile.sub)\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (['de', 'at', 'it', 'es'].includes(appConfig.country)) {\r\n\t\t\t\tconst customerData = await getCustomerService(t)\r\n\t\t\t\tsetCustomerData(customerData as ICustomer)\r\n\t\t\t\tif (customerData.bankId === 'tf_deu_iss') {\r\n\t\t\t\t\tawait getCreditCardData(userRef!)\r\n\t\t\t\t\tsetIsCard({ isCard: true, color: 'standard-de' })\r\n\t\t\t\t} else if (customerData.bankId === 'TF_DEU_DEPOSIT') {\r\n\t\t\t\t\tawait getDepositData(userRef!)\r\n\t\t\t\t\tsetIsCard({ isCard: false })\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tawait getFullAgreementHistory()\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [t, getFullAgreementHistory, getCreditCardData, getDepositData])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst authCheck = async () => {\r\n\t\t\tif (isAuthenticated) {\r\n\t\t\t\tgetCustomer()\r\n\t\t\t}\r\n\t\t}\r\n\t\tauthCheck()\r\n\t}, [getCustomer, isAuthenticated])\r\n\r\n\tconst GetStaticCountryValues = useCallback(() => {\r\n\t\tconst value = countryValues.find(\r\n\t\t\t(item) => item.country === appConfig.country,\r\n\t\t)\r\n\t\tsetStaticCountryValues(value)\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tGetStaticCountryValues()\r\n\t}, [GetStaticCountryValues, isCard?.isCard])\r\n\r\n\tconst changeComponent = useCallback((clickedItem: IMenuDropdownItem) => {\r\n\t\tmenuItems.forEach((menuItem) => {\r\n\t\t\tmenuItem.items.forEach((item) => {\r\n\t\t\t\tsetComponent({ ...item, show: false })\r\n\t\t\t})\r\n\t\t})\r\n\t\tsetComponent({ ...clickedItem, show: true })\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\tsetComponent(menuItems[0].items[5])\r\n\t\t}\r\n\t}, [location.pathname])\r\n\r\n\t/*Not used currently, but leaving it here if it will be used ahead */\r\n\t//eslint-disable-next-line\r\n\t/* \tconst getSddEligible = useCallback(\r\n\t\tasync (partyId: string) => {\r\n\t\t\tsetLoading(true)\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService\r\n\t\t\t\t\t.sddCustomerEligible(partyId)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tsetIsSddEligible(response.data)\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tlocation.pathname === appRoutes.sepadirectdebit\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tnavigate('/')\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tisSddEligible?.eligible &&\r\n\t\t\t\t\t\t\tisSddEligible.activeMandate &&\r\n\t\t\t\t\t\t\t!sddRefreshData\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tgetSddMandate(partyId)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tsetError(error)\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => setLoading(false))\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t},\r\n\t\t[isSddEligible, sddRefreshData, location, navigate],\r\n\t)\r\n\tconst getSddMandate = async (partyId: string) => {\r\n\t\tawait sddService\r\n\t\t\t.sddCustomerMandate(partyId)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tlet mandateData: ISddMandate = response.data\r\n\t\t\t\t\tsetSddMandate(mandateData)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tthrow error\r\n\t\t\t})\r\n\t} */\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default SspContext\r\n","import { useCallback, useContext, useEffect, useState } from 'react'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\n\r\nexport enum ActiveSort {\r\n\tAsc,\r\n\tDesc,\r\n\tNone,\r\n}\r\n\r\nexport const useTransactions = () => {\r\n\tconst { transactions } = useContext(TransactionsContext)\r\n\r\n\tconst [hideShowMore, setHideShowMore] = useState(false)\r\n\tconst [tableData, setTableData] = useState([])\r\n\tconst [activeSortByItem, setActiveSortByItem] = useState<\r\n\t\tstring | undefined\r\n\t>(undefined)\r\n\tconst [activeArrow, setActiveArrow] = useState(ActiveSort.None)\r\n\tconst [error, setError] = useState()\r\n\tconst [monthsTransactions, setMonthsTransactions] = useState([])\r\n\r\n\tconst sortData = useCallback(\r\n\t\t(\r\n\t\t\tdata: ITransaction[],\r\n\t\t\tsortOn: keyof ITransaction,\r\n\t\t\torder: 'asc' | 'desc',\r\n\t\t) => {\r\n\t\t\treturn [...data].sort((a, b) => {\r\n\t\t\t\tconst valueA = a[sortOn]\r\n\t\t\t\tconst valueB = b[sortOn]\r\n\r\n\t\t\t\tif (typeof valueA === 'string' && typeof valueB === 'string') {\r\n\t\t\t\t\treturn order === 'asc'\r\n\t\t\t\t\t\t? valueA.localeCompare(valueB)\r\n\t\t\t\t\t\t: valueB.localeCompare(valueA)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof valueA === 'number' && typeof valueB === 'number') {\r\n\t\t\t\t\treturn order === 'asc' ? valueA - valueB : valueB - valueA\r\n\t\t\t\t}\r\n\t\t\t\treturn 0\r\n\t\t\t})\r\n\t\t},\r\n\t\t[],\r\n\t)\r\n\r\n\tconst sortTransactions = useCallback(\r\n\t\t(sortOn: keyof ITransaction, order: 'asc' | 'desc') => {\r\n\t\t\tconst sortedData = sortData(tableData, sortOn, order)\r\n\t\t\tsetTableData(sortedData)\r\n\t\t\tsetActiveSortByItem(sortOn)\r\n\t\t\tsetActiveArrow(order === 'asc' ? ActiveSort.Asc : ActiveSort.Desc)\r\n\t\t},\r\n\t\t[tableData, sortData],\r\n\t)\r\n\r\n\tconst getMoreTransactionsFromMonth = useCallback(\r\n\t\t(date: string, sliceTo: number) => {\r\n\t\t\tlet month = new Date(date).getMonth()\r\n\t\t\tlet year = new Date(date).getFullYear()\r\n\r\n\t\t\tconst newArr = transactions?.filter((i) => {\r\n\t\t\t\tconst transactionDate = new Date(i.transactionDate)\r\n\t\t\t\treturn (\r\n\t\t\t\t\ttransactionDate.getMonth() === month &&\r\n\t\t\t\t\ttransactionDate.getFullYear() === year\r\n\t\t\t\t)\r\n\t\t\t})\r\n\r\n\t\t\tif (newArr) {\r\n\t\t\t\tconst sortedData = sortData(newArr, 'transactionDate', 'desc')\r\n\t\t\t\tsetTableData(sortedData.slice(0, sliceTo))\r\n\t\t\t\tsetMonthsTransactions(sortedData)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[transactions, sortData],\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (transactions && transactions.length > 0) {\r\n\t\t\tgetMoreTransactionsFromMonth(transactions[0].transactionDate, 10)\r\n\t\t} else if (transactions?.length === 0) {\r\n\t\t\tsetError(new Error('NoTransactions'))\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [transactions])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetHideShowMore(monthsTransactions.length > tableData.length)\r\n\t}, [monthsTransactions, tableData])\r\n\r\n\treturn {\r\n\t\tsortTransactions,\r\n\t\tgetMoreTransactionsFromMonth,\r\n\t\ttableData,\r\n\t\thideShowMore,\r\n\t\terror,\r\n\t\tsetTableData,\r\n\t\tactiveSortByItem,\r\n\t\tactiveArrow,\r\n\t\tsetActiveArrow,\r\n\t}\r\n}\r\n","import React, { useContext } from 'react';\r\nimport SspContext from '../../../contexts/SspContext';\r\nimport { menuItems } from '../../../constants/menuItems';\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ISeeAll {\r\n\tisOverview: boolean\r\n\tshowMore: Function\r\n\thideShowMore: boolean\r\n}\r\n\r\nexport const SeeAll = ({ isOverview, showMore, hideShowMore }: ISeeAll) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { changeComponent } = useContext(SspContext)\r\n\tif (isOverview) {\r\n\t\treturn (\r\n\t\t\t changeComponent(menuItems[0].items[2])}>\r\n\t\t\t\t{t('SeeAll')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t} else {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{hideShowMore && (\r\n\t\t\t\t\t showMore()}>\r\n\t\t\t\t\t\t{t('ShowMore')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\nexport default SeeAll","import React, { useContext, useEffect, useState } from 'react'\r\nimport { DateTime } from 'luxon'\r\nimport { getLanguageLocale } from 'shared'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ISelect {\r\n\tgetMoreTransactionsFromMonth: Function\r\n}\r\n\r\nexport const Select = ({ getMoreTransactionsFromMonth }: ISelect) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { transactions } = useContext(TransactionsContext)\r\n\tconst [months, setMonths] = useState([])\r\n\tconst [selectedOption, setSelectedOption] = useState('')\r\n\r\n\tuseEffect(() => {\r\n\t\tconst locale = getLanguageLocale()\r\n\t\tconst currentMonth = DateTime.now()\r\n\t\t\t.setLocale(locale)\r\n\t\t\t.toFormat('MM/yyyy')\r\n\r\n\t\tconst getLastNMonths = (n: number) => {\r\n\t\t\treturn Array.from({ length: n }, (_, index) => {\r\n\t\t\t\treturn DateTime.now()\r\n\t\t\t\t\t.minus({ months: index })\r\n\t\t\t\t\t.setLocale(locale)\r\n\t\t\t\t\t.toFormat('MM/yyyy')\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tconst last3Months = getLastNMonths(3)\r\n\r\n\t\t// For FireFox and Safari compliance. Date format must be in\r\n\t\t// format like. yyyy/mm/dd for \"new Date()\"\r\n\t\tlet safariCompliantFormat = last3Months.map(\r\n\t\t\t(date) =>\r\n\t\t\t\tDateTime.fromFormat(date, 'MM/yyyy').toFormat('yyyy/MM') +\r\n\t\t\t\t'/01',\r\n\t\t)\r\n\t\tsetMonths(safariCompliantFormat)\r\n\t\tsetSelectedOption(currentMonth)\r\n\t}, [transactions])\r\n\r\n\tconst onChangeSelect = (e: any) => {\r\n\t\tsetSelectedOption(e.target.value)\r\n\t\tgetMoreTransactionsFromMonth(e.target.value, 10)\r\n\t}\r\n\r\n\treturn (\r\n\t\t onChangeSelect(e)}>\r\n\t\t\t\r\n\t\t\t{months.map((item, key) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t\r\n\t)\r\n}\r\nexport default Select\r\n","import React, { useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronDown, faChevronUp } from '@fortawesome/free-solid-svg-icons'\r\nimport '../CardTransactions/extendedTransactions.scss'\r\n\r\ninterface CardProps {\r\n\ttitle?: string\r\n\ticon?: any\r\n\tspecialContent?: JSX.Element[]\r\n\tcontent?: string[]\r\n\tvalue?: string[]\r\n\tinlineIconStyle?: {\r\n\t\ttransform: 'matrix(0.87, -0.5, 0.5, 0.87, 0, 0)'\r\n\t}\r\n}\r\n\r\nexport const CardItem = ({\r\n\ttitle,\r\n\tcontent,\r\n\ticon,\r\n\tvalue,\r\n\tinlineIconStyle,\r\n\tspecialContent,\r\n}: CardProps) => {\r\n\tconst [isCollapsed, setIsCollapsed] = useState(false)\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst toggleCollapse = () => {\r\n\t\tsetIsCollapsed(!isCollapsed)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{title && (\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{!isCollapsed && (\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{content ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{content?.map((content, index) => (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t(content)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvalue?.map((key, index) => (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{key}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{specialContent}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { SortingArrows } from 'shared'\r\nimport { ActiveSort } from 'shared/components/SortingArrows'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\nimport './Table.scss'\r\n\r\nexport interface Row {\r\n\toriginal: T\r\n\tisExpanded: boolean\r\n}\r\nexport interface ITableHeader {\r\n\taccessor: keyof T\r\n\theader: string\r\n\tshow?: boolean\r\n\talign?: 'left' | 'center' | 'right'\r\n\tCell?: (Row: Row, key: number) => any\r\n\tSort?: (sort: 'asc' | 'desc') => any\r\n}\r\nexport interface ITable {\r\n\tcolumns: ITableHeader[]\r\n\tdata: T[]\r\n\tsubData?: (rowData: T) => JSX.Element\r\n}\r\n\r\nfunction Table({ columns, data, subData }: ITable) {\r\n\tconst shownColumns = columns.filter(\r\n\t\t(x) => x.show === undefined || x.show === true\r\n\t)\r\n\r\n\tconst [expandedRows, setExpandedRows] = useState([])\r\n\tconst [activeSort, setActiveSort] = useState()\r\n\tconst [activeSortArrow, setActiveSortArrow] = useState(\r\n\t\tActiveSort.None\r\n\t)\r\n\r\n\tconst isRowExpanded = (id: string) => expandedRows.includes(id)\r\n\tconst getDataAlignment = (align?: 'left' | 'center' | 'right') => {\r\n\t\tswitch (align) {\r\n\t\t\tcase 'center':\r\n\t\t\t\treturn 'align-center'\r\n\t\t\tcase 'right':\r\n\t\t\t\treturn 'align-right'\r\n\t\t\tcase 'left':\r\n\t\t\tdefault:\r\n\t\t\t\treturn 'align-left'\r\n\t\t}\r\n\t}\r\n\r\n\tconst headerWithSort = (column: ITableHeader) => {\r\n\t\treturn (\r\n\t\t\t {\r\n\t\t\t\t\tlet newSortArrow\r\n\t\t\t\t\tif (column.header === activeSort) {\r\n\t\t\t\t\t\tnewSortArrow =\r\n\t\t\t\t\t\t\tactiveSortArrow === ActiveSort.Asc\r\n\t\t\t\t\t\t\t\t? ActiveSort.Desc\r\n\t\t\t\t\t\t\t\t: ActiveSort.Asc\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewSortArrow = ActiveSort.Asc\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetActiveSortArrow(newSortArrow)\r\n\t\t\t\t\tsetActiveSort(column.header)\r\n\r\n\t\t\t\t\tif (column.Sort) {\r\n\t\t\t\t\t\tcolumn.Sort(\r\n\t\t\t\t\t\t\tnewSortArrow === ActiveSort.Asc ? 'asc' : 'desc'\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t}}>\r\n\t\t\t\t
{column.header}
\r\n\t\t\t\t {}}\r\n\t\t\t\t\tsortDesc={() => {}}\r\n\t\t\t\t\tuseActiveArrow={\r\n\t\t\t\t\t\tactiveSort === column.header\r\n\t\t\t\t\t\t\t? activeSortArrow\r\n\t\t\t\t\t\t\t: ActiveSort.None\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{shownColumns.map((header, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{data?.map((d, key) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tconst id = key.toString()\r\n\t\t\t\t\t\t\t\t\tif (isRowExpanded(id)) {\r\n\t\t\t\t\t\t\t\t\t\tconst temp = expandedRows.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t(x) => x !== id\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\tsetExpandedRows(temp)\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tsetExpandedRows([...expandedRows, id])\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{shownColumns.map((header, key2) => {\r\n\t\t\t\t\t\t\t\t\tconst shownValue = header.Cell\r\n\t\t\t\t\t\t\t\t\t\t? header.Cell(\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toriginal: d,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisExpanded: isRowExpanded(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey.toString()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\tkey\r\n\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t: d[header.accessor]\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{shownValue}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{subData && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{header.Sort\r\n\t\t\t\t\t\t\t\t\t\t\t? headerWithSort(header)\r\n\t\t\t\t\t\t\t\t\t\t\t: header.header}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t)\r\n}\r\n\r\nexport default Table","import React from 'react'\r\nimport { GoogleMap, Marker, useLoadScript } from '@react-google-maps/api'\r\nimport { LoadingSpinner } from 'shared'\r\n\r\n// TODO: to be set as an env var or moved somewhere safer\r\nconst REACT_APP_GOOGLE_API = 'AIzaSyC9iWmI7mU7g9_11IQwj-ExKSe7K9dkfsc'\r\n\r\ninterface MapProps {\r\n\tlat: string\r\n\tlong: string\r\n}\r\n\r\nconst Map = ({ lat, long }: MapProps) => {\r\n\tconst latitude = parseFloat(lat)\r\n\tconst longitude = parseFloat(long)\r\n\r\n\tconst { isLoaded } = useLoadScript({\r\n\t\tgoogleMapsApiKey: REACT_APP_GOOGLE_API,\r\n\t})\r\n\tconst center = { lat: latitude, lng: longitude }\r\n\r\n\tconst mapStyles = {\r\n\t\theight: '150px',\r\n\t\toverflow: 'hidden',\r\n\t}\r\n\r\n\tif (!isLoaded) {\r\n\t\treturn \r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t{\r\n\t\t\t\t\r\n\t\t\t\t\t\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 Map\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Tooltip from '../../../../shared/components/Tooltip'\r\nimport {\r\n\tfaEnvelope,\r\n\tfaShoePrints,\r\n\tfaPhone,\r\n\tfaGlobeAmericas,\r\n\tfaChartLine,\r\n} from '@fortawesome/free-solid-svg-icons'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n\tgetCurrency,\r\n\tgetCurrencyInfo,\r\n\tsortString,\r\n} from 'shared'\r\nimport { formatToStringLocale } from 'shared/utils/dateAndTimeHelpers'\r\nimport { useTransactions } from '../../../hooks/useTransactions'\r\nimport { SeeAll } from '../SeeAll/SeeAll'\r\nimport { Select } from '../Select/Select'\r\nimport { CardItem } from '../CardItem/CardItem'\r\nimport { ITransaction } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport Table, { ITableHeader } from 'selfServicePortal/components/Table/Table'\r\nimport './CardTransactions.scss'\r\nimport './extendedTransactions.scss'\r\nimport Map from '../Map/Map'\r\n\r\ninterface ICardTransactions {\r\n\tisOverview: boolean\r\n}\r\n\r\nconst CardTransactions = ({ isOverview }: ICardTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tconst getTableData = (item: ITransaction) => {\r\n\t\tconst consumerClarity = item.consumerClarity\r\n\r\n\t\tconst transactionProps = {\r\n\t\t\tlat: consumerClarity?.merchantResult?.merchantLocation?.latitude,\r\n\t\t\tlong: consumerClarity?.merchantResult?.merchantLocation?.longitude,\r\n\t\t\timgUrl: consumerClarity?.merchantResult?.logos?.[0]?.url,\r\n\t\t\timgAltText: consumerClarity?.merchantResult?.logos?.[0]?.altTextTag,\r\n\t\t\tmerchantName: consumerClarity?.merchantResult?.merchantName,\r\n\t\t\tdescription: consumerClarity?.merchantResult?.description,\r\n\t\t\tcarbonGrams:\r\n\t\t\t\tconsumerClarity?.carbonFootprint?.carbonEmissionInGrams,\r\n\t\t\tcarbonOunces:\r\n\t\t\t\tconsumerClarity?.carbonFootprint?.carbonEmissionInOunces,\r\n\t\t\twebsite: consumerClarity?.merchantResult?.websiteUrl,\r\n\t\t\tphone: consumerClarity?.merchantResult?.phone,\r\n\t\t\temail: consumerClarity?.merchantResult?.email,\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tmerchantLogo: transactionProps.imgUrl ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t),\r\n\t\t\tmerchantName:\r\n\t\t\t\tconsumerClarity?.merchantResult?.merchantName ?? item.vendor,\r\n\t\t\tbookingDate: item.isBlockedAuthorization\r\n\t\t\t\t? ''\r\n\t\t\t\t: new Date(item.bookingDate).toLocaleDateString(\r\n\t\t\t\t\t\tgetLanguageLocale(),\r\n\t\t\t\t ),\r\n\t\t\ttransactionDate: new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\tgetLanguageLocale(),\r\n\t\t\t),\r\n\t\t\tdescription:\r\n\t\t\t\titem.isBlockedAuthorization && item.description === 'None'\r\n\t\t\t\t\t? t('AuthorizationDescription')\r\n\t\t\t\t\t: item.description,\r\n\t\t}\r\n\t}\r\n\r\n\tconst renderSubRow = (dataRow: ITransaction) => {\r\n\t\tconst consumerClarity = dataRow.consumerClarity\r\n\t\tconst contact =\r\n\t\t\tconsumerClarity?.merchantResult?.email ||\r\n\t\t\tconsumerClarity?.merchantResult?.websiteUrl ||\r\n\t\t\tconsumerClarity?.merchantResult?.phone\r\n\t\tconst phone = consumerClarity?.merchantResult?.phone\r\n\t\tconst email = consumerClarity?.merchantResult?.email\r\n\t\tconst websiteUrl = consumerClarity?.merchantResult?.websiteUrl\r\n\t\tconst currencyInfo = getCurrencyInfo(dataRow?.currency)\r\n\t\tconst desc = dataRow.description\r\n\t\tconst description = desc.substring(0, 15)\r\n\r\n\t\tif (!dataRow) return <>\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{dataRow.consumerClarity?.carbonFootprint\r\n\t\t\t\t\t\t\t?.carbonEmissionInGrams &&\r\n\t\t\t\t\t\t\tdataRow.consumerClarity?.carbonFootprint\r\n\t\t\t\t\t\t\t\t?.carbonEmissionInOunces && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{dataRow.consumerClarity?.merchantResult\r\n\t\t\t\t\t\t\t?.merchantLocation?.longitude &&\r\n\t\t\t\t\t\t\tdataRow.consumerClarity?.merchantResult\r\n\t\t\t\t\t\t\t\t?.merchantLocation?.latitude && (\r\n\t\t\t\t\t\t\t\t,\r\n\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{contact && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{email}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\tphone ? (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{phone}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\twebsiteUrl ? (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{websiteUrl}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tconst TableHeaders: ITableHeader[] = [\r\n\t\t{\r\n\t\t\t// only for mobile. Its not neat but it is what it is\r\n\t\t\taccessor: 'consumerClarity',\r\n\t\t\theader: '',\r\n\t\t\tshow: isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\tconst merchantName = isMobile\r\n\t\t\t\t\t? data.merchantName.substring(0, 25)\r\n\t\t\t\t\t: data.merchantName\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{data.merchantLogo}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{merchantName}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{data.transactionDate}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${stringifyNum(\r\n\t\t\t\t\t\t\t\t\toriginal.billingAmount,\r\n\t\t\t\t\t\t\t\t)} ${original.billingCurrency}`}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'consumerClarity',\r\n\t\t\theader: t('Merchant'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\tconst merchantName = data.merchantName\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{data.merchantLogo}
\r\n\t\t\t\t\t\t
{merchantName}
\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\tgetTableData(a).merchantName,\r\n\t\t\t\t\t\t\tgetTableData(b).merchantName,\r\n\t\t\t\t\t\t\t'asc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\tgetTableData(a).merchantName,\r\n\t\t\t\t\t\t\tgetTableData(b).merchantName,\r\n\t\t\t\t\t\t\t'desc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'transactionDate',\r\n\t\t\theader: t('TransactionDate'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\treturn
{data.transactionDate}
\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(a.transactionDate, b.transactionDate, 'asc'),\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) =>\r\n\t\t\t\t\t\tsortString(\r\n\t\t\t\t\t\t\ta.transactionDate,\r\n\t\t\t\t\t\t\tb.transactionDate,\r\n\t\t\t\t\t\t\t'desc',\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'description',\r\n\t\t\theader: t('Description'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\tconst data = getTableData(original)\r\n\t\t\t\treturn data.description\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'billingAmount',\r\n\t\t\theader: t('BillingAmount'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\talign: 'right',\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\treturn `${stringifyNum(original.amount)} ${original.currency}`\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) => a.billingAmount - b.billingAmount)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) => b.billingAmount - a.billingAmount)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'invoiceAmount',\r\n\t\t\theader: t('InvoiceAmount'),\r\n\t\t\tshow: !isMobile,\r\n\t\t\talign: 'right',\r\n\t\t\tCell: ({ original }) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
{`${stringifyNum(original.invoiceAmount)} ${\r\n\t\t\t\t\t\toriginal.billingCurrency\r\n\t\t\t\t\t}`}
\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\tSort: (sort) => {\r\n\t\t\t\tif (sort === 'asc') {\r\n\t\t\t\t\ttableData.sort((a, b) => a.invoiceAmount - b.invoiceAmount)\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttableData.sort((a, b) => b.invoiceAmount - a.invoiceAmount)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t},\r\n\t\t{\r\n\t\t\taccessor: 'isExpanded' as unknown as keyof ITransaction, //this should really be in the table itself\r\n\t\t\theader: '',\r\n\t\t\tCell: (row) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t},\r\n\t]\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('Transactions')}\r\n\r\n\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{tableData.length >= 1 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\t\t\ttableData[0].transactionDate,\r\n\t\t\t\t\t\t\t\t\t\ttableData.length + 10,\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t

{t('NoMonthTransactions')}

\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 CardTransactions\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n} from 'shared'\r\nimport { SeeAll, Select } from 'selfServicePortal/components/index'\r\nimport { useTransactions } from 'selfServicePortal/hooks/useTransactions'\r\n\r\ninterface IMobileTransactions {\r\n\tisOverview: boolean\r\n}\r\nconst MobileTransactions = ({ isOverview }: IMobileTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tlet containerCls = ['transactions', 'my-5']\r\n\tif (isMobile && !isOverview) containerCls.push('container')\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{t('LastTransactions')}
\r\n\t\t\t\t{isOverview ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\ttableData[0]?.transactionDate!,\r\n\t\t\t\t\t\t\t\ttableData.length + 10\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t{tableData?.map((item: any, key: any) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{item.transactionTypeUiString}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{stringifyNum(item.amount, {\r\n\t\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\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 MobileTransactions\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tgetLanguageLocale,\r\n\tstringifyNum,\r\n} from 'shared'\r\nimport { SeeAll, Select, TableLegacy } from 'selfServicePortal/components/index'\r\nimport MobileTransactions from './MobileTransactions/MobileTransactions'\r\nimport { useTransactions } from 'selfServicePortal/hooks/useTransactions'\r\nimport TransactionsContext from 'selfServicePortal/contexts/TransactionsContext'\r\n\r\nimport './DepositTransactions.scss'\r\n\r\ninterface IDepositTransactions {\r\n\tisOverview: boolean\r\n}\r\n\r\nconst DepositTransactions = ({ isOverview }: IDepositTransactions) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { loadingTransactions } = useContext(TransactionsContext)\r\n\tlet width = isOverview ? 'w-50' : 'w-100'\r\n\r\n\tconst { getMoreTransactionsFromMonth, tableData, hideShowMore } =\r\n\t\tuseTransactions()\r\n\r\n\tconst cols = [t('TransactionDate'), t('Amount'), t('Type')]\r\n\r\n\tlet itemsToRender\r\n\tif (tableData && !loadingTransactions) {\r\n\t\titemsToRender = tableData.map((item: any, key: number) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{new Date(item.transactionDate).toLocaleDateString(\r\n\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{stringifyNum(item.amount, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t\r\n\t\t\t\t\t{item.transactionTypeUiString}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{isMobile ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('LastTransactions')}
\r\n\t\t\t\t\t\t\t{!isOverview && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tgetMoreTransactionsFromMonth(\r\n\t\t\t\t\t\t\t\t\t\ttableData[0].transactionDate,\r\n\t\t\t\t\t\t\t\t\t\ttableData.length + 10\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\thideShowMore={hideShowMore}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\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 DepositTransactions\r\n","import React from 'react'\r\n\r\nimport './SkeletonLoader.scss'\r\n\r\nexport const SkeletonLoader = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport SspContext from '../../contexts/SspContext'\r\nimport CardTransactions from './CardTransactions/CardTransactions'\r\nimport DepositTransactions from '../../containers/Home/Account/DepositTransactions/DepositTransactions'\r\nimport { useTransactions } from '../../hooks/useTransactions'\r\n\r\nimport './Transactions.scss'\r\nimport TransactionsContext, {\r\n\tTransactionsContextProvider,\r\n} from 'selfServicePortal/contexts/TransactionsContext'\r\nimport { SkeletonLoader } from './SkeletonLoader/SkeletonLoader'\r\n\r\nconst TransactionsComponent = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { component, isCard } = useContext(SspContext)\r\n\tconst { transactions, errorTransactions } = useContext(TransactionsContext)\r\n\t//const [transactionsComponent, setTransactionsComponent] = useState(<>)\r\n\tconst isOverview = component?.title === 'Overview'\r\n\r\n\tconst { error } = useTransactions()\r\n\r\n\t// useEffect(() => {\r\n\t// \tif (isCard?.isCard) {\r\n\t// \t\tsetTransactionsComponent(\r\n\t// \t\t\t,\r\n\t// \t\t)\r\n\t// \t} else {\r\n\t// \t\tsetTransactionsComponent(\r\n\t// \t\t\t,\r\n\t// \t\t)\r\n\t// \t}\r\n\t// \t// eslint-disable-next-line\r\n\t// }, [isCard])\r\n\r\n\tconst transactionsComponent = isCard?.isCard ? (\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorTransactions ? (\r\n\t\t\t\t
{t('ErrorMsg')}
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{transactions === undefined ||\r\n\t\t\t\t\t\t\ttransactions?.length <= 0 ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\ttransactionsComponent\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nconst Transactions = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\nexport default Transactions\r\n","// Should comply with app config settings in azure rg\r\nexport enum Toggle {\r\n\tkyc = 'toggling:kyc',\r\n\tdeposits = 'toggling:deposits',\r\n\tloans = 'toggling:loans',\r\n}\r\n","import React, { useState, useEffect, useContext, useCallback } from 'react'\r\nimport { Modal } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useSelector } from 'react-redux'\r\nimport { BoxInfo, getCustomerInfoCookieName } from 'shared/index'\r\nimport {\r\n\tFormBuilder,\r\n\tIAppStateControlProperty,\r\n\tformKeySelector,\r\n} from '@tf/formbuilder'\r\n\r\nimport appConfig from 'app.config'\r\nimport {\r\n\tIKycData,\r\n\tCookieType,\r\n\tcustomerDataApiService,\r\n\tgetErrorWithFullMessage,\r\n\tgetMarket,\r\n\tgetLanguageLocale,\r\n\tCircleSpinner,\r\n\tCustomerForm,\r\n} from 'shared/index'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport AppConfigContext from 'shared/contexts/azureAppConfig'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Toggle } from 'original/constants/enums/ToggleTypes'\r\n\r\nimport './KycModal.scss'\r\nimport { ICustomer } from 'original/interfaces/i-api-loan'\r\nimport { CountryA3 } from 'shared/constants/countryTypes'\r\n\r\ninterface IKycProps {\r\n\tshowModal: boolean\r\n\tdata: IKycData\r\n\thandleClose: any\r\n}\r\n\r\nexport const KycModal = ({ data }: IKycProps) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [customer, setCustomer] = useState(data)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [showKycModal, setShowKycModal] = useState(true)\r\n\tconst [showThankYouPage, setShowThankYouPage] = useState(false)\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tdata.customerType,\r\n\t\t{\r\n\t\t\tformName: 'basicPersonalData',\r\n\t\t\tblockName: 'KycData',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tdata,\r\n\t)\r\n\tconst valuesToSubmit = useSelector(\r\n\t\tformKeySelector(formSchema.formMeta.formName, 'controlsState'),\r\n\t)\r\n\tconst errors = useSelector(\r\n\t\tformKeySelector(formSchema.formMeta.formName, 'errors'),\r\n\t)\r\n\tconst updateCustomerObj = useCallback(\r\n\t\t(valuesToSubmit: IAppStateControlProperty) => {\r\n\t\t\tsetCustomer({\r\n\t\t\t\t...customer,\r\n\t\t\t\tdeposits:\r\n\t\t\t\t\tObject.entries(data.deposits).length !== 0\r\n\t\t\t\t\t\t? [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t...customer.deposits[0],\r\n\t\t\t\t\t\t\t\t\tpurposeOfDeposits:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfDeposits.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfDepositsOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfDepositsOther\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\tmoneySource:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.moneySource?.value,\r\n\t\t\t\t\t\t\t\t\tmoneySourceOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.moneySourceOther?.value,\r\n\t\t\t\t\t\t\t\t\tdepositOwner:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.depositOwner?.value,\r\n\t\t\t\t\t\t\t\t\texpectedDeposits:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedDeposits?.value,\r\n\t\t\t\t\t\t\t\t\texpectedDepositsAmount:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedDepositsAmount\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\texpectedWithdrawals:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.expectedWithdrawals\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t\texpectedWithdrawalsAmount:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit\r\n\t\t\t\t\t\t\t\t\t\t\t?.expectedWithdrawalsAmount?.value,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: [],\r\n\t\t\t\tloans:\r\n\t\t\t\t\tObject.entries(data.loans).length !== 0\r\n\t\t\t\t\t\t? [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t...customer.loans[0],\r\n\t\t\t\t\t\t\t\t\tbenificialOwner:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.benificialOwner?.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfLoan:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfLoan?.value,\r\n\t\t\t\t\t\t\t\t\tpurposeOfLoanOther:\r\n\t\t\t\t\t\t\t\t\t\tvaluesToSubmit?.purposeOfLoanOther\r\n\t\t\t\t\t\t\t\t\t\t\t?.value,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t: [],\r\n\t\t\t\temployments: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t...customer.employments[0],\r\n\t\t\t\t\t\toccupationType: valuesToSubmit?.occupationType?.value,\r\n\t\t\t\t\t\tincome: valuesToSubmit?.income.value,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\r\n\t\t\t\ttaxCountry:\r\n\t\t\t\t\tdata.customerType === CustomerForm.LoanForm\r\n\t\t\t\t\t\t? data.taxCountry\r\n\t\t\t\t\t\t: valuesToSubmit?.taxCountry?.value,\r\n\t\t\t\ttaxCountryOther:\r\n\t\t\t\t\tdata.customerType === CustomerForm.LoanForm\r\n\t\t\t\t\t\t? data.taxCountryOther\r\n\t\t\t\t\t\t: valuesToSubmit?.taxCountryOther?.value,\r\n\t\t\t\ttin: valuesToSubmit?.tin?.value,\r\n\t\t\t\tfatca: valuesToSubmit?.fatca?.value,\r\n\r\n\t\t\t\taddress: {\r\n\t\t\t\t\t...customer.address,\r\n\t\t\t\t\tstreet: valuesToSubmit?.street?.value,\r\n\t\t\t\t\thouseNumber: valuesToSubmit?.houseNumber?.value,\r\n\t\t\t\t\tapartmentNumber: valuesToSubmit?.apartmentNumber?.value,\r\n\t\t\t\t\tcountry: valuesToSubmit?.country?.value,\r\n\t\t\t\t\tpostalCode: valuesToSubmit.postalCode?.value,\r\n\t\t\t\t\tcity: valuesToSubmit?.city?.value,\r\n\t\t\t\t\tregion: valuesToSubmit?.region?.value,\r\n\t\t\t\t\tshortAddress: valuesToSubmit?.shortAddress?.value,\r\n\t\t\t\t},\r\n\r\n\t\t\t\tphoneNumber: valuesToSubmit?.phoneNumber?.value,\r\n\t\t\t\temail: valuesToSubmit?.email?.value,\r\n\r\n\t\t\t\tpoliticallyExposedPerson:\r\n\t\t\t\t\tvaluesToSubmit?.politicallyExposedPerson?.value,\r\n\t\t\t\tconnectedToPep: valuesToSubmit?.connectedToPep?.value,\r\n\t\t\t})\r\n\t\t},\r\n\t\t[customer, data],\r\n\t)\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (valuesToSubmit) {\r\n\t\t\t\tupdateCustomerObj(valuesToSubmit)\r\n\t\t\t}\r\n\t\t\treturn () => {}\r\n\t\t},\r\n\t\t[valuesToSubmit], //eslint-disable-line\r\n\t)\r\n\r\n\tconst submit = async () => {\r\n\t\tsetLoading(true)\r\n\t\tsetError(false)\r\n\r\n\t\ttry {\r\n\t\t\tcustomerDataApiService\r\n\t\t\t\t.updateKycCustomerData(customer!)\r\n\t\t\t\t.then(() => setShowKycModal(false))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetError(true)\r\n\t\t}\r\n\t\tif (!error) {\r\n\t\t\tsetShowThankYouPage(true)\r\n\t\t\tsaveCustomerToSessionStorage(customer)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconsole.log('Values', valuesToSubmit)\r\n\t\tconsole.log('Errors', errors)\r\n\t}, [errors, valuesToSubmit])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{showKycModal ? (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('forms:KycHeader')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showThankYouPage ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('forms:KycDescriptionText')}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{formSchema && !loading ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t submit()}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t
{t('UpdatingCustomerInfoError')}
\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t) : null}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport const KycWrapper = () => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst [data, setData] = useState()\r\n\tconst [show, setShow] = useState(false)\r\n\t// eslint-disable-next-line\r\n\tconst [error, setError] = useState()\r\n\tconst { toggle } = useContext(AppConfigContext)\r\n\tconst { customerData, isCard } = useContext(SspContext)\r\n\r\n\tasync function getKycData() {\r\n\t\tif (isCard?.isCard) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (sessionStorage.getItem(CookieType.KycRenewal) !== 'false') {\r\n\t\t\tif (appConfig.country === 'de') {\r\n\t\t\t\tawait customerDataApiService\r\n\t\t\t\t\t.getKycDataWithNationalId(t, customerData?.nationalId!)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tsetData(response)\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tresponse.customerType !== CustomerForm.DepositForm\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetShow(\r\n\t\t\t\t\t\t\t\tsessionStorage.getItem(\r\n\t\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\t) === 'true',\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((e) => setError(getErrorWithFullMessage(e)))\r\n\t\t\t} else {\r\n\t\t\t\tawait customerDataApiService\r\n\t\t\t\t\t.getKycData(t)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tsetData(response)\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tappConfig.country === 'no' &&\r\n\t\t\t\t\t\t\tresponse.customerType !== CustomerForm.DepositForm\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetShow(\r\n\t\t\t\t\t\t\t\tsessionStorage.getItem(\r\n\t\t\t\t\t\t\t\t\tCookieType.KycRenewal,\r\n\t\t\t\t\t\t\t\t) === 'true',\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((e) => setError(getErrorWithFullMessage(e)))\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (isCard?.isCard) {\r\n\t\t\t\tsetShow(false)\r\n\t\t\t\treturn\r\n\t\t\t} else {\r\n\t\t\t\ttoggle.includes(Toggle.kyc) ? getKycData() : setShow(false)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[isCard?.isCard], //eslint-disable-line\r\n\t)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{show && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetShow(false)\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nconst saveCustomerToSessionStorage = (customer: IKycData) => {\r\n\tlet oldCustomerData = sessionStorage.getItem(getCustomerInfoCookieName())\r\n\tconst defaultCustomerFlags = {\r\n\t\tnoAdvertisement: false,\r\n\t\tnoDataConsent: false,\r\n\t}\r\n\tlet customerFlags = defaultCustomerFlags\r\n\r\n\tlet customerOldInfo: ICustomer = {\r\n\t\tpersonalInfo: {\r\n\t\t\tcountry: '',\r\n\t\t\tfirstName: '',\r\n\t\t\tlastName: '',\r\n\t\t\tmiddleName: '',\r\n\t\t\tssn: '',\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcity: '',\r\n\t\t\tstreet: '',\r\n\t\t\tstreet2: '',\r\n\t\t\tzip: '',\r\n\t\t\tcustomerCountry: '',\r\n\t\t},\r\n\t\tinvoiceAddress: {\r\n\t\t\tcity: '',\r\n\t\t\tstreet: '',\r\n\t\t\tstreet2: '',\r\n\t\t\tzip: '',\r\n\t\t\tcustomerCountry: '',\r\n\t\t},\r\n\t\tcontacts: {\r\n\t\t\tcellPhone: '',\r\n\t\t\temail: '',\r\n\t\t\thomePhone: '',\r\n\t\t},\r\n\t\tcustomerFlags: {\r\n\t\t\tnoAdvertisement: false,\r\n\t\t\tnoDataConsent: false,\r\n\t\t},\r\n\t}\r\n\r\n\tif (oldCustomerData) {\r\n\t\tcustomerOldInfo = JSON.parse(oldCustomerData)\r\n\t\tcustomerFlags = customerOldInfo.customerFlags || defaultCustomerFlags\r\n\t}\r\n\r\n\tconst customerInfoData: ICustomer = {\r\n\t\tpersonalInfo: {\r\n\t\t\tcountry: mapCountryCode(\r\n\t\t\t\tcustomerOldInfo.personalInfo.country?.toString() || '',\r\n\t\t\t),\r\n\t\t\tfirstName:\r\n\t\t\t\tcustomerOldInfo.personalInfo?.firstName || customer.firstName,\r\n\t\t\tlastName:\r\n\t\t\t\tcustomerOldInfo.personalInfo?.lastName || customer.lastName,\r\n\t\t\tmiddleName: customerOldInfo.personalInfo?.middleName || '',\r\n\t\t\tssn: customerOldInfo.personalInfo?.ssn || customer.ssn,\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tcity: customer.address?.city || customerOldInfo.address?.city,\r\n\t\t\tstreet: customer.address?.street || customerOldInfo.address?.street,\r\n\t\t\tstreet2: customerOldInfo.address?.street2 || '',\r\n\t\t\tzip: customer.address?.postalCode || customerOldInfo.address?.zip,\r\n\t\t\tcustomerCountry:\r\n\t\t\t\tcustomer.address?.country?.toString() ||\r\n\t\t\t\tcustomerOldInfo.address?.customerCountry,\r\n\t\t},\r\n\t\tcontacts: {\r\n\t\t\tcellPhone:\r\n\t\t\t\tcustomer.phoneNumber || customerOldInfo.contacts.cellPhone,\r\n\t\t\temail: customer.email || customerOldInfo.contacts.email,\r\n\t\t\thomePhone:\r\n\t\t\t\tcustomerOldInfo.contacts?.homePhone ||\r\n\t\t\t\tcustomerOldInfo.contacts.homePhone ||\r\n\t\t\t\t'',\r\n\t\t},\r\n\r\n\t\tinvoiceAddress: undefined,\r\n\t\tcustomerFlags: customerFlags,\r\n\t}\r\n\r\n\tsessionStorage.setItem(\r\n\t\tgetCustomerInfoCookieName(),\r\n\t\tJSON.stringify(customerInfoData),\r\n\t)\r\n}\r\n\r\nconst mapCountryCode = (country: string): CountryA3 | undefined => {\r\n\tswitch (country) {\r\n\t\tcase 'EE':\r\n\t\t\treturn CountryA3.ee\r\n\t\tcase 'LT':\r\n\t\t\treturn CountryA3.lt\r\n\t\tcase 'LV':\r\n\t\t\treturn CountryA3.lv\r\n\t\tcase 'FI':\r\n\t\t\treturn CountryA3.fi\r\n\t\tdefault:\r\n\t\t\treturn undefined\r\n\t}\r\n}\r\n","export interface ISupportDataSsp {\r\n\temailFrom: string\r\n\tsubject: string\r\n\tbody: string\r\n\tcountryCode: string\r\n\tproductType: ProductType\r\n}\r\n\r\nexport interface ISupportCashToCard {\r\n\tsubject: string\r\n\tpartyId: string\r\n\tagreementId: string\r\n\tibanDE: string\r\n\tamount: number\r\n\ttermsAndConditions: boolean\r\n}\r\n\r\nexport enum ProductType {\r\n\tCard = 'Card',\r\n\tDeposit = 'Deposit',\r\n\tDeposit_Fixed = 'Deposit_Fixed',\r\n}\r\n\r\nexport interface IMaintenance {\r\n\tmaintenanceWindowFrom: string\r\n\tmaintenanceWindowTo: string\r\n\tpreMessageDE: string\r\n\tpreMessageAT: string\r\n\tpreMessageEN: string\r\n\tpreMessageNO: string\r\n\tpreMessageDK: string\r\n\tpreMessageSE: string\r\n\tpreMessageFI: string\r\n\tpreMessageEE: string\r\n\tpreMessageES: string\r\n\tdurationMessageDE: string\r\n\tdurationMessageAT: string\r\n\tdurationMessageEN: string\r\n\tdurationMessageNO: string\r\n\tdurationMessageDK: string\r\n\tdurationMessageSE: string\r\n\tdurationMessageFI: string\r\n\tdurationMessageEE: string\r\n\tdurationMessageES: string\r\n\tminutesBeforeMaintenance: number\r\n\taffectedSystems: string[]\r\n\taffectedMarkets: string[]\r\n}\r\n","import { useContext, useEffect, useState } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport appConfig from 'app.config'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\n\r\nimport bluecard_no from 'img/card-images/bluecard_no.png'\r\nimport goldcard_no from 'img/card-images/goldcard_no.png'\r\nimport goldcard_no_mc from 'img/card-images/goldcard_no_mc.png'\r\n\r\nexport const useCardImage = () => {\r\n\tconst { isCard, isMarketing } = useContext(SspContext)\r\n\tconst [img, setImg] = useState('')\r\n\r\n\tconst checkDate = () => {\r\n\t\tconst currentDate = new Date().toJSON().slice(0, 10)\r\n\t\tconst from = new Date(isMarketing?.startDate!)\r\n\t\tconst to = new Date(isMarketing?.endDate!)\r\n\t\tconst check = new Date(currentDate)\r\n\t\treturn check > from && check < to\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard === true) {\r\n\t\t\tswitch (appConfig.country) {\r\n\t\t\t\tcase 'no':\r\n\t\t\t\t\tsetImg(getCardImageForNo(isCard.color))\r\n\t\t\t\t\tbreak\r\n\t\t\t\tcase 'de':\r\n\t\t\t\tcase 'at':\r\n\t\t\t\tcase 'es':\r\n\t\t\t\tcase 'it':\r\n\t\t\t\t\tsetImg(getCardImageForEu(isMarketing))\r\n\t\t\t\t\tbreak\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tsetImg(goldcard_no_mc)\r\n\t\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\t\t//eslint-disable-next-line\r\n\t})\r\n\r\n\tconst getCardImageForNo = (color: any) => {\r\n\t\tswitch (color) {\r\n\t\t\tcase 'blue':\r\n\t\t\t\treturn bluecard_no\r\n\t\t\tcase 'gold-no':\r\n\t\t\t\treturn goldcard_no\r\n\t\t\tcase 'gold-mc-no':\r\n\t\t\t\treturn goldcard_no_mc\r\n\t\t\tdefault:\r\n\t\t\t\treturn ''\r\n\t\t}\r\n\t}\r\n\r\n\tconst getCardImageForEu = (marketing: any) => {\r\n\t\tif (\r\n\t\t\tmarketing?.product === ProductType.Card &&\r\n\t\t\tmarketing?.imageRef !== undefined &&\r\n\t\t\tcheckDate()\r\n\t\t) {\r\n\t\t\treturn marketing.imageRef\r\n\t\t} else {\r\n\t\t\treturn goldcard_no_mc\r\n\t\t}\r\n\t}\r\n\r\n\treturn img\r\n}\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport './Modal.scss'\r\n\r\ninterface IModalBodyProps {\r\n\tbodyTitle: string\r\n\tbodyText: string\r\n}\r\n\r\nexport const ModalBody = ({ bodyTitle, bodyText }: IModalBodyProps) => (\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{bodyTitle}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t
\r\n)\r\n","import React, { useCallback } from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { TFunction } from 'i18next'\r\nimport { Link } from 'react-router-dom'\r\n\r\ninterface IModalFooterProps {\r\n\tctaLink: string\r\n\tctaButtonText: string\r\n\tshowFooterButtonClose: boolean\r\n\tisCtaLinkInternalNavigation: boolean\r\n\tonClose: () => void\r\n\tt: TFunction\r\n}\r\n\r\nexport const ModalFooter = ({\r\n\tctaLink,\r\n\tctaButtonText,\r\n\tshowFooterButtonClose,\r\n\tisCtaLinkInternalNavigation,\r\n\tonClose,\r\n\tt,\r\n}: IModalFooterProps) => {\r\n\tconst handleCtaClick = useCallback(() => {\r\n\t\tonClose()\r\n\t}, [onClose])\r\n\r\n\tconst renderCtaButton = () => {\r\n\t\tif (!ctaLink || !ctaButtonText) return null\r\n\r\n\t\tconst button = (\r\n\t\t\t\r\n\t\t)\r\n\r\n\t\treturn isCtaLinkInternalNavigation ? (\r\n\t\t\t\r\n\t\t\t\t{button}\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t\t\t{button}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{renderCtaButton()}\r\n\t\t\t{showFooterButtonClose && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('Close')}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Image, Modal } from 'react-bootstrap'\r\nimport { IImageProps } from 'shared/interfaces/i-api-informationModal'\r\nimport './Modal.scss'\r\n\r\ninterface IModalHeaderProps {\r\n\theaderTitle: string\r\n\theaderImage: IImageProps\r\n}\r\n\r\nexport const ModalHeader = ({\r\n\theaderTitle,\r\n\theaderImage,\r\n}: IModalHeaderProps) => (\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
{headerTitle}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{headerImage.alt}\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n)\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\nimport { ModalHeader, ModalBody, ModalFooter } from './components'\r\n\r\ninterface InformationModalProps {\r\n\tcontent: IInformationModalProps\r\n\tonClose: () => void\r\n\tshow: boolean\r\n}\r\n\r\nexport const InformationModal = ({\r\n\tcontent,\r\n\tonClose,\r\n\tshow,\r\n}: InformationModalProps) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tif (!content) return null\r\n\r\n\tconst {\r\n\t\theaderTitle,\r\n\t\theaderImage,\r\n\t\tbodyTitle,\r\n\t\tbodyText,\r\n\t\tctaLink,\r\n\t\tctaButtonText,\r\n\t\tshowFooterButtonClose,\r\n\t\tcss,\r\n\t\tisCtaLinkInternalNavigation,\r\n\t} = content\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { useContext } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nexport const useSspContext = () => {\r\n\treturn useContext(SspContext)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation } from 'react-router'\r\nimport { useCardImage } from './useCardImage'\r\nimport { InformationModal } from 'shared/components/modals/InformationModal'\r\n\r\nimport appConfig from 'app.config'\r\n\r\nimport { ICreditBalance } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport { menuItems } from 'selfServicePortal/constants/menuItems'\r\nimport {\r\n\tcheckIsMobile,\r\n\tcheckIsTablet,\r\n\tgetCurrency,\r\n\tstringifyNum,\r\n} from 'shared/index'\r\n\r\nimport './CardOverview.scss'\r\nimport { IInformationModalProps } from 'shared/interfaces/i-api-informationModal'\r\nimport { useSspContext } from 'selfServicePortal/hooks/useSspContext'\r\n\r\nconst CardImg = () => {\r\n\tconst img = useCardImage()\r\n\tconst { isMarketing } = useSspContext()\r\n\r\n\tif (isMarketing?.imageLink) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\"card\"\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\treturn \"card\"\r\n}\r\n\r\nconst Card = () => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\ninterface IInfoBox {\r\n\toverviewData: ICreditBalance\r\n\tfullDate: string\r\n\tname: string\r\n\tcardNr: string\r\n}\r\nconst InfoBox = ({ overviewData, fullDate, name, cardNr }: IInfoBox) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst isTablet = checkIsTablet()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{name}
\r\n\t\t\t\t\t\t
{t('FreeAmount')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{stringifyNum(overviewData?.availableCreditAmount, {\r\n\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{t('ExpiryDate')}
\r\n\t\t\t\t\t\t
{fullDate}
\r\n\t\t\t\t\t\t{appConfig.country === 'no' && !isMobile && (\r\n\t\t\t\t\t\t\t
{cardNr}
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{appConfig.country === 'no' && isMobile && (\r\n\t\t\t\t\t
{cardNr}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('CreditCardLimit')}
\r\n\t\t\t\t\t
{t('ReservedAmount')}
\r\n\t\t\t\t\t
{t('Balance')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(overviewData?.creditLimit, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(overviewData?.reservedAmount, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{appConfig.country === 'no' &&\r\n\t\t\t\t\t\toverviewData?.availableCreditAmount >\r\n\t\t\t\t\t\t\toverviewData?.creditLimit\r\n\t\t\t\t\t\t\t? 'kr 0,00'\r\n\t\t\t\t\t\t\t: stringifyNum(overviewData?.balance, {\r\n\t\t\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t\t })}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n\r\nconst CardOverview = () => {\r\n\tconst isMobile = checkIsMobile()\r\n\tconst isTablet = checkIsTablet()\r\n\tconst location = useLocation()\r\n\tconst {\r\n\t\toverviewData,\r\n\t\tcustomerData,\r\n\t\terror,\r\n\t\tsetComponent,\r\n\t\thadleCloseInformationModal,\r\n\t\thasCustomerSeenInformationModal,\r\n\t\tinformationModalData,\r\n\t} = useSspContext()\r\n\tconst [creditCardData, setCreditCardData] = useState(\r\n\t\toverviewData as ICreditBalance,\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetCreditCardData(overviewData as ICreditBalance)\r\n\t}, [overviewData])\r\n\r\n\tlet date =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? (\r\n\t\t\t\t\t'0' +\r\n\t\t\t\t\t(new Date(creditCardData?.cardExpirationDate!).getMonth() +\r\n\t\t\t\t\t\t1)\r\n\t\t\t ).slice(-2)\r\n\t\t\t: ''\r\n\r\n\tlet year =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? new Date(creditCardData?.cardExpirationDate!)\r\n\t\t\t\t\t.getFullYear()\r\n\t\t\t\t\t.toString()\r\n\t\t\t\t\t.substring(2)\r\n\t\t\t: ''\r\n\r\n\tlet fullDate =\r\n\t\tcreditCardData?.cardExpirationDate !== undefined\r\n\t\t\t? `${date}/${year}`\r\n\t\t\t: ''\r\n\r\n\tlet cardNr =\r\n\t\tcreditCardData?.creditCardNo !== undefined\r\n\t\t\t? creditCardData?.creditCardNo.slice(0, 4) +\r\n\t\t\t ' ' +\r\n\t\t\t creditCardData?.creditCardNo.slice(4, 8) +\r\n\t\t\t ' ' +\r\n\t\t\t creditCardData?.creditCardNo.slice(8, 12) +\r\n\t\t\t ' ' +\r\n\t\t\t creditCardData?.creditCardNo.slice(12, 16)\r\n\t\t\t: ''\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\t\tsetComponent(menuItems[0].items[5])\r\n\t\t\t}\r\n\t\t},\r\n\t\t[], //eslint-disable-line\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!error && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{location.pathname === appRoutes.referfriends ? null : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\titem.active &&\r\n\t\t\t\t\t\t\t\t\t\t\titem.country === appConfig.country,\r\n\t\t\t\t\t\t\t\t\t) as IInformationModalProps\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tonClose={() => hadleCloseInformationModal()}\r\n\t\t\t\t\t\t\t\tshow={!hasCustomerSeenInformationModal}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{!isMobile ||\r\n\t\t\t\t\t\t(isTablet &&\r\n\t\t\t\t\t\t\twindow.innerWidth > 991 &&\r\n\t\t\t\t\t\t\twindow.innerHeight > 991) ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default CardOverview\r\n","import React, { useContext } from 'react'\r\nimport SspContext from '../../../../../../contexts/SspContext'\r\nimport appConfig from '../../../../../../../app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetCurrency,\r\n\tstringifyNum,\r\n} from '../../../../../../../shared'\r\n\r\nconst InfoBox = ({ depositData, depositInfo }: any) => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isCard, productType } = useContext(SspContext)\r\n\r\n\tlet bankAccountNumbersDe = isCard?.isCard\r\n\t\t? ['DE77512202000070508402', 'ESSEDEFFXXX']\r\n\t\t: ['DE06202208000000024118', 'SXPYDEHH']\r\n\r\n\tlet bankAccountNumbersNo = isCard?.isCard\r\n\t\t? '3633.32.77160'\r\n\t\t: '3633.53.85432'\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t
{t('DepositFixedAccount')}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t
{t('DepositAccount')}
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t\t<>{depositData?.accountNumber}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{t('BankBalance')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{stringifyNum(depositData?.balance, {\r\n\t\t\t\t\t\t\tcurrency: getCurrency(),\r\n\t\t\t\t\t\t\tstyle: 'currency',\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('CurrentRate')}
\r\n\t\t\t\t\t
{`${depositData?.interestRate} %`}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{appConfig.country === 'de' ? (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('PresetDisbursementAccount')}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('IBAN')}
\r\n\t\t\t\t\t\t\t
{t('Bic')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{depositInfo[0]}
\r\n\t\t\t\t\t\t\t
{depositInfo[1]}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{!isMobile ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{t('CustomerReference')}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{t('IBAN')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{bankAccountNumbersDe[0]}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{t('Bic')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{bankAccountNumbersDe[1]}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('CustomerReference')}:\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
{`${t('IBAN')}: ${\r\n\t\t\t\t\t\t\t\t\tbankAccountNumbersDe[0]\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t
{`${t('Bic')}: ${\r\n\t\t\t\t\t\t\t\t\tbankAccountNumbersDe[1]\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t{productType === 'Deposit_Fixed' ? (\r\n\t\t\t\t\t\t{t('DepositFixedInformation')}\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t{t('DepositInformation')}\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CustomerReference')}
\r\n\t\t\t\t\t\t\t
{t('BankAccountNumber')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{depositData?.accountNumber}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{bankAccountNumbersNo}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\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 InfoBox\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport SspContext from '../../../../../contexts/SspContext'\r\nimport { IDepositData } from '../../../../../interfaces/i-api-creaditCard'\r\nimport { checkIsMobile } from 'shared'\r\nimport InfoBox from './InfoBox/InfoBox'\r\n\r\nconst DepositOverview = () => {\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { overviewData, error } = useContext(SspContext)\r\n\tconst [depositData, setDepositData] = useState(overviewData as IDepositData)\r\n\tconst [depositInfo, setDepositInfo] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (depositData?.note) {\r\n\t\t\tlet index = depositData.note.indexOf('Bic')\r\n\t\t\tlet indexIban = depositData.note.substr(0, index).indexOf(':')\r\n\t\t\tlet indexBic = depositData.note.substr(index + 1).indexOf(':')\r\n\r\n\t\t\tsetDepositInfo([\r\n\t\t\t\tdepositData.note.substr(0, index).substr(indexIban + 1),\r\n\t\t\t\tdepositData.note.substr(index + 1).substr(indexBic + 1),\r\n\t\t\t])\r\n\t\t}\r\n\t}, [depositData])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetDepositData(overviewData as IDepositData)\r\n\t}, [overviewData])\r\n\r\n\tlet containerCls = ['fade-in', 'container', 'd-flex', 'mt-4']\r\n\tif (isMobile) containerCls.push('flex-column')\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!error && (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default DepositOverview\r\n","import React, { useContext, useEffect, useState } from 'react'\r\n\r\nimport { KycWrapper } from 'shared/components/modals/KycSharedModal/KycModal'\r\n\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport CardOverview from './CardOverview/CardOverview'\r\nimport DepositOverview from './DepositOverview/DepositOverview'\r\n\r\nimport './Overview.scss'\r\nimport { Transactions } from 'selfServicePortal/components'\r\n\r\nconst Overview = () => {\r\n\tconst { loading, isCard } = useContext(SspContext)\r\n\r\n\tconst [overview, setOverview] = useState(<>)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isCard?.isCard) {\r\n\t\t\tsetOverview()\r\n\t\t} else {\r\n\t\t\tsetOverview()\r\n\t\t}\r\n\t}, [isCard])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\t<>{overview}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default Overview\r\n","import { ICustomer } from './i-api-customer'\r\n\r\nexport interface ICreditBalance {\r\n\tcreditLimit: number\r\n\treservedAmount: number\r\n\tcurrency: any\r\n\ttransactionDate: string\r\n\taccountAgreementId: string\r\n\tavailableCreditAmount: number\r\n\tbalance: number\r\n\tcardExpirationDate: string\r\n\tcardAgreementId: string\r\n\taccountNumber: string\r\n\tcreditCardNo: string\r\n\tcardID: number\r\n\tstatusIssuer: IIMSStatusIssuer\r\n\tstatusUser: IIMSStatusIssuer\r\n\tstatusCardActivation: IIMSStatusIssuer\r\n\tcardAgreementOpenDate: string\r\n\tproductId: string\r\n\taccountOwnerPartyId: string\r\n\thasPPI: boolean\r\n\tppiEligible: boolean\r\n}\r\n\r\nexport interface IDepositData {\r\n\taccountAgreementId: string\r\n\taccountCurrency: string\r\n\taccountNumber: string\r\n\taccountOwnerPartyId: string\r\n\tbalance: number\r\n\tbindingPeriod: number\r\n\tinterestRate: number\r\n\tnote?: string\r\n\taccountAgreementOpenDate: string\r\n\tproductId: string\r\n\tagreementStatus: IMSAgreementStatus\r\n}\r\n\r\nexport enum IMSAgreementStatus {\r\n\tInActive = 'InActive',\r\n\tActive = 'Active',\r\n\tSuspended = 'Suspended',\r\n\tClosed = 'Closed',\r\n\tClosing = 'Closing',\r\n\tSuspending = 'Suspending',\r\n}\r\n\r\nexport interface ITransaction {\r\n\ttransactionDate: string\r\n\tbookingDate: string\r\n\tcurrency: string\r\n\tamount: number\r\n\tinvoiceAmount: number\r\n\ttransactionType: string\r\n\ttransactionTypeUiString: string\r\n\tdescription: string\r\n\tvendor: string\r\n\tbillingAmount?: number\r\n\tbillingCurrency?: string\r\n\texchangeRate?: number\r\n\tcreditDebit: string\r\n\tisBlockedAuthorization: boolean\r\n\tconsumerClarity?: IConsumerClarity | null\r\n}\r\n\r\nexport interface IConsumerClarity {\r\n\trecordId: string\r\n\tresultStatus: {\r\n\t\tcode: string\r\n\t\tmessage: string\r\n\t}\r\n\tmerchantResult?: {\r\n\t\tmerchantName: string\r\n\t\tphone: string\r\n\t\tdescription: string\r\n\t\temail: string\r\n\t\twebsiteUrl: string\r\n\t\tcontactUrl: string\r\n\t\taddress: {\r\n\t\t\tline: string\r\n\t\t\tcity: string\r\n\t\t\tpostalCode: string\r\n\t\t\tcountryCode: string\r\n\t\t\tcountryName: string\r\n\t\t\tcountrySubdivisionCode: string\r\n\t\t}\r\n\t\tmerchantCategory: {\r\n\t\t\tcode: string\r\n\t\t\tdescription: string\r\n\t\t}\r\n\t\tlogos: [\r\n\t\t\t{\r\n\t\t\t\theight: number\r\n\t\t\t\twidth: number\r\n\t\t\t\turl: string\r\n\t\t\t\ttype: string\r\n\t\t\t\taltTextTag: string\r\n\t\t\t},\r\n\t\t]\r\n\t\tmerchantLocation: {\r\n\t\t\tlatitude: string\r\n\t\t\tlongitude: string\r\n\t\t\ttype: string\r\n\t\t}\r\n\t\tdataPolicy: {\r\n\t\t\tcacheable: boolean\r\n\t\t\tcacheExpiry: string\r\n\t\t\tattribution: string\r\n\t\t\trequiredMap: string\r\n\t\t}\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t}\r\n\tpurchaseReceipt: {\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t\turl: string\r\n\t\tcontentType: string\r\n\t\texpiresOn: string\r\n\t}\r\n\tcarbonFootprint: {\r\n\t\tcarbonEmissionInGrams: number\r\n\t\tcarbonEmissionInOunces: number\r\n\t\tcategory: {\r\n\t\t\tmainCategory: string\r\n\t\t\tsubCategory: string\r\n\t\t\tsector: string\r\n\t\t\tsectorCode: string\r\n\t\t}\r\n\t}\r\n\tsubscriptionControls: {\r\n\t\trecurringPayment: {\r\n\t\t\trecurringPaymentKey: {\r\n\t\t\t\tmerchantId: string\r\n\t\t\t\tsubscriptionId: string\r\n\t\t\t}\r\n\t\t\tfrequency: string\r\n\t\t\ttype: string\r\n\t\t\tsupportedCancellationMethods: [string]\r\n\t\t}\r\n\t\tsubscriptionState: {\r\n\t\t\tactionType: string\r\n\t\t\tsubscriptionStatus: string\r\n\t\t\tcreatedDate: string\r\n\t\t\tupdatedDate: string\r\n\t\t\tcancellationState: {\r\n\t\t\t\tcancellationStatusReasonCode: string\r\n\t\t\t\testimatedProcessingDays: string\r\n\t\t\t\tcancellationMethod: string\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tsearchResults: {\r\n\t\tresultStatus: {\r\n\t\t\tcode: string\r\n\t\t\tmessage: string\r\n\t\t}\r\n\t\turl: string\r\n\t\tcontentType: string\r\n\t\texpiresOn: string\r\n\t}\r\n}\r\n\r\nexport interface IUnpaidInvoices {\r\n\tunpaidInvoices: IIMSInvoice[]\r\n\tnumberOfInvoices: number\r\n\ttotalPaymentAmount: number\r\n\ttotalPaymentCurrency: Currency\r\n}\r\n\r\nexport interface IIMSInvoice {\r\n\tperiodStartDate: string\r\n\tperiodEndDate: string\r\n\tpaymentDueDate: string\r\n\tpaymentAmount: number\r\n\tpaymentCurrency: Currency\r\n}\r\n\r\nenum Currency {\r\n\tNOK = 0,\r\n\tEUR,\r\n\tSEK,\r\n}\r\n\r\nexport interface IIMSStatusIssuer {\r\n\tstatusIssuer: StatusIssuer\r\n\tstatusIssuerNote: string\r\n}\r\n\r\nexport enum StatusIssuer {\r\n\tActive = 'Active',\r\n\tDecline = 'Decline',\r\n\tNotActive = 'NotActive',\r\n\t//DeclineSuspectedFraud = 'DeclineSuspectedFraud',\r\n\t//DeclineRestrictedCard = 'DeclineRestrictedCard',\r\n\t//DeclineReferToCardIssuer = 'DeclineReferToCardIssuer',\r\n\t//DeclineLawViolation = 'DeclineLawViolation',\r\n\t//DeclineSuspectedCounterfeitCard = 'DeclineSuspectedCounterfeitCard',\r\n\tPickUpGeneral = 'PickUpGeneral',\r\n\t//PickUpSuspectedFraud = 'PickUpSuspectedFraud',\r\n\t//PickUpSpecialConditions = 'PickUpSpecialConditions',\r\n\t//PickUpLostCard = 'PickUpLostCard',\r\n\t//PickUpStolenCard = 'PickUpStolenCard',\r\n\t//PickUpSuspectedCounterfeitCard = 'PickUpSuspectedCounterfeitCard',\r\n\tOrderNewCard = 'OrderNewCard',\r\n}\r\nexport interface IAccountStatement {\r\n\taccountStatementId: string\r\n\taccountStatementNumber: string\r\n\taccountStatementDate: string\r\n\taccountStatementFormat: IAccountStatementFormat\r\n\tperiodStartDate: string\r\n\tperiodEndDate: string\r\n\tpaymentDueDate: string\r\n\tpaymentDueDateSpecified: boolean\r\n\tpaymentAmount: number\r\n\tpaymentCurrency: string\r\n}\r\nexport interface IAccountStatements {\r\n\taccountStatements: IAccountStatement[]\r\n}\r\n\r\nexport enum IAccountStatementFormat {\r\n\txml,\r\n\tpdf,\r\n\thtml,\r\n\tcsv,\r\n\ttxtsimple,\r\n\ttxt,\r\n\txls,\r\n\txul,\r\n}\r\n\r\nexport interface ICardEnrollment {\r\n\tcustomerId: string\r\n\tcardAgreementId: number\r\n\tstatus: string\r\n\tphoneNo: string\r\n\tpassword: string\r\n\tcardHolderId: string\r\n\tlabel: string\r\n}\r\n\r\nexport interface IUpdateCard {\r\n\tcardId: number\r\n\tstatusIssuer?: StatusIssuer\r\n\tstatusIssuerNote?: string\r\n\tstatusCardActivation?: StatusCardActivation\r\n\tstatusCardActivationNote?: string\r\n\tstatusUser?: StatusUser\r\n\tstatusUserNote?: string\r\n\tid?: string\r\n\tstatusDisplayed?: string\r\n}\r\n\r\nexport interface INewCard {\r\n\tcardAgreementId: string\r\n\tcardID: number\r\n\tid?: string\r\n}\r\n\r\nexport enum StatusCardActivation {\r\n\tActive = 'Active',\r\n\tInActive = 'InActive',\r\n}\r\n\r\nexport enum StatusUser {\r\n\tActive = 'Active',\r\n\tDecline = 'Decline',\r\n}\r\n\r\nexport interface IAnnualReport {\r\n\taccountDebitBalance: number\r\n\taccountCreditBalance: number\r\n\tinterestReceived: number\r\n\tinterestPaid: number\r\n\tcurrency: string\r\n}\r\n\r\nexport interface IAgreementHistoryDto {\r\n\tagreements: IAgreements\r\n\tcustomer: ICustomer\r\n}\r\n\r\nexport interface IAgreements {\r\n\tdepositAccounts: IDepositData[]\r\n\tcreditCardAccounts: ICreditBalance[]\r\n}\r\n","import Axios from '../axios'\r\nimport appConfig from '../../../app.config'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError, showBlob } from '../../../shared'\r\n\r\nasync function getAccountStatementService(\r\n\taccountStatementId: string,\r\n\tt: TFunction,\r\n\twindowRef: Window | null,\r\n) {\r\n\ttry {\r\n\t\tlet response = await Axios.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/creditcard/accountstatement?accountStatementId=${accountStatementId}`,\r\n\t\t\t{\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t},\r\n\t\t)\r\n\r\n\t\tlet blob = new Blob([response.data], {\r\n\t\t\ttype: 'application/pdf',\r\n\t\t})\r\n\r\n\t\tshowBlob(blob, windowRef, accountStatementId + '.pdf')\r\n\t} catch (e: any) {\r\n\t\tlogError(e)\r\n\t\tthrow new Error(t('ErrorAccountStatements'))\r\n\t}\r\n}\r\n\r\nexport default getAccountStatementService\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { userManager } from '../../../auth/services/auth.service'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\nimport { IAccountStatements } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getAccountStatementsService(t: TFunction, additionalData?: string) {\r\n const accountStatementFormat = 'pdf';\r\n let customerId = await userManager.getUser().then((user) => {\r\n return user?.profile.sub\r\n })\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAccountStatements\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('NoAccountStatements'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAccountStatements\r\n}\r\n\r\nexport default getAccountStatementsService;","import Axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { userManager } from '../../../auth/services/auth.service'\r\nimport { IAccountStatements } from '../../interfaces/i-api-creaditCard'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport appConfig from '../../../app.config';\r\n\r\nasync function getDepositAccountStatementsService(t: TFunction, additionalData?: string) {\r\n const accountStatementFormat = 'pdf';\r\n let customerId = await userManager.getUser().then((user) => {\r\n return user?.profile.sub\r\n })\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/deposit/accountstatements?customerId=${customerId}&accountStatementFormat=${accountStatementFormat}&additionalData=${additionalData}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAccountStatements\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('NoAccountStatements'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAccountStatements\r\n}\r\n\r\nexport default getDepositAccountStatementsService;","import Axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError, showBlob } from '../../../shared'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function getDepositAccountStatementService(\r\n\taccountStatementId: string,\r\n\tfileName: string,\r\n\tt: TFunction,\r\n\twindowRef: Window | null,\r\n) {\r\n\ttry {\r\n\t\tlet response = await Axios.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/deposit/accountstatement?accountStatementId=${accountStatementId}`,\r\n\t\t\t{\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t},\r\n\t\t)\r\n\t\tlet blob = new Blob([response.data], {\r\n\t\t\ttype: 'application/pdf',\r\n\t\t})\r\n\t\tshowBlob(blob, windowRef, accountStatementId + '.pdf')\r\n\t} catch (e: any) {\r\n\t\tlogError(e)\r\n\t\tthrow new Error(t('ErrorAccountStatements'))\r\n\t}\r\n}\r\n\r\nexport default getDepositAccountStatementService\r\n","export interface ICustomer {\r\n\tcustomerId: string\r\n\tshortAddress: string\r\n\tcountry: string\r\n\tregion: string\r\n\tcity: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tapartmentNumber: string\r\n\tpostalCode: string\r\n\tmobilePhoneNumber: string\r\n\temail: string\r\n\tstatus?: CustomerStatus\r\n\ttitle: string\r\n\tbirthDate: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\tbankId: string\r\n\tnationalId: string\r\n\tcanChangeAddress: boolean\r\n\tcanChangeContactInfo: boolean\r\n\tallowMarketingConsent: boolean | null\r\n}\r\n\r\nexport interface IUpdateCustomer {\r\n\tcustomerId: string\r\n\tbankId: string\r\n\tshortAddress: string\r\n\tcity: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tapartmentNumber?: string\r\n\tpostalCode: string\r\n\tmobilePhoneNumber?: string\r\n\temail?: string\r\n}\r\n\r\nexport enum CustomerStatus {\r\n\tInActive = 'InActive',\r\n\tActive = 'Active',\r\n\tSuspended = 'Suspended',\r\n\tClosed = 'Closed',\r\n\tRejected = 'Rejected',\r\n}\r\n\r\nexport interface IMarketing {\r\n\tisMarketing: boolean\r\n\tstartDate: string\r\n\tendDate: string\r\n\tproduct: string\r\n\tmarket: string\r\n\timageRef: string\r\n\timageLink?: string\r\n}\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tisSafariBrowser,\r\n} from 'shared'\r\nimport Tooltip from 'shared/components/Tooltip'\r\n\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport {\r\n\tIAccountStatements,\r\n\tIDepositData,\r\n\tIMSAgreementStatus,\r\n} from '../../../../interfaces/i-api-creaditCard'\r\nimport getAccountStatementService from '../../../../services/CreditCardServices/getAccountStatementService'\r\nimport getAccountStatementsService from '../../../../services/CreditCardServices/getAccountStatementsService'\r\nimport getDepositAccountStatementsService from '../../../../services/DepositServices/getDepositAccountStatementsService'\r\nimport getDepositAccountStatementService from '../../../../services/DepositServices/getDepositAccountStatementService'\r\nimport { TableLegacy } from '../../../../components/index'\r\n\r\nimport './PaymentInformation.scss'\r\nimport { CustomerStatus } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { useSspContext } from 'selfServicePortal/hooks/useSspContext'\r\n\r\nconst PaymentInformation = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { isCard, overviewData, productType } = useContext(SspContext)\r\n\tconst { customerData } = useSspContext()\r\n\tconst title =\r\n\t\tproductType === 'Card'\r\n\t\t\t? 'MasterCardInformation'\r\n\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t\t? 'DepositFixedInformation'\r\n\t\t\t\t: 'DepositInformation'\r\n\r\n\tconst fileName = isCard?.isCard ? 'Invoice' : 'BankStatement'\r\n\tconst archiveTitle = isCard?.isCard\r\n\t\t? 'InvoiceArchive'\r\n\t\t: 'AccountStatementArchive'\r\n\tconst archiveDescription = isCard?.isCard\r\n\t\t? 'InvoiceArchiveDescription'\r\n\t\t: 'StatementArchiveDescription'\r\n\r\n\tconst [accountStatements, setAccountStatements] =\r\n\t\tuseState()\r\n\r\n\tlet bankAccountNumbers =\r\n\t\tappConfig.country === 'de' ||\r\n\t\tappConfig.country === 'at' ||\r\n\t\tappConfig.country === 'es' ||\r\n\t\tappConfig.country === 'it'\r\n\t\t\t? isCard?.isCard\r\n\t\t\t\t? 'SOBKDEB2XXX'\r\n\t\t\t\t: 'IBAN DE06202208000000024118 \\n BIC SXPYDEHH'\r\n\t\t\t: isCard?.isCard\r\n\t\t\t\t? '3633.32.77160'\r\n\t\t\t\t: '3633.53.85432'\r\n\r\n\tconst getAccountStatements = async () => {\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tif (isCard?.isCard) {\r\n\t\t\t\tlet accountStatements = await getAccountStatementsService(\r\n\t\t\t\t\tt,\r\n\t\t\t\t\toverviewData?.accountOwnerPartyId!,\r\n\t\t\t\t)\r\n\t\t\t\tsetAccountStatements(accountStatements)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t} else {\r\n\t\t\t\tlet accountStatements =\r\n\t\t\t\t\tawait getDepositAccountStatementsService(\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\toverviewData?.accountOwnerPartyId!,\r\n\t\t\t\t\t)\r\n\t\t\t\tsetAccountStatements(accountStatements)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t} catch (error: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tgetAccountStatements()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst depositData = [\r\n\t\toverviewData?.accountNumber,\r\n\t\tbankAccountNumbers,\r\n\t\tappConfig.country === 'de' ||\r\n\t\tappConfig.country === 'at' ||\r\n\t\tappConfig.country === 'es' ||\r\n\t\tappConfig.country === 'it'\r\n\t\t\t? 'TF Bank AB'\r\n\t\t\t: 'TF Bank Norge (org.nr 923 194 592)',\r\n\t]\r\n\r\n\tlet depositItems = depositData.map((item: any, key: number) => {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{item}\r\n\t\t\t\r\n\t\t)\r\n\t})\r\n\r\n\tconst DownloadItem = (props: any) => (\r\n\t\t {\r\n\t\t\t\tprops.onClick()\r\n\t\t\t}}\r\n\t\t\tclassName={\r\n\t\t\t\tisMobile\r\n\t\t\t\t\t? 'd-flex justify-content-between btn-nostyle w-100'\r\n\t\t\t\t\t: 'btn-nostyle'\r\n\t\t\t}>\r\n\t\t\t{props.item} \r\n\t\t\r\n\t)\r\n\r\n\tinterface ITableAccountStatement {\r\n\t\tperiod: string\r\n\t\tminAmountToPay: string\r\n\t\tdownloadPdf: any\r\n\t}\r\n\r\n\tlet depositCols = [\r\n\t\t
\r\n\t\t\t{(appConfig.country === 'de' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'es' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'it' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'at' && isCard?.isCard)\r\n\t\t\t\t? t('Viban')\r\n\t\t\t\t: t('CustomerReferenceNumber')}\r\n\r\n\t\t\t\r\n\t\t
,\r\n\t\t<>\r\n\t\t\t{(appConfig.country === 'de' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'es' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'it' && isCard?.isCard) ||\r\n\t\t\t(appConfig.country === 'at' && isCard?.isCard)\r\n\t\t\t\t? t('Bic')\r\n\t\t\t\t: t('BankAccountNumber')}\r\n\t\t,\r\n\t\t<>{t('Reciever')},\r\n\t]\r\n\r\n\tconst [tableData, setTableData] = useState([])\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst getAccountStatement = useCallback(\r\n\t\tasync (\r\n\t\t\taccountStatementId: string,\r\n\t\t\tfileName: string,\r\n\t\t\twindowRef: Window | null,\r\n\t\t) => {\r\n\t\t\ttry {\r\n\t\t\t\tif (isCard?.isCard) {\r\n\t\t\t\t\tawait getAccountStatementService(\r\n\t\t\t\t\t\taccountStatementId,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tawait getDepositAccountStatementService(\r\n\t\t\t\t\t\taccountStatementId,\r\n\t\t\t\t\t\tfileName,\r\n\t\t\t\t\t\tt,\r\n\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t}\r\n\t\t},\r\n\t\t// eslint-disable-next-line\r\n\t\t[],\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (accountStatements?.accountStatements) {\r\n\t\t\taccountStatements.accountStatements =\r\n\t\t\t\taccountStatements.accountStatements.sort((a, b) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t+new Date(b.accountStatementDate) -\r\n\t\t\t\t\t\t+new Date(a.accountStatementDate)\r\n\t\t\t\t\t)\r\n\t\t\t\t})\r\n\r\n\t\t\tsetTableData(\r\n\t\t\t\taccountStatements.accountStatements.map((a) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tperiod: `${new Date(\r\n\t\t\t\t\t\t\ta.periodStartDate,\r\n\t\t\t\t\t\t).toLocaleDateString(getLanguageLocale())}-${new Date(\r\n\t\t\t\t\t\t\ta.periodEndDate,\r\n\t\t\t\t\t\t).toLocaleDateString(getLanguageLocale())}`,\r\n\t\t\t\t\t\tminAmountToPay: `${a.paymentAmount} ${a.paymentCurrency}`,\r\n\t\t\t\t\t\tdownloadPdf: (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tlet windowRef = isSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\tgetAccountStatement(\r\n\t\t\t\t\t\t\t\t\t\ta.accountStatementId,\r\n\t\t\t\t\t\t\t\t\t\t`${t(fileName)}_${new Date(\r\n\t\t\t\t\t\t\t\t\t\t\ta.accountStatementDate,\r\n\t\t\t\t\t\t\t\t\t\t).toLocaleDateString(\r\n\t\t\t\t\t\t\t\t\t\t\tgetLanguageLocale(),\r\n\t\t\t\t\t\t\t\t\t\t)}.pdf`,\r\n\t\t\t\t\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t}\r\n\t\t// eslint-disable-next-line\r\n\t}, [accountStatements])\r\n\r\n\tlet invoiceArchiveItems\r\n\tif (tableData) {\r\n\t\tinvoiceArchiveItems = tableData.map((item: any, key: number) => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{item.period}\r\n\t\t\t\t\t{isCard?.isCard && item.minAmountToPay}\r\n\t\t\t\t\t{item.downloadPdf}\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})\r\n\t}\r\n\r\n\tconst PaymenyInfoMobile = () => (\r\n\t\t
\r\n\t\t\t{customerData?.status !== CustomerStatus.Closed &&\r\n\t\t\t\t(overviewData as IDepositData)?.agreementStatus !==\r\n\t\t\t\t\tIMSAgreementStatus.Closed && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

{t(title)}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('CustomerReferenceNumber')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData[0]}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('BankAccountNumber')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{depositData[1]}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{t('Reciever')}\r\n\t\t\t\t\t\t\t\t
{depositData[2]}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t(archiveTitle)}

\r\n\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t
{t(archiveDescription)}
\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t{error ? (\r\n\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('Period')}
\r\n\t\t\t\t\t\t\t
{t('DownloadPDF')}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{tableData.map((i, key) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{i.downloadPdf}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isMobile ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{customerData?.status !== CustomerStatus.Closed &&\r\n\t\t\t\t\t\t\t\t(overviewData as IDepositData)\r\n\t\t\t\t\t\t\t\t\t?.agreementStatus !==\r\n\t\t\t\t\t\t\t\t\tIMSAgreementStatus.Closed && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t

{t(title)}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{depositItems}}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{t(archiveTitle)}

\r\n\t\t\t\t\t\t\t\t\t{appConfig.country === 'de' && (\r\n\t\t\t\t\t\t\t\t\t\t
{t(archiveDescription)}
\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{t(error.message)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\nexport default PaymentInformation\r\n","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _ellipse, _ellipse2, _ellipse3, _ellipse4, _ellipse5, _ellipse6, _ellipse7, _ellipse8, _ellipse9;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgContractBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;stroke:#575651;stroke-width:6.8176;}\\r\\n\\t.st1{fill:#575651;}\\r\\n\\t.st2{fill:#DE996F;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79,45.4h165c3.6,0,6.6,3,6.6,6.6v220c0,3.6-3,6.6-6.6,6.6H79c-3.6,0-6.6-3-6.6-6.6V52 C72.4,48.4,75.4,45.4,79,45.4z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M112.5,159h115c1.9,0,3.5,1.6,3.5,3.5l0,0c0,1.9-1.6,3.5-3.5,3.5h-115c-1.9,0-3.5-1.6-3.5-3.5l0,0 C109,160.6,110.6,159,112.5,159z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,198h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,199.8,110.8,198,113,198z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,238h84c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-84c-2.2,0-4-1.8-4-4l0,0C109,239.8,110.8,238,113,238z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,99h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,100.8,110.8,99,113,99z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,139h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,140.8,110.8,139,113,139z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,178h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,179.8,110.8,178,113,178z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,218h90c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-90c-2.2,0-4-1.8-4-4l0,0C109,219.8,110.8,218,113,218z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,79h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,80.8,110.8,79,113,79z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M113,119h114c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H113c-2.2,0-4-1.8-4-4l0,0C109,120.8,110.8,119,113,119z\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 81.5,\n rx: 6,\n ry: 5.5\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 102.5,\n rx: 6,\n ry: 5.5\n })), _ellipse3 || (_ellipse3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 122.5,\n rx: 6,\n ry: 5.5\n })), _ellipse4 || (_ellipse4 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 142.5,\n rx: 6,\n ry: 5.5\n })), _ellipse5 || (_ellipse5 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 162.5,\n rx: 6,\n ry: 5.5\n })), _ellipse6 || (_ellipse6 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 181.5,\n rx: 6,\n ry: 5.5\n })), _ellipse7 || (_ellipse7 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 201.5,\n rx: 6,\n ry: 5.5\n })), _ellipse8 || (_ellipse8 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 221.5,\n rx: 6,\n ry: 5.5\n })), _ellipse9 || (_ellipse9 = /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"st2\",\n cx: 97,\n cy: 241.5,\n rx: 6,\n ry: 5.5\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContractBronze);\nexport default __webpack_public_path__ + \"static/media/contract-bronze.c9138d2ad8051ac6309c443f71701323.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgContractBronze2(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:none;stroke:#575651;stroke-width:6.8176;}\\r\\n\\t.st1{fill:#575651;}\\r\\n\\t.st2{fill:#DE996F;}\\r\\n\\t.st3{fill:none;stroke:#575651;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M79,45.4h165c3.6,0,6.6,3,6.6,6.6v220c0,3.6-3,6.6-6.6,6.6H79c-3.6,0-6.6-3-6.6-6.6V52 C72.4,48.4,75.4,45.4,79,45.4z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M95.7,146.5h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H95.7c-2.2,0-4-1.8-4-4l0,0 C91.7,148.3,93.5,146.5,95.7,146.5z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,186.5h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,188.2,93.8,186.5,96,186.5z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M95.7,126.1h132.9c2.2,0,4,1.8,4,4v0c0,2.2-1.8,4-4,4H95.7c-2.2,0-4-1.8-4-4v0 C91.7,127.9,93.5,126.1,95.7,126.1z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,166h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,167.8,93.8,166,96,166z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,206h132.9c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,207.8,93.8,206,96,206z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96,106h133c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,107.8,93.8,106,96,106z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M96,85h131c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4H96c-2.2,0-4-1.8-4-4l0,0C92,86.8,93.8,85,96,85z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M196.8,64.7h28.4c2.2,0,4,1.8,4,4l0,0c0,2.2-1.8,4-4,4h-28.4c-2.2,0-4-1.8-4-4l0,0 C192.9,66.5,194.6,64.7,196.8,64.7z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M112,240c0.1,2.8,1.5,5.6,3.5,7.6c1.9,1.9,4.5,1.1,6.5-0.1c1.1-0.7,2-1.6,2.9-2.5c1-1,2.4-1.7,3.8-2.1 c3-1,6.5-0.8,8.8,1.5c1.2,1.2,1.7,2.6,2.7,3.9c1.1,1.5,2.7,2.5,4.4,3.2c1.7,0.7,3.5,1,5.3,1.1c2,0.1,4.2,0.4,6.1-0.1 c2.5-0.7,4-3,5.8-4.7c2.7-2.6,7.5-5.8,11.4-4.1c2.1,0.9,3.8,2.3,5.8,3.2c2.3,1,4.8,1.2,7.2,1.4\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M210.8,230.5l91.1-74.2c3.6-2.9,8.9-2.4,11.9,1.2c2.9,3.6,2.4,8.9-1.2,11.9l-91.1,74.2L210.8,230.5z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M209.2,231.6l11.2,13.6l-22.2,6L209.2,231.6z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgContractBronze2);\nexport default __webpack_public_path__ + \"static/media/contract-bronze-2.91ff1e111151ff9ecfd76a6bb682a3fd.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHandGray(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{clip-path:url(#SVGID_2_);}\\r\\n\\t.st1{fill:#575651;stroke:#575651;stroke-miterlimit:10;}\\r\\n\\t.st2{fill:#FFFFFF;filter:url(#Adobe_OpacityMaskFilter);}\\r\\n\\t.st3{mask:url(#path-1-outside-1_1_);fill:none;stroke:#575651;stroke-width:4;}\\r\\n\")), /*#__PURE__*/React.createElement(\"g\", null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n x: 16,\n y: 60,\n width: 292.6,\n height: 203\n }))), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_2_\"\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#SVGID_1_\",\n style: {\n overflow: \"visible\"\n }\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"st0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5 c-0.3,0.2-0.6,0.5-0.8,0.9c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5 c-5.7-5.9-10.6-10.8-13.8-14.1c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9 c-4.7-2.2-8.7-5.6-11.7-9.8c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2 c7.2-6.6,61.9-24.2,68.3-23.4c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2 c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8 c-6-2.4-10.7-4.3-13-4.9c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.2-1.2-0.2c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2 c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2 c5.7,8.9,19.5,17.1,32.6,15.4c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14 c16.2,16.6,38.4,39.4,51,50.5c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3 c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1 c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4 c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6 c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5 c-3,4.3-7.3,7.6-12.3,9.2c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8 c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6 c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1 c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1 c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4 c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9 c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5 c-1.4,1.4-2.6,3.1-3.4,5s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4 c1.9,0.8,3.9,1.2,5.9,1.2c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6 c2.8,1.4,5.9,2.1,9.1,2.3c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5 c3.6,1.3,7.5,1.7,11.3,1.1c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4 c1.5-3.3,2.4-6.9,2.5-10.5c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3 C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18 C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3 c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5 c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8 L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1 c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n }), /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"Adobe_OpacityMaskFilter\",\n filterUnits: \"userSpaceOnUse\",\n x: 14,\n y: 58,\n width: 296.6,\n height: 207\n }, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n maskUnits: \"userSpaceOnUse\",\n x: 14,\n y: 58,\n width: 296.6,\n height: 207,\n id: \"path-1-outside-1_1_\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 14,\n y: 58,\n className: \"st2\",\n width: 297,\n height: 207\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5c-0.3,0.2-0.6,0.5-0.8,0.9 c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5c-5.7-5.9-10.6-10.8-13.8-14.1 c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9c-4.7-2.2-8.7-5.6-11.7-9.8 c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2c7.2-6.6,61.9-24.2,68.3-23.4 c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2 c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2 c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8c-6-2.4-10.7-4.3-13-4.9 c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7c-0.4-0.2-0.8-0.2-1.2-0.2 c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2c0,0.4,0.1,0.8,0.2,1.2 c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2c5.7,8.9,19.5,17.1,32.6,15.4 c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14c16.2,16.6,38.4,39.4,51,50.5 c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4 c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7 c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7 c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6c-0.3,0.3-0.5,0.6-0.7,1 c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5c-3,4.3-7.3,7.6-12.3,9.2 c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8c-0.8,0-1.5,0.3-2.1,0.9 c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3 l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5 c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7 c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2 c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9 c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5c-1.4,1.4-2.6,3.1-3.4,5 s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4c1.9,0.8,3.9,1.2,5.9,1.2 c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6c2.8,1.4,5.9,2.1,9.1,2.3 c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5c3.6,1.3,7.5,1.7,11.3,1.1 c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4c1.5-3.3,2.4-6.9,2.5-10.5 c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174 c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18 c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1 l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2 c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2 c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M307.2,122.8c-0.3-0.2-0.7-0.4-1.1-0.4c-0.4-0.1-0.8-0.1-1.2,0c-0.4,0.1-0.8,0.2-1.1,0.5 c-0.3,0.2-0.6,0.5-0.8,0.9c-9,13.9-35,50.5-48,52.3c-0.5,0.1-1.1,0.1-1.7,0s-1-0.4-1.5-0.8c-12.4-10.9-34.7-33.8-51-50.5 c-5.7-5.9-10.6-10.8-13.8-14.1c-6.5-6.5-21.4-3.4-37.2,0c-5.9,1.3-11.4,2.5-16.4,3.1c-5.2,0.3-10.3-0.7-15-2.9 c-4.7-2.2-8.7-5.6-11.7-9.8c-1.5-2.3-2-4.3-1.3-5.3c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0.1,0,0.1-0.1c0,0,0.1-0.2,0.2-0.2 c7.2-6.6,61.9-24.2,68.3-23.4c1.9,0.5,6.9,2.5,12.2,4.7c15.8,6.5,27.5,11,32.4,10.2c1-0.2,3.2-0.5,26.3-21.2 c0.3-0.3,0.5-0.6,0.7-1c0.2-0.4,0.3-0.8,0.3-1.2c0-0.4,0-0.8-0.2-1.2c-0.1-0.4-0.3-0.7-0.6-1c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.3-1,0.6c-9.8,8.8-21,18.3-23.5,19.7c-4.2,0.2-20.2-6.3-28.9-9.8 c-6-2.4-10.7-4.3-13-4.9c-5.8-1.4-35.1,8.3-38.4,9.4c-12.1,4-26.4,9.4-33.3,14L83.6,68.5c-0.3-0.3-0.6-0.5-1-0.7 c-0.4-0.2-0.8-0.2-1.2-0.2c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.2-0.7,0.4-1,0.7c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2 c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l20.6,20.6c-0.6,1.8-0.7,3.8-0.4,5.6c0.3,1.9,1.1,3.7,2.3,5.2 c5.7,8.9,19.5,17.1,32.6,15.4c5.2-0.7,11.1-1.9,16.9-3.2c12.2-2.6,27.3-5.9,31.6-1.7c3.2,3.2,8,8.2,13.7,14 c16.2,16.6,38.4,39.4,51,50.5c2.3,2.9,3.8,6.4,4.2,10.2c0.4,3.7-0.2,7.5-1.7,10.8c-1.5,3.3-3.9,6.2-6.9,8.3 c-3,2.1-6.4,3.5-10.1,3.9l-40.9-42.4c-0.6-0.6-1.3-0.9-2.1-0.9c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1 c0,0.8,0.3,1.6,0.9,2.2l41.1,42.7c-0.4,2.4-1.3,4.8-2.7,6.9c-1.4,2.1-3.1,3.8-5.2,5.2c-2.5,1.9-5.5,3.1-8.6,3.4 c-3.1,0.3-6.3-0.2-9.1-1.6l-34.9-37.7c-0.3-0.3-0.6-0.6-1-0.7s-0.8-0.3-1.2-0.3c-0.4,0-0.8,0-1.2,0.2c-0.4,0.1-0.7,0.4-1,0.6 c-0.3,0.3-0.5,0.6-0.7,1c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1l33.8,36.5 c-3,4.3-7.3,7.6-12.3,9.2c-2.5,0.9-5.2,1.2-7.9,1c-2.7-0.2-5.3-0.9-7.7-2.1l-19.8-20.1c-0.6-0.5-1.3-0.8-2.1-0.8 c-0.8,0-1.5,0.3-2.1,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.5,0.8,2.1l18.5,18.7c-4.4,6.7-9.9,11-15.2,11.6 c-4.6,0.6-9.3-1.4-13.9-6l-11.2-11.3l3.9-3.8c5.7-5.7,4.9-15.3-2-22.2c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.2-3.1-0.1 c0-2.6-0.5-5.2-1.4-7.7c-1-2.4-2.4-4.6-4.3-6.5c-1.9-1.9-4.1-3.3-6.5-4.3c-2.4-1-5-1.5-7.7-1.4c0.1-1,0.1-2.1-0.1-3.1 c-0.6-4.2-2.6-8.1-5.7-11c-3-3.1-6.8-5.1-11-5.7c-1-0.1-2.1-0.1-3.1,0c0.1-2.6-0.3-5.3-1.3-7.7c-1-2.4-2.5-4.6-4.4-6.4 c-6.9-6.9-16.4-7.8-22.2-2l-3.2,3.2c-2.4-3.2-4.2-6.7-5.5-10.5c-0.1-0.5-0.4-0.9-0.7-1.3l-13.3-13.7c-0.6-0.6-1.3-0.9-2.1-0.9 c-0.8,0-1.6,0.3-2.2,0.9c-0.6,0.6-0.9,1.3-0.9,2.1c0,0.8,0.3,1.6,0.9,2.2l12.8,13.3c1.6,4.5,3.8,8.6,6.7,12.4l-3.5,3.5 c-1.4,1.4-2.6,3.1-3.4,5s-1.2,3.9-1.2,5.9c0,2,0.4,4.1,1.2,5.9s1.9,3.6,3.4,5l61.9,61.9c1.4,1.4,3.1,2.6,5,3.4 c1.9,0.8,3.9,1.2,5.9,1.2c2,0,4.1-0.4,5.9-1.2c1.9-0.8,3.6-1.9,5-3.4l2.9-2.9l11.2,11.3c2.1,2.4,4.6,4.3,7.5,5.6 c2.8,1.4,5.9,2.1,9.1,2.3c0.8,0,1.6,0,2.5-0.2c7.1-0.9,14.1-6.1,19.4-14.3c5.8,2.2,12.2,2.4,18.1,0.4c6.3-2,11.7-6.1,15.5-11.5 c3.6,1.3,7.5,1.7,11.3,1.1c3.8-0.6,7.4-2.1,10.5-4.4c5.3-3.6,9-9.2,10.3-15.5c4.4-0.7,8.6-2.5,12.2-5.2c3.6-2.7,6.5-6.3,8.4-10.4 c1.5-3.3,2.4-6.9,2.5-10.5c0.1-3.6-0.6-7.2-2.1-10.6c18.1-2.7,48.8-49.6,52.2-55c0.4-0.7,0.5-1.5,0.4-2.3 C308.4,123.9,307.9,123.2,307.2,122.8z M101.6,197.8c4.4,4.4,5.3,10.3,2,13.6v0l-17.4,18l-15.6-15.6l17.4-18 C91.3,192.5,97.1,193.4,101.6,197.8z M74.3,174c2.8,0.5,5.5,1.9,7.4,4c2.1,2,3.5,4.6,4,7.4c0.2,1.1,0.1,2.2-0.3,3.3 c-0.3,1.1-0.9,2-1.7,2.8v0h0l-17.4,18l-15.6-15.6l17.4-18c0.8-0.8,1.8-1.3,2.8-1.7C72,173.9,73.2,173.8,74.3,174L74.3,174z M34.4,173.8c0-1.2,0.2-2.5,0.7-3.6c0.5-1.1,1.2-2.2,2.1-3.1l11.1-11.1c0.7-0.7,1.5-1.2,2.3-1.5c0.9-0.3,1.8-0.5,2.7-0.5 c3.3,0.2,6.3,1.6,8.5,4c4.4,4.4,5.3,10.3,2,13.6h0l-17.4,18l-9.2-9.2c-0.9-0.9-1.6-1.9-2-3C34.7,176.3,34.4,175.1,34.4,173.8 L34.4,173.8z M99.1,242.4l-8.6-8.6l17.4-18c3.3-3.3,9.2-2.5,13.6,2c4.4,4.4,5.3,10.3,2,13.6l-6,6l-5.1,5.1 c-1.8,1.7-4.2,2.7-6.7,2.7C103.3,245,100.9,244.1,99.1,242.4z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHandGray);\nexport default __webpack_public_path__ + \"static/media/hand-gray.beee68f2eb2cc786023db86390b90d3b.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgStandardsBronze(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 323 323\",\n style: {\n enableBackground: \"new 0 0 323 323\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#DE996F;stroke:#DE996F;}\\r\\n\\t.st1{fill:#575651;stroke:#575651;stroke-width:2;}\\r\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M188.8,233.6c0,21.4,17.5,38.9,38.9,38.9s38.9-17.5,38.9-38.9s-17.5-38.9-38.9-38.9S188.8,212.2,188.8,233.6z M195.1,234c0-18,14.6-32.6,32.6-32.6c17.7,0,32.6,14.6,32.6,32.6c0,18-14.6,32.6-32.6,32.6S195.1,252,195.1,234z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M221,252L221,252L221,252c0.3,0.1,0.4,0.2,0.5,0.3l0,0c0.1,0.1,0.3,0.2,0.4,0.2c0.3,0.2,0.7,0.3,1.1,0.3h0 c0.3,0,0.8,0,1.2-0.2c0.5-0.2,0.9-0.5,1.3-1.1l25.3-28.8l0,0l0,0c0.8-1.2,0.8-3.3-0.4-4.5l0,0l0,0c-1.2-0.8-3.3-0.8-4.5,0.4l0,0l0,0 l-23.3,26.4l-15.5-12.4l0,0l0,0c-0.8-0.6-1.6-0.8-2.4-0.7c-0.8,0.1-1.5,0.5-2.1,1.1l0,0l0,0c-0.6,0.8-0.8,1.6-0.7,2.4 c0.1,0.8,0.5,1.5,1.1,2.1l0,0l0,0L221,252z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M117.8,141.1c0-4.4-3.6-8.4-8.4-8.4c-4.4,0-8.4,3.6-8.4,8.4c0,4.4,3.6,8.4,8.4,8.4 C114.2,149.4,117.8,145.8,117.8,141.1z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M160.5,141.1c0,4.4,3.6,8.4,8.4,8.4c4.4,0,8.4-3.6,8.4-8.4c0-4.4-3.6-8.4-8.4-8.4 C164.1,132.7,160.5,136.7,160.5,141.1z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M75.9,241.4L75.9,241.4c14,14,34.7,21.1,60.9,21.1h4.6c14.9,0,27.7-2.5,38.8-7.1l0,0l0,0c0.9-0.4,1.6-1.1,2-2 c0.4-0.9,0.4-1.9-0.1-2.9c-0.4-0.9-1.1-1.6-2-2c-0.9-0.4-1.9-0.4-2.8,0.1c-9.7,4.1-21.9,6.2-35.8,6.2h-4.6 c-24.8,0-43.2-6.6-55.6-19.1c-15.9-16.2-15.9-38.1-15.9-38.4c0-0.1,0-1.9-0.1-5c-0.1-6.4-0.3-18.3-0.5-31.2 c-0.3-19.1-0.5-40.6-0.5-50.4c0-13,0.6-26.3,4.6-36.3c2-5,4.8-9.1,8.8-12c3.9-2.9,9.1-4.6,15.9-4.6h88c6.8,0,11.9,1.7,15.9,4.6 c3.9,2.9,6.8,7,8.8,12c4,10,4.6,23.3,4.6,36.3c0,6.3,0,55.6-0.4,68.6v0v0c0,1.1,0.3,2,1,2.7c0.6,0.7,1.5,1.1,2.5,1.1 c1.1,0,2-0.3,2.7-1c0.7-0.6,1.1-1.5,1.1-2.5c0.4-13.1,0.4-62.3,0.4-68.6v0v-0.1c0-9.7,0-24.6-4.5-37.1c-2.3-6.3-5.7-12.1-10.9-16.2 c-5.2-4.2-12.1-6.7-21.2-6.7h-88c-9.1,0-16,2.6-21.2,6.8c-5.2,4.2-8.6,10-10.9,16.3c-4.5,12.6-4.5,27.5-4.5,37v0.1 c0,9.9,0.3,31.3,0.5,50.4c0.1,9.5,0.3,18.5,0.4,25.1c0,2.4,0.1,4.5,0.1,6.2l0,1.7c0,1,0,1.7,0,2.2l0,0.6l0,0.1c0,0.2,0,0.4-0.1,0.5 c0,0.3,0,0.6,0,1c0,0.8,0,1.9,0.2,3.3c0.2,2.7,0.8,6.4,1.9,10.6C62.3,221.4,66.8,232.1,75.9,241.4z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M96.4,204.8c10.5,10.5,26.6,15.4,42.6,15.4c15.3,0,30.7-4.6,40.1-14.4c1.4-1.4,1.4-3.8,0-5.3 c-1.4-1.4-3.8-1.4-5.3,0c-8.4,8.4-22,12.6-35.8,12.4c-13.8-0.2-27.6-4.7-36.4-13.4c-1.4-1.4-3.8-1.4-5.3,0 C94.9,200.9,94.9,203.3,96.4,204.8z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M88.5,76.6L88.5,76.6L88.5,76.6c-0.5-0.9-1.2-1.7-2-2c-0.9-0.4-1.9-0.4-2.9,0.1c-0.9,0.4-1.6,1.1-2,2 c-0.4,0.9-0.4,1.9,0.1,2.8c4.3,10.8,11.8,18.4,24.5,23.2c12.7,4.8,30.6,6.9,56,6.9c9.5,0,20.1-0.4,32.4-1.1c1,0,1.9-0.5,2.5-1.2 c0.6-0.7,0.9-1.6,0.9-2.6c0-1.1-0.5-1.9-1.2-2.5c-0.7-0.6-1.6-0.9-2.6-0.9h0l0,0c-35.9,1.8-60.2,1-76.5-2.9c-8.2-2-14.4-4.7-19-8.3 C93.9,86.6,90.7,82.1,88.5,76.6z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgStandardsBronze);\nexport default __webpack_public_path__ + \"static/media/standards-bronze.f57a7426dbd3a53f9e4dd5ed50295487.svg\";\nexport { ForwardRef as ReactComponent };","import contract_bronze from 'img/icons/contract-bronze.svg'\r\nimport contract_bronze_2 from 'img/icons/contract-bronze-2.svg'\r\nimport hand_gray from 'img/icons/hand-gray.svg'\r\nimport standards_bronze from 'img/icons/standards-bronze.svg'\r\n// import contract_bronze from 'img/icons/contract-bronze.svg'\r\n// import contract_bronze_2 from 'img/icons/contract-bronze-2.svg'\r\nexport interface ITerm {\r\n\ttitle: string\r\n\titems: ITermItem[]\r\n}\r\nexport interface ITermItem {\r\n\tcountry: string\r\n\ttitle: string\r\n\ticon: string\r\n\tid: string\r\n}\r\n\r\nexport const termItemsCard: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '1',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '2',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ConditionOverview',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '3',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '4',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'EuropeanStandard',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '5',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '6',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'IDAndTheftInsurance',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '7',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'TravelInsurance',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '8',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '9',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '10',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'ConditionOverview',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '11',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'InsuraceCondition',\r\n\t\t\ticon: hand_gray,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '12',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'EuropeanStandard',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '20',\r\n\t\t\tcountry: 'at',\r\n\t\t\ttitle: 'BankingSecrecyRelease',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '24',\r\n\t\t\tcountry: 'it',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '55',\r\n\t\t\tcountry: 'es',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t],\r\n}\r\n\r\nexport const termItemsDeposit: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '14',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '15',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '16',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ProductInformationSheet',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '17',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '18',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '19',\r\n\t\t\tcountry: 'no',\r\n\t\t\ttitle: 'NorwegianDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t],\r\n}\r\n\r\nexport const termItemsDepositFixed: ITerm = {\r\n\ttitle: 'TermsOfContract',\r\n\titems: [\r\n\t\t{\r\n\t\t\tid: '21',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'CreditCardTermsCondition',\r\n\t\t\ticon: contract_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '22',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'SwedishDepositGuarantee',\r\n\t\t\ticon: standards_bronze,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: '23',\r\n\t\t\tcountry: 'de',\r\n\t\t\ttitle: 'ProductInformationSheet',\r\n\t\t\ticon: contract_bronze_2,\r\n\t\t},\r\n\t],\r\n}\r\n","import axios from '../axios'\r\nimport { logError } from 'shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from 'app.config'\r\nexport interface SspLinkData {\r\n\tpartitionKey: string\r\n\trowKey: string\r\n\tlink: string\r\n}\r\n\r\nasync function getSspTermsService() {\r\n\tconst response = await axios\r\n\t\t.get(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/CustomerService/ssp/agrementlinks`,\r\n\t\t\tawait getHeadersWithJwtToken()\r\n\t\t)\r\n\t\t.then((result) => {\r\n\t\t\tif (result !== undefined) {\r\n\t\t\t\treturn result.data as SspLinkData[]\r\n\t\t\t}\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tif (err.response?.status === 404) {\r\n\t\t\t\tthrow new Error('No documents found in database')\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(err.response.message)\r\n\t\t\t}\r\n\t\t})\r\n\treturn response as SspLinkData[]\r\n}\r\nexport default getSspTermsService\r\n","import React, {\r\n\tuseContext,\r\n\tuseEffect,\r\n\tuseState,\r\n\tuseCallback,\r\n\tuseMemo,\r\n} from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nimport { checkIsMobile, CircleSpinner } from 'shared'\r\n\r\nimport {\r\n\tITermItem,\r\n\ttermItemsCard,\r\n\ttermItemsDeposit,\r\n\ttermItemsDepositFixed,\r\n} from './termsConstants'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport getSspTermsService, {\r\n\tSspLinkData,\r\n} from 'selfServicePortal/services/CustomerServices/SspTermsService'\r\n\r\nimport './Terms.scss'\r\n\r\nexport const Terms = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { isCard, productType, overviewData } = useContext(SspContext)\r\n\r\n\tconst terms = useMemo(() => {\r\n\t\treturn isCard?.isCard\r\n\t\t\t? termItemsCard\r\n\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t ? termItemsDepositFixed\r\n\t\t\t : termItemsDeposit\r\n\t}, [isCard, productType])\r\n\r\n\tconst [sspLinkData, setSspLinkData] = useState([])\r\n\tconst [termsDoc, setTermsDoc] = useState([])\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState(false)\r\n\r\n\tconst getTerms = useCallback(() => {\r\n\t\ttry {\r\n\t\t\tconst supportedCountries = ['de', 'at', 'no', 'es', 'it']\r\n\t\t\tif (supportedCountries.includes(appConfig.country)) {\r\n\t\t\t\tconst countryTerms = terms.items.filter(\r\n\t\t\t\t\t(i) => i.country === appConfig.country,\r\n\t\t\t\t)\r\n\t\t\t\tsetTermsDoc(countryTerms)\r\n\t\t\t} else {\r\n\t\t\t\tsetTermsDoc([])\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Error fetching terms:', error)\r\n\t\t\tsetTermsDoc([])\r\n\t\t}\r\n\t}, [terms])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetTerms()\r\n\t}, [getTerms])\r\n\r\n\tconst getTermsDocuments = useCallback(async () => {\r\n\t\ttry {\r\n\t\t\tconst result = await getSspTermsService()\r\n\t\t\tsetSspLinkData(result)\r\n\t\t} catch (err) {\r\n\t\t\tconsole.warn(\r\n\t\t\t\t'Something went wrong trying to fetch links for terms: ',\r\n\t\t\t\terr,\r\n\t\t\t)\r\n\t\t\tsetError(true)\r\n\t\t} finally {\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetTermsDocuments()\r\n\t}, [getTermsDocuments])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t(terms.title)}

\r\n\t\t\t\t
\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t
{t('ErrorMsg')}
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{termsDoc.map((item, key) => {\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t(overviewData?.productId ===\r\n\t\t\t\t\t\t\t\t\t\t\t'BBF.VISA_VSDC_CL.CRDACC_P1' ||\r\n\t\t\t\t\t\t\t\t\t\t\toverviewData?.productId ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t'BBF.VISA_VSDC_CG.CRDACC_P6') &&\r\n\t\t\t\t\t\t\t\t\t\titem.title === 'InsuraceCondition'\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\treturn null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{sspLinkData\r\n\t\t\t\t\t\t\t\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(link) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink.partitionKey ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.id &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlink.link !== '',\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map((link, index) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(item.title)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { logError } from '../../../shared'\r\nimport { ISupportDataSsp } from '../../interfaces/i-api-support'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function sendEmailSspService(email: ISupportDataSsp) {\r\n\tconst { data } = await Axios.post(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/support/ssp/email`,\r\n\t\temail,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(err)\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default sendEmailSspService\r\n","export interface ICountryValues {\r\n\tcountry: string\r\n\ttfFullName: string\r\n\tcopyRight: string\r\n\taddress: IAddress\r\n\tlinks: () => ILinks\r\n\tproductSpecific: IProductInformation[]\r\n}\r\n\r\nexport enum CountryValuesProductType {\r\n\tCard = 'Card',\r\n\tDeposit = 'Deposit',\r\n\tDeposit_Fixed = 'Deposit_Fixed',\r\n\tLoan = 'Loan',\r\n\tAll = 'All',\r\n}\r\n\r\ninterface IProductInformation {\r\n\tproductType: CountryValuesProductType\r\n\tbankInformation?: IBankInformation\r\n\tcontactInformation: IContactInformation\r\n}\r\n\r\ninterface IContactInformation {\r\n\temail: string\r\n\temail2?: string\r\n\tphoneNumber?: string\r\n\tphoneNumber2?: string\r\n\topeningHours?: string\r\n}\r\n\r\ninterface IBankInformation {\r\n\tiban: string\r\n\tbic: string\r\n}\r\n\r\nexport interface ILinks {\r\n\tabout?: ILinkProps\r\n\tforms?: ILinkProps\r\n\tfinancialDifficulties?: ILinkProps\r\n\tconsumerLoan?: ILinkProps\r\n\tcookie: ILinkProps\r\n\tloanSecurity?: ILinkProps\r\n\tfaq?: ILinkProps\r\n\tlegal?: ILinkProps\r\n\tdataProtection?: ILinkProps\r\n\tcashLoan?: ILinkProps\r\n\tcarLoan?: ILinkProps\r\n\trenovationLoan?: ILinkProps\r\n\trefinance?: ILinkProps\r\n}\r\n\r\ninterface ILinkProps {\r\n\ttitle?: string\r\n\tlink: string\r\n}\r\n\r\ninterface IAddress {\r\n\tpostalAddress?: string\r\n\tcompanyName: string\r\n\taddressLine1: string\r\n\taddressLine2?: string\r\n\tzipCodeAndCity: string\r\n\tcountry?: string\r\n}\r\n","import React, { useContext, useState } from 'react'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tISupportDataSsp,\r\n\tProductType,\r\n} from 'selfServicePortal/interfaces/i-api-support'\r\nimport { Heading } from '../../../../components/index'\r\nimport sendEmailSspService from '../../../../services/SupportServices/sendEmailSspService'\r\n\r\nimport {\r\n\tCustomerForm,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n} from 'shared'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport {\r\n\tCountryValuesProductType,\r\n\tICountryValues,\r\n} from 'shared/constants/countryValueTypes'\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nimport './Contact.scss'\r\n\r\nconst Contact = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst {\r\n\t\tisCard,\r\n\t\tcustomerData,\r\n\t\tsuccess,\r\n\t\tsetSuccess,\r\n\t\tstaticCountryValues,\r\n\t\tproductType,\r\n\t} = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst formSchema = FormFactory(CustomerForm.ContactForm, {\r\n\t\tformName: 'customerData',\r\n\t\tblockName: 'customerData',\r\n\t\tmarket: getMarket(),\r\n\t\tlocale: getLanguageLocale(),\r\n\t\tgetDataUrl: '',\r\n\t\tvalidationErrorList: false,\r\n\t\trequiredMessage: t('ValidateRequired'),\r\n\t\tsubmitButtonText: t('Send'),\r\n\t})\r\n\r\n\tconst submit = async (info: ISupportDataSsp) => {\r\n\t\tsetLoading(true)\r\n\t\tinfo.productType = isCard?.isCard\r\n\t\t\t? ProductType.Card\r\n\t\t\t: ProductType.Deposit\r\n\r\n\t\ttry {\r\n\t\t\tawait sendEmailSspService({\r\n\t\t\t\t...info,\r\n\t\t\t\tcountryCode: appConfig.country,\r\n\t\t\t\temailFrom: customerData?.email!,\r\n\t\t\t\tsubject: `[SSP][${appConfig.country}] ${info.subject}`,\r\n\t\t\t})\r\n\t\t\tsetSuccess({ ...success, contactForm: true })\r\n\t\t\tsetLoading(false)\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\r\n\tinterface IServiceProps {\r\n\t\tval: ICountryValues\r\n\t}\r\n\r\n\tconst ServiceInformationGermanyAustria = ({ val }: IServiceProps) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{val.productSpecific.map((value, key) => {\r\n\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t'CustomerService',\r\n\t\t\t\t\t\t\t\t)} ${\r\n\t\t\t\t\t\t\t\t\tvalue.productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Card\r\n\t\t\t\t\t\t\t\t\t\t? t('MastercardGold')\r\n\t\t\t\t\t\t\t\t\t\t: value.productType ===\r\n\t\t\t\t\t\t\t\t\t\t CountryValuesProductType.Deposit_Fixed\r\n\t\t\t\t\t\t\t\t\t\t ? t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t'CustomerServicesDepositFixedAccount',\r\n\t\t\t\t\t\t\t\t\t\t )\r\n\t\t\t\t\t\t\t\t\t\t : t('CustomerServicesDepositAccount')\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t{value.contactInformation.email ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{value.contactInformation.email}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.openingHours}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{val.tfFullName}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{val.address.addressLine1}
\r\n\t\t\t\t\t\t\t\t\t
{val.address.zipCodeAndCity}
\r\n\t\t\t\t\t\t\t\t\t
{val.address.country}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Deposit && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tKontoverbindung\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t\t\t'IBAN',\r\n\t\t\t\t\t\t\t\t\t\t)}: ${value.bankInformation\r\n\t\t\t\t\t\t\t\t\t\t\t?.iban}`}
\r\n\t\t\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t\t\t'BIC',\r\n\t\t\t\t\t\t\t\t\t\t)}: ${value.bankInformation\r\n\t\t\t\t\t\t\t\t\t\t\t?.bic}`}
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else return null\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst ServiceInformationNorway = ({ val }: IServiceProps) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{val.productSpecific.map((value, key) => {\r\n\t\t\t\t\tif (value.productType === productType) {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{`${t(\r\n\t\t\t\t\t\t\t\t\t'CustomerService',\r\n\t\t\t\t\t\t\t\t)} ${\r\n\t\t\t\t\t\t\t\t\tvalue.productType ===\r\n\t\t\t\t\t\t\t\t\tCountryValuesProductType.Card\r\n\t\t\t\t\t\t\t\t\t\t? t('MastercardGold')\r\n\t\t\t\t\t\t\t\t\t\t: t('CustomerServicesDepositAccount')\r\n\t\t\t\t\t\t\t\t}`}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.email}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.phoneNumber}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{value.contactInformation.openingHours}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{val.tfFullName}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
{val.address.addressLine1},
\r\n\t\t\t\t\t\t\t\t\t
{val.address.zipCodeAndCity}
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else return null\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{staticCountryValues !== undefined ? (\r\n\t\t\t\t\t\tstaticCountryValues?.country === 'no' ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t{success.contactForm && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{loading &&
}\r\n\t\t\t\t{!success.contactForm && !loading && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t submit(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Contact\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\n\r\nasync function getPinUrlService(cardId: number, t: TFunction) {\r\n const response = await Axios.get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/pin/url?cardId=${cardId}&iMSGetPinCountryType=${appConfig.country}`,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data;\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\nexport default getPinUrlService;","import React, { useContext, useState } from 'react'\r\nimport appConfig from '../../../../../app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport { ICreditBalance } from '../../../../interfaces/i-api-creaditCard'\r\nimport getPinUrlService from '../../../../services/CreditCardServices/getPinUrlService'\r\nimport { checkIsMobile, getErrorWithFullMessage } from 'shared'\r\nimport { Heading } from '../../../../components/index'\r\n\r\nimport './ShowPin.scss'\r\n\r\nconst ShowPin = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst { overviewData } = useContext(SspContext)\r\n\tconst [creditCardData] = useState(overviewData as ICreditBalance)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [url, setUrl] = useState('')\r\n\r\n\tconst iframeHeight = {\r\n\t\theight: checkIsMobile() ? '300px' : '225px',\r\n\t}\r\n\r\n\tconst showPin = async () => {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tawait getPinUrlService(creditCardData?.cardID, t)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetUrl(response.data.url + `&lang=${appConfig.country}`)\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => setLoading(false))\r\n\t\t} catch (error: any) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{error && <>{error.message}}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t showPin()}>\r\n\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\tt('ShowPIN')\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default ShowPin\r\n","import axios from '../axios'\r\nimport { TFunction } from 'i18next'\r\nimport { IUpdateCustomer } from '../../interfaces/i-api-customer'\r\nimport { logError } from '../../../shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from '../../../app.config'\r\n\r\nasync function updateCustomerService(\r\n\tcustomerData: IUpdateCustomer,\r\n\tt: TFunction\r\n) {\r\n\tif (customerData.mobilePhoneNumber) {\r\n\t\tcustomerData.mobilePhoneNumber =\r\n\t\t\tcustomerData.mobilePhoneNumber.replaceAll(' ', '')\r\n\r\n\t\tcustomerData.mobilePhoneNumber =\r\n\t\t\tcustomerData.mobilePhoneNumber.startsWith('+490')\r\n\t\t\t\t? customerData.mobilePhoneNumber.replace(/^(\\+490)/, '+49')\r\n\t\t\t\t: customerData.mobilePhoneNumber\r\n\t}\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/mobileapp/updatecustomer`,\r\n\t\t\tcustomerData,\r\n\t\t\tawait getHeadersWithJwtToken()\r\n\t\t)\r\n\t\t.then((data) => {\r\n\t\t\tif (data.status === 200) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport default updateCustomerService\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\n\r\nexport const CustomerInformationForm = (data: ICustomer) => {\r\n\tconst { t } = useTranslation()\r\n\treturn {\r\n\t\tfieldSetName: t('ContactInformationHeader'),\r\n\t\tformName: 'CustomerInformation',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 50,\r\n\t\t\t\tcol: 9,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgStreet'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: false,\r\n\t\t\t\tcontrolName: 'customer.houseNumber',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Nr'),\r\n\t\t\t\tvalue: data.houseNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 3,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.postalCode',\r\n\t\t\t\ttype: 'number',\r\n\t\t\t\tlabel: t('Zip'),\r\n\t\t\t\tvalue: data.postalCode,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 4,\r\n\t\t\t\tmaxLength: 5,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue:\r\n\t\t\t\t\t\t\tappConfig.country === 'de'\r\n\t\t\t\t\t\t\t\t? '\\\\b\\\\d{5}\\\\b'\r\n\t\t\t\t\t\t\t\t: '\\\\b\\\\d{4}\\\\b',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgZip'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.city',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('City'),\r\n\t\t\t\tvalue: data.city,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\treadonly: true,\r\n\t\t\t\tcol: 8,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.mobilePhoneNumber',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\toptions: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalue: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t\tlabel: appConfig.country.toUpperCase(),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'Invalid',\r\n\t\t\t\t\t\tmessage: t('InvalidPhone'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcountryCode: 'NO',\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.email',\r\n\t\t\t\ttype: 'email',\r\n\t\t\t\tlabel: t('Email'),\r\n\t\t\t\tvalue: data.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '\\\\S+@\\\\S+\\\\.\\\\S+',\r\n\t\t\t\t\t\tmessage: t('ValidationMsgEmail'),\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\n\r\nimport {\r\n\tBoxInfo,\r\n\tCircleSpinner,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n} from 'shared/index'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Heading } from '../../../../components/index'\r\nimport updateCustomerService from '../../../../services/CustomerServices/updateCustomerService'\r\nimport {\r\n\tICustomer,\r\n\tIUpdateCustomer,\r\n} from 'selfServicePortal/interfaces/i-api-customer'\r\nimport './MyAccountNo.scss'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { CustomerInformationForm } from 'shared/formBuilder/forms/customerInformationForm'\r\n\r\ninterface ISubmitCustomerInformation {\r\n\tcustomer: ICustomer\r\n\tformMeta: any\r\n}\r\n\r\nconst MyAccountNo = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [customerInformation, setCustomerInformation] = useState<\r\n\t\tIUpdateCustomer | undefined\r\n\t>(undefined)\r\n\r\n\tconst formSchema = FormWrapper(\r\n\t\t[CustomerInformationForm(customerData as any)],\r\n\t\t{\r\n\t\t\tformName: 'Contact',\r\n\t\t\tblockName: 'Contact',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t)\r\n\r\n\tconst submit = (customer: ICustomer) => {\r\n\t\tsetLoading(true)\r\n\t\tif (customerData) {\r\n\t\t\tsetCustomerInformation({\r\n\t\t\t\t...customer,\r\n\t\t\t\tcustomerId: customerData.customerId,\r\n\t\t\t\tbankId: customerData.bankId,\r\n\t\t\t\tmobilePhoneNumber:\r\n\t\t\t\t\tcustomer.mobilePhoneNumber ??\r\n\t\t\t\t\tcustomerData.mobilePhoneNumber,\r\n\t\t\t\temail: customer.email ?? customerData.email,\r\n\t\t\t\tshortAddress: `${customer.street + ' ' + customer.houseNumber}`,\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetCustomerInformation({\r\n\t\t\t\t...customer,\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst updateCustomerInformation = async (\r\n\t\t\tcustomerInfo: IUpdateCustomer,\r\n\t\t) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait updateCustomerService(customerInfo, t)\r\n\t\t\t\tsetSuccess(true)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t} catch (e: any) {\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tsetSuccess(false)\r\n\t\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (customerInformation) {\r\n\t\t\tupdateCustomerInformation(customerInformation!)\r\n\t\t}\r\n\t\treturn () => {}\r\n\t}, [customerInformation, t])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{loading && }\r\n\t\t\t\t{success && !loading && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!loading && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tsubmit(values.customer)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default MyAccountNo\r\n","import React, { ReactNode } from 'react'\r\nimport clsx from 'clsx'\r\nimport './stepper.scss'\r\nimport { StepperReturn } from './use-stepper'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface StepperProps {\r\n\tactiveStep: number\r\n\tstepAmount: number\r\n}\r\n\r\nexport function Stepper({ activeStep, stepAmount }: StepperProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{Array(stepAmount)\r\n\t\t\t\t.fill(undefined)\r\n\t\t\t\t.map((_, i) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface StepperBackButtonProps {\r\n\tstepper: StepperReturn\r\n}\r\n\r\nexport function StepperBackButton({ stepper }: StepperBackButtonProps) {\r\n\tconst { t } = useTranslation()\r\n\tif (stepper.isFirstStep) {\r\n\t\treturn null\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\ninterface StepperHeaderProps {\r\n\tchildren: ReactNode\r\n}\r\n\r\nexport function StepperHeader({ children }: StepperHeaderProps) {\r\n\treturn
{children}
\r\n}\r\n","import * as React from 'react'\r\n\r\nexport type UseStepperParams = {\r\n\tinitialStep?: number\r\n\tstepAmount: number\r\n}\r\n\r\nexport type StepperReturn = ReturnType\r\n\r\nexport function useStepper({ initialStep = 1, stepAmount }: UseStepperParams) {\r\n\tconst [activeStep, setActiveStep] = React.useState(initialStep)\r\n\r\n\tconst isFirstStep = activeStep === 1\r\n\r\n\tconst isLastStep = activeStep === stepAmount\r\n\r\n\tconst nextStep = () => {\r\n\t\tif (!isLastStep) {\r\n\t\t\tsetActiveStep((prev) => prev + 1)\r\n\t\t}\r\n\t}\r\n\r\n\tconst prevStep = () => {\r\n\t\tif (!isFirstStep) {\r\n\t\t\tsetActiveStep((prev) => prev - 1)\r\n\t\t}\r\n\t}\r\n\r\n\tconst resetSteps = () => {\r\n\t\tsetActiveStep(initialStep)\r\n\t}\r\n\r\n\treturn {\r\n\t\tstepAmount,\r\n\t\tnextStep,\r\n\t\tprevStep,\r\n\t\tresetSteps,\r\n\t\tactiveStep,\r\n\t\tisFirstStep,\r\n\t\tisLastStep,\r\n\t}\r\n}\r\n","import appConfig from 'app.config'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { checkIsMobile } from 'shared/utils/helpers'\r\n\r\nexport const AccountAddressFormDE_AT = (data: ICustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'CustomerInformation',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.name',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Name'),\r\n\t\t\t\tvalue: `${data.firstName} ${data.lastName}`,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tdisabled: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcontrolName: 'customer.street',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tlabel: t('Street'),\r\n\t\t\t\tvalue: data.street,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t\tcol: isMobile ? 12 : 9,\r\n\t\t\t\tvalidations: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcode: 'MustMatchPattern',\r\n\t\t\t\t\t\tvalue: '^$|^[^0-9!@#$%^&*()_+=|\\\\{};> {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'AccountEmailForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.email',\r\n\t\t\t\ttype: 'email',\r\n\t\t\t\tlabel: t('Email'),\r\n\t\t\t\tvalue: data.email,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 40,\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n\r\nexport const AccountMobilePhoneFormDE_AT = (data: ICustomer) => {\r\n\tconst { t } = useTranslation(['translation', 'forms'])\r\n\treturn {\r\n\t\tfieldSetName: '',\r\n\t\tformName: 'AccountMobilePhoneForm',\r\n\t\tdescription: '',\r\n\t\tcollapsable: false,\r\n\t\tvisible: true,\r\n\t\tmarket: appConfig.country,\r\n\t\tfullSize: true,\r\n\t\tcol: 12,\r\n\t\tcontrols: [\r\n\t\t\t{\r\n\t\t\t\tcontrolName: 'customer.mobilePhoneNumber',\r\n\t\t\t\ttype: 'tel', //change back to phoneNumber when formbuilder is updated\r\n\t\t\t\tlabel: t('PhoneNumber'),\r\n\t\t\t\tvalue: data.mobilePhoneNumber,\r\n\t\t\t\tvisible: true,\r\n\t\t\t\tfullSize: true,\r\n\t\t\t\tcol: 12,\r\n\t\t\t\tmaxLength: 15,\r\n\t\t\t\tcountryCode: 'DE',\r\n\t\t\t\twrapperClass: 'tel-container-wrapper ' + appConfig.country, //Add this class for now when using type \"tel\"\r\n\t\t\t},\r\n\t\t],\r\n\t}\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket } from 'shared/index'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { AccountAddressFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\n\r\nfunction deriveAddressForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountAddressFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface AddressFormProps {\r\n\tonSuccess: (customer: ICustomer) => void\r\n}\r\n\r\nexport function AddressForm({ onSuccess }: AddressFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst adressFormSchema = deriveAddressForm(\r\n\t\t{\r\n\t\t\tformName: 'address',\r\n\t\t\tblockName: 'address',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('AddressChangeButton'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t onSuccess(customer)}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n","import {\r\n\tIOtpSessionResponse,\r\n\tOtpDistributionChannel,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport appConfig from 'app.config'\r\nimport { logError } from 'shared'\r\n\r\nexport enum ContactInfoChangeType {\r\n\tUnknown,\r\n\tPhoneNumber,\r\n\tEmail,\r\n\tAddress,\r\n}\r\n\r\nexport interface InitiateUserUpdateParams {\r\n\tnewContactDetail?: string\r\n\taddress?: {\r\n\t\tshortAddress: string\r\n\t\tcity: string\r\n\t\tstreet: string\r\n\t\thouseNumber: string\r\n\t\tapartmentNumber: string\r\n\t\tpostalCode: string\r\n\t}\r\n\tchangeType: ContactInfoChangeType\r\n\tcustomerId?: string\r\n\ttitle?: string\r\n\tfirstName?: string\r\n\tlastName?: string\r\n\temailAddress?: string\r\n\tphoneNumber?: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: string | undefined\r\n}\r\n\r\nexport interface CompleteUserUpdateParams {\r\n\tcustomerId: string | undefined\r\n\tsessionId: string | undefined\r\n\totpCode: string\r\n}\r\n\r\nexport async function initiateUserUpdate(params: InitiateUserUpdateParams) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/update/initiate`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport const completeUserUpdateErrors: Record = {\r\n\t'validation-failed': 'Validierung fehlgeschlagen',\r\n\t'data-not-found':\r\n\t\t'Login-Vorgang konnte nicht gefunden werden oder ist abgelaufen.',\r\n\t'address-change-not-allowed':\r\n\t\t'Ihre Adresse kann nur einmal innerhalb von 90 Tagen geändert werden. Sollten Sie die Änderung trotzdem vornehmen wollen, kontaktieren Sie uns bitte per E-Mail an service@tfbank.de.',\r\n\t'address-change-pending':\r\n\t\t'Ihre Kontaktinformationen können derzeit nicht geändert werden. Eine Änderung ist derzeit bereits in Bearbeitung.',\r\n\t'entity-already-exists':\r\n\t\t'Die Kontaktinformation wird bereits in einem anderen Konto verwendet.',\r\n}\r\n\r\nexport function deriveUserUpdateError(error: string, isDeposit: boolean) {\r\n\tconst isAT = appConfig.country === 'at'\r\n\r\n\tif (isAT && isDeposit && error === 'address-change-not-allowed') {\r\n\t\treturn 'Ihre Adresse kann nur einmal innerhalb von X Tagen geändert werden.'\r\n\t}\r\n\treturn completeUserUpdateErrors[error]\r\n}\r\n\r\nexport async function completeUserUpdate(params: CompleteUserUpdateParams) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/update/complete`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n\r\nexport async function rejectContactInfoChange(id: string) {\r\n\tconst response = await axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/user/rejectcontactinfochange/${id}`,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n\treturn response\r\n}\r\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSmartphone(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 20,\n viewBox: \"0 0 13 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.5 3C1.5 2.17157 2.17157 1.5 3 1.5H10C10.8284 1.5 11.5 2.17157 11.5 3V17C11.5 17.8284 10.8284 18.5 10 18.5H8C8 18.2239 7.77614 18 7.5 18H5.5C5.22386 18 5 18.2239 5 18.5H3C2.17157 18.5 1.5 17.8284 1.5 17V3ZM3 0.5C1.61929 0.5 0.5 1.61929 0.5 3V17C0.5 18.3807 1.61929 19.5 3 19.5H10C11.3807 19.5 12.5 18.3807 12.5 17V3C12.5 1.61929 11.3807 0.5 10 0.5H3ZM5 2C4.72386 2 4.5 2.22386 4.5 2.5C4.5 2.77614 4.72386 3 5 3H8C8.27614 3 8.5 2.77614 8.5 2.5C8.5 2.22386 8.27614 2 8 2H5Z\",\n fill: \"#EE8446\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmartphone);\nexport default __webpack_public_path__ + \"static/media/smartphone.93289887d115a3164c82bf5f722dec41.svg\";\nexport { ForwardRef as ReactComponent };","import axios, { AxiosError } from 'axios'\r\n\r\n/** Helper for axios error guard. Default `isAxiosError` crashes when error is `undefined`. */\r\nexport function isAxiosError(error: unknown): error is AxiosError {\r\n\tif (error === undefined || error === null) return false\r\n\treturn axios.isAxiosError(error)\r\n}\r\n\r\ntype ErrorWithMessage = {\r\n\tmessage: string\r\n}\r\n\r\nfunction isErrorWithMessage(error: unknown): error is ErrorWithMessage {\r\n\treturn (\r\n\t\ttypeof error === 'object' &&\r\n\t\terror !== null &&\r\n\t\t'message' in error &&\r\n\t\ttypeof (error as Record).message === 'string'\r\n\t)\r\n}\r\n\r\nfunction toErrorWithMessage(maybeError: unknown): ErrorWithMessage {\r\n\tif (isErrorWithMessage(maybeError)) return maybeError\r\n\r\n\ttry {\r\n\t\treturn new Error(JSON.stringify(maybeError))\r\n\t} catch {\r\n\t\t// fallback in case there's an error stringifying the maybeError\r\n\t\t// like with circular references for example.\r\n\t\treturn new Error(String(maybeError))\r\n\t}\r\n}\r\n\r\nexport function getErrorMessage(error: unknown) {\r\n\treturn toErrorWithMessage(error).message\r\n}\r\n\r\n/**\r\n * Use this when you need to go home and refresh everything.\r\n * This will do a full refresh and opt out of SPA.\r\n * Ideally you would use navigation library along with proper cache invalidation.\r\n */\r\nexport function forceNavigateHome() {\r\n\twindow.location.href = '/'\r\n}\r\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgMail(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.5 6.6665L9.0755 11.0502C9.63533 11.4234 10.3647 11.4234 10.9245 11.0502L17.5 6.6665M4.16667 15.8332H15.8333C16.7538 15.8332 17.5 15.087 17.5 14.1665V5.83317C17.5 4.9127 16.7538 4.1665 15.8333 4.1665H4.16667C3.24619 4.1665 2.5 4.9127 2.5 5.83317V14.1665C2.5 15.087 3.24619 15.8332 4.16667 15.8332Z\",\n stroke: \"#EE8446\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMail);\nexport default __webpack_public_path__ + \"static/media/mail.8a3490f35ad6f239b6705a19ff8f8027.svg\";\nexport { ForwardRef as ReactComponent };","import React, {\r\n\tuseEffect,\r\n\tuseReducer,\r\n\tuseState,\r\n\tcreateContext,\r\n\tuseCallback,\r\n} from 'react'\r\nimport { TranslationFile } from 'i18n'\r\nimport { ProgressBar } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport appConfig from 'app.config'\r\nexport interface IMultistepComponent {\r\n\tid: number\r\n\theader?: string\r\n\tbody: any\r\n\tstepCompleted: boolean\r\n\tshow?: boolean\r\n\tnextButtonFunc?: Function | undefined //phase out this one when moving dk and fi to new applicationPage\r\n}\r\n\r\ninterface IMultistepProps {\r\n\tsteps: number[]\r\n\tindex: number\r\n\tnextButtonText: string\r\n\thidePreviousBtn: boolean\r\n}\r\n\r\ninterface IProps {\r\n\tmultisteps: IMultistepComponent[]\r\n\thidePreviousButton?: boolean\r\n\tresetInitialState: boolean\r\n}\r\n\r\nconst initialState: IMultistepProps = {\r\n\tsteps: [],\r\n\tindex: 0,\r\n\tnextButtonText: 'Next',\r\n\thidePreviousBtn: true,\r\n}\r\n\r\nexport const MSP_ACTIONS = {\r\n\tSET_STEPS: 'SET_STEPS',\r\n\tSET_INDEX: 'SET_INDEX',\r\n\tSET_STEPS_AND_INDEX: 'SET_STEPS_AND_INDEX',\r\n\tSET_NEXTBUTTON_TEXT: 'SET_NEXTBUTTON_TEXT',\r\n\tSET_NEXTBUTTON_FUNCTION: 'SET_NEXTBUTTON_FUNCTION',\r\n\tSET_HIDE_PREVIOUS_BUTTON: 'SET_HIDE_PREVIOUS_BUTTON',\r\n}\r\n\r\nfunction reducer(msp: any, action: any) {\r\n\tswitch (action.type) {\r\n\t\tcase MSP_ACTIONS.SET_STEPS:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tsteps: action.payload.steps,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_INDEX:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tindex: action.payload.index,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_STEPS_AND_INDEX:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tsteps: action.payload.steps,\r\n\t\t\t\tindex: action.payload.index,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_NEXTBUTTON_TEXT:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\tnextButtonText: action.payload.nextButtonText,\r\n\t\t\t}\r\n\t\tcase MSP_ACTIONS.SET_HIDE_PREVIOUS_BUTTON:\r\n\t\t\treturn {\r\n\t\t\t\t...msp,\r\n\t\t\t\thidePreviousBtn: action.payload.hidePreviousBtn,\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn msp\r\n\t}\r\n}\r\n\r\nexport const MspDispatchContext = createContext<{\r\n\tmsp: IMultistepProps\r\n\tdispatchMsp: any\r\n}>({ msp: initialState, dispatchMsp: reducer })\r\n\r\nfunction Multistep({\r\n\tmultisteps,\r\n\thidePreviousButton = true,\r\n\tresetInitialState,\r\n}: IProps) {\r\n\tconst { t } = useTranslation([TranslationFile.Translation])\r\n\r\n\tconst [msp, dispatchMsp] = useReducer(reducer, initialState)\r\n\r\n\tconst [isFirstPage, setIsFirstPage] = useState(true)\r\n\tconst [isLastPage, setIsLastPage] = useState(false)\r\n\tconst [currentStep, setCurrentStep] = useState()\r\n\tconst [reset, setReset] = useState(resetInitialState)\r\n\tconst [hidePreviousBtn] = useState(hidePreviousButton)\r\n\r\n\tconst mspStorageName = 'msp'\r\n\tlet nextButtonFunc = currentStep?.nextButtonFunc\r\n\r\n\tconst getMultisteps = useCallback(() => {\r\n\t\tconst savedSteps = sessionStorage.getItem(mspStorageName)\r\n\t\tconst activeSteps = multisteps\r\n\t\t\t.filter((x) => x.show === true || x.show === undefined)\r\n\t\t\t.map((x) => x.id)\r\n\r\n\t\tif (savedSteps === undefined || savedSteps === null) {\r\n\t\t\tdispatchMsp({\r\n\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tsteps: activeSteps,\r\n\t\t\t\t\tindex: 0,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tlet item = JSON.parse(savedSteps)\r\n\t\t\tif (reset) {\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tsteps: activeSteps,\r\n\t\t\t\t\t\tindex: 0,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t\tsetReset(false)\r\n\t\t\t} else {\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_STEPS_AND_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tsteps: item.steps,\r\n\t\t\t\t\t\tindex: item.index,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t}, [multisteps, reset])\r\n\r\n\tuseEffect(() => {\r\n\t\tgetMultisteps()\r\n\t}, []) // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n\tuseEffect(() => {\r\n\t\tif (msp) {\r\n\t\t\tsetCurrentStep(\r\n\t\t\t\tmultisteps.find((x) => x.id === msp.steps[msp.index])\r\n\t\t\t)\r\n\t\t\tsetIsFirstPage(msp.index === 0)\r\n\t\t\tsetIsLastPage(msp.index === msp?.steps.length - 1)\r\n\t\t\tsessionStorage.setItem(mspStorageName, JSON.stringify(msp))\r\n\t\t}\r\n\t}, [msp, multisteps])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst mscontainer = document.getElementById('multistep')\r\n\t\tconst mscontainerrect = mscontainer?.getBoundingClientRect()\r\n\t\tif (msp.index > 0 && mscontainerrect !== undefined) {\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\tleft: mscontainerrect.left + window.scrollX,\r\n\t\t\t\ttop: mscontainerrect.top + window.scrollY - 100,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tscrollToTop()\r\n\t\t}\r\n\t}, [msp.index])\r\n\r\n\tconst nextPage = () => {\r\n\t\tif (!isLastPage) {\r\n\t\t\tmsp &&\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst previousPage = () => {\r\n\t\tif (!isFirstPage) {\r\n\t\t\tmsp &&\r\n\t\t\t\tdispatchMsp({\r\n\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\tindex: msp.index - 1,\r\n\t\t\t\t\t},\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tconst scrollToTop = () => {\r\n\t\twindow.scrollTo({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: 'smooth',\r\n\t\t})\r\n\t}\r\n\r\n\tconst getProgressBar = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{msp &&\r\n\t\t\t\t\tmsp.steps.map((step: number, index: number) => {\r\n\t\t\t\t\t\tconst isDone = index <= msp.index\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst getPagination = () => {\r\n\t\tconst onClickFunction = () => {\r\n\t\t\tif (nextButtonFunc !== undefined) {\r\n\t\t\t\treturn nextButtonFunc(), nextPage() //eslint-disable-line\r\n\t\t\t} else {\r\n\t\t\t\treturn nextPage()\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{!isFirstPage && !hidePreviousBtn && !isLastPage && (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tpreviousPage()\r\n\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t{t('Previous')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!isLastPage && currentStep?.stepCompleted && (\r\n\t\t\t\t\t onClickFunction()}>\r\n\t\t\t\t\t\t{t(`${msp.nextButtonText}`)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tconst getBody = () => {\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{appConfig.country === 'de' || appConfig.country === 'at' ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{currentStep?.body}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{getPagination()}\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{t(`${currentStep?.header}`)}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{currentStep?.body}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t{getPagination()}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{getProgressBar()}\r\n\t\t\t\t{getBody()}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Multistep\r\n","import { logError } from 'shared'\r\nimport { apiRoutes } from 'shared/constants/routes'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { getErrorWithFullMessage, showBlob } from 'shared/utils/helpers'\r\nimport axios from '../axios'\r\n\r\nimport {\r\n\tISddEnrollmentInitiate,\r\n\tICompleteSddEnrollmentRequest,\r\n\tIResendOtpRequest,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\ninterface IPartyId {\r\n\tpartyId: string\r\n}\r\n\r\nconst sddService = {\r\n\t// async sddGetRequest(requestType: string) {\r\n\t// \tconst data = await axios\r\n\t// \t\t.get(requestType, await getHeadersWithJwtToken())\r\n\t// \t\t.then((response) => {\r\n\t// \t\t\treturn response\r\n\t// \t\t})\r\n\t// \t\t.catch((error) => {\r\n\t// \t\t\tlogError(error)\r\n\t// \t\t\tthrow getErrorWithFullMessage(error)\r\n\t// \t\t})\r\n\t// \treturn data\r\n\t// },\r\n\r\n\tasync sddCustomerEligible(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddIsEligible(partyId),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddCustomerMandate(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddMandate(partyId),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddMandateDocument(\r\n\t\tmandateDocumentId: string,\r\n\t\twindowRef: Window | null\r\n\t) {\r\n\t\tlet data = await axios\r\n\t\t\t.get(apiRoutes.getSddMandateDocument(mandateDocumentId), {\r\n\t\t\t\t...(await getHeadersWithJwtToken()),\r\n\t\t\t\tresponseType: 'blob',\r\n\t\t\t})\r\n\t\t\t.then((response) => {\r\n\t\t\t\tlet blob = new Blob([response.data], {\r\n\t\t\t\t\ttype: 'application/pdf',\r\n\t\t\t\t})\r\n\t\t\t\tshowBlob(blob, windowRef, mandateDocumentId + '.pdf')\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddEnrollmentInitiate(enrollmentData: ISddEnrollmentInitiate) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddEnrollmentInitiate,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddEnrollmentComplete(enrollmentData: ICompleteSddEnrollmentRequest) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddEnrollmentComplete,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync sddResendOtp(enrollmentData: IResendOtpRequest) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddResendOtp,\r\n\t\t\t\tenrollmentData,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddActivePct(country: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(\r\n\t\t\t\tapiRoutes.getSddActivePct(country),\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync getSddIbans(partyId: string) {\r\n\t\tconst data = await axios\r\n\t\t\t.get(apiRoutes.getSddIbans(partyId), await getHeadersWithJwtToken())\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n\r\n\tasync disableMandate(partyId: IPartyId) {\r\n\t\tlet data = await axios\r\n\t\t\t.post(\r\n\t\t\t\tapiRoutes.sddMandateDisable,\r\n\t\t\t\tpartyId,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\treturn response\r\n\t\t\t})\r\n\t\t\t.catch((error) => {\r\n\t\t\t\tlogError(error)\r\n\t\t\t\tthrow getErrorWithFullMessage(error)\r\n\t\t\t})\r\n\t\treturn data\r\n\t},\r\n}\r\n\r\nexport default sddService\r\n","export interface ISddEnrollmentInitiate {\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: Market\r\n}\r\n\r\nexport interface ISddEnrollmentAuthenticate {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\totpCode: string\r\n}\r\n\r\nexport interface ISddEnrollmentCompleteResponse {\r\n\tmandateDocument: number\r\n\tmandateDocumentId: string\r\n}\r\n\r\nexport interface IOtpSessionResponse {\r\n\tdistributionChannel: OtpDistributionChannel\r\n\totpDistributedToContactInfo: string\r\n\tsessionId: string\r\n\texpiryAtUtc: string\r\n}\r\n\r\nexport interface ICompleteSddEnrollmentRequest {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\totpCode: string\r\n\tdebtorIban: string\r\n\tdebtorBic: string\r\n\tsddWithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n}\r\n\r\nexport interface IResendOtpRequest {\r\n\tsessionId: string\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\tmarket: Market\r\n}\r\n\r\nexport interface IBankInfoProps {\r\n\tsenderIban: string\r\n\tsenderBic: string\r\n}\r\n\r\nexport interface ISddEligible {\r\n\teligible: boolean\r\n\tactiveMandate: boolean | null\r\n}\r\n\r\nexport interface ISddMandate {\r\n\tid: number\r\n\tsignDate: string\r\n\tvalidFromDate: string\r\n\tvalidToDate: string\r\n\tstate: SddState\r\n\tstateComment: string\r\n\twithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n\tmandateDocumentId: string\r\n\tpartyId: string\r\n\tdebtorIban: string\r\n\tdebtorName: string\r\n\tdebtorBic: string\r\n}\r\n\r\nexport enum SddState {\r\n\tActive = 'Active',\r\n\tObsolete = 'Obsolete',\r\n\tExpired = 'Expired',\r\n\tInactive = 'Inactive',\r\n\tEnrolled = 'Enrolled'\r\n}\r\n\r\nexport enum OtpDistributionChannel {\r\n\tUnknown = 'Unknown',\r\n\tEmail = 'Email',\r\n\tSMS = 'SMS',\r\n\tPushNotification = 'PushNotification',\r\n}\r\n\r\nexport enum Market {\r\n\tGlobal = 'Global',\r\n\tPoland = 'Poland',\r\n\tSweden = 'Sweden',\r\n\tFinland = 'Finland',\r\n\tNorway = 'Norway',\r\n\tEstonia = 'Estonia',\r\n\tLatvia = 'Latvia',\r\n\tGermany = 'Germany',\r\n\tAustria = 'Austria',\r\n\tLithuania = 'Lithuania',\r\n\tSpain = 'Spain',\r\n}\r\n\r\nexport enum SddWithdrawalType {\r\n\tUnknown = 'Unknown',\r\n\tMinimum = 'Minimum',\r\n\tFixed = 'Fixed',\r\n\tFull = 'Full',\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\n\r\nimport {\r\n\tCircleSpinner,\r\n\tCustomerForm,\r\n\tgetLanguageLocale,\r\n\tgetMarket,\r\n\tBoxInfo,\r\n} from 'shared'\r\nimport { FormFactory } from 'shared/formBuilder/formFactory'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\nimport { IBankInfoProps } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nexport const SDDCustomerInformationForm = () => {\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext)\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst [err, setErr] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [date, setDate] = useState()\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tCustomerForm.CustomerInformationFormSDD,\r\n\t\t{\r\n\t\t\tformName: 'customerInformationFormSdd',\r\n\t\t\tblockName: 'customerInformationFormSdd',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: 'Fortfahren zu den AGB',\r\n\t\t},\r\n\t\tsdd\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDCustomerInfoSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t\tgetDate()\r\n\t}, [dispatchSdd])\r\n\r\n\tfunction getDate() {\r\n\t\tlet date = new Date().toLocaleDateString(getLanguageLocale())\r\n\t\treturn setDate(date)\r\n\t}\r\n\r\n\tconst proceed = (values: any) => {\r\n\t\tsetLoading(true)\r\n\r\n\t\tif (values.customer.iban !== null && values.customer.iban !== '') {\r\n\t\t\tconst bankInfoItem = sdd.bankInfoList.find(\r\n\t\t\t\t({ senderIban }: IBankInfoProps) =>\r\n\t\t\t\t\tsenderIban === values.customer.iban\r\n\t\t\t)\r\n\t\t\tsetErr(false)\r\n\t\t\tdispatchSdd({\r\n\t\t\t\ttype: SDD_ACTIONS.SET_BANK_INFO,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\t...sdd,\r\n\t\t\t\t\tdebtorIban: values.customer.iban,\r\n\t\t\t\t\tdebtorBic: bankInfoItem.senderBic,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\tdispatchMsp({\r\n\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\t...msp,\r\n\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\twindow.scrollTo({\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tbehavior: 'smooth',\r\n\t\t\t})\r\n\t\t\tsetLoading(false)\r\n\t\t} else {\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CurrentDate')}:
\r\n\t\t\t\t\t\t\t
{date}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('CreditorId')}:
\r\n\t\t\t\t\t\t\t
SE41CCC5561581041
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tTF Bank AB\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\tBox 947\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t501 10 Borås
\r\n\t\t\t\t\t\tSweden\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t{!loading && (\r\n\t\t\t\t<>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t proceed(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{err && }\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('SDDCustomerInformationText')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{loading && }\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useEffect, useState, useContext, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfo, CircleSpinner, getCountryA3 } from 'shared'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\n\r\nexport const SDDTermsAndConditions = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n\tconst [terms, setTerms] = useState('asd')\r\n\tconst [approveTermsAndConditions, setApproveTermsAndConditions] =\r\n\t\tuseState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tlet country = getCountryA3()\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_APPROVE_TERMS,\r\n\t\t\tpayload: {\r\n\t\t\t\tapprovedTerms: approveTermsAndConditions,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [approveTermsAndConditions, dispatchSdd])\r\n\r\n\tconst getActivePct = useCallback(async (country: string) => {\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.getSddActivePct(country)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tsetTerms(response.data.termsAndConditions)\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetError(true)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn('Error catch:', error)\r\n\t\t\tsetError(true)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDTermsSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t\tdispatchMsp({\r\n\t\t\ttype: MSP_ACTIONS.SET_NEXTBUTTON_TEXT,\r\n\t\t\tpayload: {\r\n\t\t\t\tnextButtonText: 'Fortfahren zur Verifizierung',\r\n\t\t\t},\r\n\t\t})\r\n\t\tsetLoading(true)\r\n\t\tif (country) {\r\n\t\t\ttry {\r\n\t\t\t\tgetActivePct(country)\r\n\t\t\t} catch (e) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t}\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}, [dispatchSdd, dispatchMsp, country, getActivePct])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { BoxInfo } from 'shared/index'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tIMenuDropdownItem,\r\n\tmenuItems,\r\n} from 'selfServicePortal/constants/menuItems'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\nexport const AuthError = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { setAuthSelect, setErr, setOtpCode } = useContext(AuthContext)\r\n\tconst { changeComponent } = useContext(SspContext)\r\n\r\n\tconst goBack = (item: IMenuDropdownItem) => {\r\n\t\tchangeComponent(item)\r\n\t}\r\n\r\n\tconst tryAgain = () => {\r\n\t\tsetOtpCode('')\r\n\t\tsetAuthSelect(true)\r\n\t\tsetErr(false)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t{t('TryAgain')}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t goBack(menuItems[0].items[0])}>\r\n\t\t\t\t\t{t('BackToStart')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgEmailActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32.821,\n height: 32.68,\n viewBox: \"0 0 32.821 32.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_222\",\n \"data-name\": \"Group 222\",\n transform: \"translate(-761 -814.602)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n transform: \"translate(759 814.647)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n transform: \"translate(3 1.005)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_39\",\n \"data-name\": \"Line 39\",\n y1: 10.145,\n x2: 9.434,\n transform: \"translate(0.415 19.978)\",\n fill: \"#fff\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_40\",\n \"data-name\": \"Line 40\",\n x1: 9.434,\n y1: 10.145,\n transform: \"translate(20.971 19.978)\",\n fill: \"#fff\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_220\",\n \"data-name\": \"Path 220\",\n d: \"M31.821,57.43,16.411,69.391l-4.857-3.771L1,57.43\",\n transform: \"translate(-1 -45.096)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_221\",\n \"data-name\": \"Path 221\",\n d: \"M27.978,41.78,31.557,44.6a.7.7,0,0,1,.264.544v16.1A2.258,2.258,0,0,1,29.565,63.5H3.256A2.258,2.258,0,0,1,1,61.239V45.3a.7.7,0,0,1,.26-.542l3.323-2.649\",\n transform: \"translate(-1 -32.867)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_222\",\n \"data-name\": \"Path 222\",\n d: \"M34.86,7.2l7.581-6.046a.691.691,0,0,1,.859,0l7.6,5.983\",\n transform: \"translate(-27.459 -1.005)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_223\",\n \"data-name\": \"Path 223\",\n d: \"M34.86,29.35H53.908a.566.566,0,0,1,.568.566v8.457\",\n transform: \"translate(-27.459 -23.154)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_224\",\n \"data-name\": \"Path 224\",\n d: \"M18,38.373V30.039a.689.689,0,0,1,.689-.689h2.995\",\n transform: \"translate(-14.284 -23.154)\",\n fill: \"none\",\n stroke: \"#575651\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"*\",\n transform: \"translate(19.062 14.913)\",\n fill: \"#de996f\",\n fontSize: 6,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 0\n }, \"*\")))), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_43\",\n \"data-name\": \"Line 43\",\n x2: 7,\n transform: \"translate(771.5 827.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_225\",\n \"data-name\": \"Path 225\",\n d: \"M0,0H10\",\n transform: \"translate(772.5 831.967)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmailActive);\nexport default __webpack_public_path__ + \"static/media/email-active.6c9c29534d65732a72ed4a606640fd56.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgEmailInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32.821,\n height: 32.68,\n viewBox: \"0 0 32.821 32.68\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_230\",\n \"data-name\": \"Group 230\",\n transform: \"translate(-761 -814.602)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\",\n transform: \"translate(759 814.647)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n transform: \"translate(3 1.005)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_39\",\n \"data-name\": \"Line 39\",\n y1: 10.145,\n x2: 9.434,\n transform: \"translate(0.415 19.978)\",\n fill: \"#fff\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_40\",\n \"data-name\": \"Line 40\",\n x1: 9.434,\n y1: 10.145,\n transform: \"translate(20.971 19.978)\",\n fill: \"#fff\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_220\",\n \"data-name\": \"Path 220\",\n d: \"M31.821,57.43,16.411,69.391l-4.857-3.771L1,57.43\",\n transform: \"translate(-1 -45.096)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_221\",\n \"data-name\": \"Path 221\",\n d: \"M27.978,41.78,31.557,44.6a.7.7,0,0,1,.264.544v16.1A2.258,2.258,0,0,1,29.565,63.5H3.256A2.258,2.258,0,0,1,1,61.239V45.3a.7.7,0,0,1,.26-.542l3.323-2.649\",\n transform: \"translate(-1 -32.867)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_222\",\n \"data-name\": \"Path 222\",\n d: \"M34.86,7.2l7.581-6.046a.691.691,0,0,1,.859,0l7.6,5.983\",\n transform: \"translate(-27.459 -1.005)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_223\",\n \"data-name\": \"Path 223\",\n d: \"M34.86,29.35H53.908a.566.566,0,0,1,.568.566v8.457\",\n transform: \"translate(-27.459 -23.154)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_224\",\n \"data-name\": \"Path 224\",\n d: \"M18,38.373V30.039a.689.689,0,0,1,.689-.689h2.995\",\n transform: \"translate(-14.284 -23.154)\",\n fill: \"none\",\n stroke: \"#857f7b\",\n strokeMiterlimit: 10,\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"*\",\n transform: \"translate(19.062 14.913)\",\n fill: \"#de996f\",\n fontSize: 6,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 0\n }, \"*\")))), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_43\",\n \"data-name\": \"Line 43\",\n x2: 7,\n transform: \"translate(771.5 827.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_225\",\n \"data-name\": \"Path 225\",\n d: \"M0,0H10\",\n transform: \"translate(772.5 831.967)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmailInactive);\nexport default __webpack_public_path__ + \"static/media/email-inactive.3037eedbecb0e0dd978fbf18746fdc00.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSmsActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 33.163,\n height: 31.697,\n viewBox: \"0 0 33.163 31.697\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_233\",\n \"data-name\": \"Group 233\",\n transform: \"translate(-34.747 -525.152)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"chat-right-text\",\n transform: \"translate(34.747 525.152)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_208\",\n \"data-name\": \"Path 208\",\n d: \"M4.145,2.073H29.018A2.073,2.073,0,0,1,31.09,4.145V28.16l-4.145-4.145a4.145,4.145,0,0,0-2.93-1.215H4.145a2.073,2.073,0,0,1-2.073-2.073V4.145A2.073,2.073,0,0,1,4.145,2.073ZM29.018,0a4.145,4.145,0,0,1,4.145,4.145V30.661a1.036,1.036,0,0,1-1.77.731L25.48,25.479a2.073,2.073,0,0,0-1.466-.607H4.145A4.145,4.145,0,0,1,0,20.727V4.145A4.145,4.145,0,0,1,4.145,0Z\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_209\",\n \"data-name\": \"Path 209\",\n d: \"M6.75,12.968a1.036,1.036,0,0,1,1.036-1.036H26.441a1.036,1.036,0,0,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,12.968Zm0,5.182a1.036,1.036,0,0,1,1.036-1.036H18.15a1.036,1.036,0,1,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,18.15Z\",\n transform: \"translate(-0.532 -0.532)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_42\",\n \"data-name\": \"Line 42\",\n x2: 12.541,\n transform: \"translate(41.87 532.349)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"* \",\n transform: \"matrix(-1, 0, 0, 1, 59.911, 527.849)\",\n fill: \"#de996f\",\n fontSize: 7,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 8\n }, \"* \")))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmsActive);\nexport default __webpack_public_path__ + \"static/media/sms-active.3f61bc1bb795dba8a487c17c045b9758.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgSmsInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 33.163,\n height: 31.697,\n viewBox: \"0 0 33.163 31.697\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_223\",\n \"data-name\": \"Group 223\",\n transform: \"translate(-993.837 -821.303)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"chat-right-text\",\n transform: \"translate(993.837 821.303)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_208\",\n \"data-name\": \"Path 208\",\n d: \"M4.145,2.073H29.018A2.073,2.073,0,0,1,31.09,4.145V28.16l-4.145-4.145a4.145,4.145,0,0,0-2.93-1.215H4.145a2.073,2.073,0,0,1-2.073-2.073V4.145A2.073,2.073,0,0,1,4.145,2.073ZM29.018,0a4.145,4.145,0,0,1,4.145,4.145V30.661a1.036,1.036,0,0,1-1.77.731L25.48,25.479a2.073,2.073,0,0,0-1.466-.607H4.145A4.145,4.145,0,0,1,0,20.727V4.145A4.145,4.145,0,0,1,4.145,0Z\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_209\",\n \"data-name\": \"Path 209\",\n d: \"M6.75,12.968a1.036,1.036,0,0,1,1.036-1.036H26.441a1.036,1.036,0,0,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,12.968Zm0,5.182a1.036,1.036,0,0,1,1.036-1.036H18.15a1.036,1.036,0,1,1,0,2.073H7.786A1.036,1.036,0,0,1,6.75,18.15Z\",\n transform: \"translate(-0.532 -0.532)\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n })), /*#__PURE__*/React.createElement(\"line\", {\n id: \"Line_42\",\n \"data-name\": \"Line 42\",\n x2: 12.541,\n transform: \"translate(1000.959 828.5)\",\n fill: \"none\",\n stroke: \"#de996f\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"* \",\n transform: \"matrix(-1, 0, 0, 1, 1019, 824)\",\n fill: \"#de996f\",\n fontSize: 7,\n fontFamily: \"SegoeUI-Bold, Segoe UI\",\n fontWeight: 700\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 0,\n y: 8\n }, \"* \")))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmsInactive);\nexport default __webpack_public_path__ + \"static/media/sms-inactive.eaabdc9087ae514a3545ef688be7162d.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgMobileappActive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26.703,\n height: 42.724,\n viewBox: \"0 0 26.703 42.724\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_225\",\n \"data-name\": \"Group 225\",\n transform: \"translate(-1124 -811.276)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_210\",\n \"data-name\": \"Path 210\",\n d: \"M28.112,2.67H12.091a2.67,2.67,0,0,0-2.67,2.67V37.384a2.67,2.67,0,0,0,2.67,2.67H28.112a2.67,2.67,0,0,0,2.67-2.67V5.341A2.67,2.67,0,0,0,28.112,2.67ZM12.091,0A5.341,5.341,0,0,0,6.75,5.341V37.384a5.341,5.341,0,0,0,5.341,5.341H28.112a5.341,5.341,0,0,0,5.341-5.341V5.341A5.341,5.341,0,0,0,28.112,0Z\",\n transform: \"translate(1117.25 811.276)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_211\",\n \"data-name\": \"Path 211\",\n d: \"M18.42,32.341a2.67,2.67,0,1,0-2.67-2.67A2.67,2.67,0,0,0,18.42,32.341Z\",\n transform: \"translate(1118.931 816.319)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_165\",\n \"data-name\": \"Rectangle 165\",\n width: 19,\n height: 6,\n rx: 1,\n transform: \"translate(1128 818)\",\n fill: \"#de996f\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobileappActive);\nexport default __webpack_public_path__ + \"static/media/mobileapp-active.221d329a1ae42e26b986a14d5d0fb5cd.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgMobileappInactive(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26.703,\n height: 42.724,\n viewBox: \"0 0 26.703 42.724\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_232\",\n \"data-name\": \"Group 232\",\n transform: \"translate(-1124 -811.276)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_210\",\n \"data-name\": \"Path 210\",\n d: \"M28.112,2.67H12.091a2.67,2.67,0,0,0-2.67,2.67V37.384a2.67,2.67,0,0,0,2.67,2.67H28.112a2.67,2.67,0,0,0,2.67-2.67V5.341A2.67,2.67,0,0,0,28.112,2.67ZM12.091,0A5.341,5.341,0,0,0,6.75,5.341V37.384a5.341,5.341,0,0,0,5.341,5.341H28.112a5.341,5.341,0,0,0,5.341-5.341V5.341A5.341,5.341,0,0,0,28.112,0Z\",\n transform: \"translate(1117.25 811.276)\",\n fill: \"#857f7b\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_211\",\n \"data-name\": \"Path 211\",\n d: \"M18.42,32.341a2.67,2.67,0,1,0-2.67-2.67A2.67,2.67,0,0,0,18.42,32.341Z\",\n transform: \"translate(1118.931 816.319)\",\n fill: \"#575651\",\n fillRule: \"evenodd\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle_165\",\n \"data-name\": \"Rectangle 165\",\n width: 19,\n height: 6,\n rx: 1,\n transform: \"translate(1128 818)\",\n fill: \"#de996f\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobileappInactive);\nexport default __webpack_public_path__ + \"static/media/mobileapp-inactive.1c0b2759e45ec72406c0eb05bb2a4c82.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useContext, useEffect } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport email_active from 'img/auth-and-sign-icons/email-active.svg'\r\nimport email_inactive from 'img/auth-and-sign-icons/email-inactive.svg'\r\nimport sms_active from 'img/auth-and-sign-icons/sms-active.svg'\r\nimport sms_inactive from 'img/auth-and-sign-icons/sms-inactive.svg'\r\nimport mobileapp_active from 'img/auth-and-sign-icons/mobileapp-active.svg'\r\nimport mobileapp_inactive from 'img/auth-and-sign-icons/mobileapp-inactive.svg'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../../SDDMultistepValues'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\ninterface IAuthenticationButtons {\r\n\totpDistributionChannel: OtpDistributionChannel\r\n\ticonActive: string\r\n\ticonInactive: string\r\n\ttitle: string\r\n\tclassName: string\r\n\tshow: boolean\r\n}\r\n\r\nconst otpAuthMethods: IAuthenticationButtons[] = [\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.Email,\r\n\t\ticonActive: email_active,\r\n\t\ticonInactive: email_inactive,\r\n\t\ttitle: 'SDDVerificationMethodEmail',\r\n\t\tclassName: 'email-otp',\r\n\t\tshow: true,\r\n\t},\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.SMS,\r\n\t\ticonActive: sms_active,\r\n\t\ticonInactive: sms_inactive,\r\n\t\ttitle: 'SDDVerificationMethodSms',\r\n\t\tclassName: 'sms-otp',\r\n\t\tshow: true,\r\n\t},\r\n\t{\r\n\t\totpDistributionChannel: OtpDistributionChannel.PushNotification,\r\n\t\ticonActive: mobileapp_active,\r\n\t\ticonInactive: mobileapp_inactive,\r\n\t\ttitle: 'SDDVerificationMethodApp',\r\n\t\tclassName: 'push-notification',\r\n\t\tshow: false,\r\n\t},\r\n]\r\n\r\nexport const AuthSelectButtons = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst {\r\n\t\totpSessionResponse,\r\n\t\tsetOtpSessionResponse,\r\n\t\tsetLoading,\r\n\t\tsetErr,\r\n\t\tauthSelect,\r\n\t\tsetAuthSelect,\r\n\t} = useContext(AuthContext)\r\n\tconst [authType, setAuthType] = useState(\r\n\t\tOtpDistributionChannel.Unknown\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_AUTH_SELECT,\r\n\t\t\tpayload: {\r\n\t\t\t\tauthSelect: authSelect,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [authSelect, dispatchSdd])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: 'SDDSelectVerificationMethodSubtitle',\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd])\r\n\r\n\tasync function getAuthOtp() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.sddEnrollmentInitiate({\r\n\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\ttitle: sdd.title,\r\n\t\t\t\t\tfirstName: sdd.firstName,\r\n\t\t\t\t\tlastName: sdd.lastName,\r\n\t\t\t\t\temailAddress: sdd.emailAddress,\r\n\t\t\t\t\tphoneNumber: sdd.phoneNumber,\r\n\t\t\t\t\tdistributionChannel: authType,\r\n\t\t\t\t\tmarket: sdd.market,\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tsetOtpSessionResponse(response.data)\r\n\t\t\t\t\t\tsetAuthSelect(false)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetErr(true)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetErr(true)\r\n\t\t}\r\n\t}\r\n\r\n\tasync function resendOtp() {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tsddService\r\n\t\t\t\t.sddResendOtp({\r\n\t\t\t\t\tsessionId: sdd.sessionId,\r\n\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\ttitle: sdd.title,\r\n\t\t\t\t\tfirstName: sdd.firstName,\r\n\t\t\t\t\tlastName: sdd.lastName,\r\n\t\t\t\t\temailAddress: sdd.emailAddress,\r\n\t\t\t\t\tphoneNumber: sdd.phoneNumber,\r\n\t\t\t\t\tdistributionChannel: authType,\r\n\t\t\t\t\tmarket: sdd.market,\r\n\t\t\t\t})\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tsetOtpSessionResponse(response.data)\r\n\t\t\t\t\t\tsetOtpData()\r\n\t\t\t\t\t\tsetAuthSelect(false)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetErr(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('Error catch:', error)\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setOtpData() {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_OTP_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\totpSessionResponse?.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: otpSessionResponse?.sessionId,\r\n\t\t\t\texpiryAtUtc: otpSessionResponse?.expiryAtUtc,\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tfunction setAuth(state: any) {\r\n\t\tsetLoading(true)\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DISTRIBUTION_CHANNEL,\r\n\t\t\tpayload: {\r\n\t\t\t\tdistributionChannel: authType,\r\n\t\t\t},\r\n\t\t})\r\n\t\tif (state.sessionId === '' || state.sessionId === undefined) {\r\n\t\t\tgetAuthOtp()\r\n\t\t} else {\r\n\t\t\tresendOtp()\r\n\t\t}\r\n\t}\r\n\r\n\tconst isActive = (method: OtpDistributionChannel) => method === authType\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t<>\r\n\t\t\t\t
{t('SDDSelectVerificationMethodText')}
\r\n\t\t\t\t
\r\n\t\t\t\t\t{otpAuthMethods.map((item) => {\r\n\t\t\t\t\t\tif (item.show) {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetAuthType(item.otpDistributionChannel)\r\n\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tButton name\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// eslint-disable-next-line array-callback-return\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t})}\r\n\t\t\t\t
\r\n\t\t\t\t setAuth(sdd)}>\r\n\t\t\t\t\t{t('SendAuthenticationCode')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, {\r\n\tcreateContext,\r\n\tContext,\r\n\tuseState,\r\n\tuseEffect,\r\n\tuseContext,\r\n} from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { CircleSpinner } from 'shared/components/Spinners'\r\n\r\nimport { IOtpSessionResponse } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\nimport { AuthError } from './SDDAuthenticationBlocks/AuthError'\r\nimport { AuthSelectButtons } from './SDDAuthenticationBlocks/AuthSelectButtons'\r\nimport { AuthValidation } from './SDDAuthenticationBlocks/AuthValidation'\r\ninterface IAuthContext {\r\n\tloading: boolean | undefined\r\n\tsetLoading: Function\r\n\totpSessionResponse: IOtpSessionResponse | undefined\r\n\tsetOtpSessionResponse: Function\r\n\totpCode: string | undefined\r\n\tsetOtpCode: Function\r\n\tauthSelect: boolean | undefined\r\n\tsetAuthSelect: Function\r\n\terr: boolean | undefined\r\n\tsetErr: Function\r\n}\r\n\r\nexport const AuthContext: Context = createContext({\r\n\tloading: false,\r\n\tsetLoading: () => {},\r\n\totpSessionResponse: undefined,\r\n\tsetOtpSessionResponse: () => {},\r\n\totpCode: undefined,\r\n\tsetOtpCode: () => {},\r\n\tauthSelect: true,\r\n\tsetAuthSelect: () => {},\r\n\terr: false,\r\n\tsetErr: () => {},\r\n})\r\n\r\nexport const SDDAuthentication = () => {\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst [otpSessionResponse, setOtpSessionResponse] =\r\n\t\tuseState()\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst [authSelect, setAuthSelect] = useState(true)\r\n\tconst [otpCode, setOtpCode] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [err, setErr] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (err) {\r\n\t\t\tdispatchSdd({\r\n\t\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\t\tpayload: {\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn\r\n\t}, [err, dispatchSdd])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{loading && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{authSelect ? <> :
{t('Loading')}
}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{!err && !loading && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{authSelect ? (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{err && !loading && }\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","var _style, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDownloadInterfaceCream(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Capa_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 489.8 489.8\",\n style: {\n enableBackground: \"new 0 0 489.8 489.8\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\r\\n\\t.st0{fill:#F6F5EE;}\\r\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"489.8,359.8 444.7,359.8 444.7,431.9 45.1,431.9 45.1,361.3 0,361.3 0,477 489.8,477 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"131.7,174.5 69.1,174.5 249.6,398.9 430.2,174.5 367.6,174.5 367.6,12.8 131.7,12.8 \"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadInterfaceCream);\nexport default __webpack_public_path__ + \"static/media/download-interface-cream.03f363d8952360a788bd70d7ae550b42.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useContext, useCallback, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport download_interface_cream from 'img/document-icons/download-interface-cream.svg'\r\n\r\nimport {\r\n\tBoxInfoSuccessCheckmark,\r\n\tgetErrorWithFullMessage,\r\n\tisSafariBrowser,\r\n} from 'shared'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../SDDMultistepValues'\r\n\r\nexport const SDDSuccessResponse = () => {\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst { setSddRefreshData } = useContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: '',\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd])\r\n\r\n\tconst getSddMandateDocument = useCallback(\r\n\t\tasync (mandateDocumentId: string, windowRef: Window | null) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService.getSddMandateDocument(\r\n\t\t\t\t\tmandateDocumentId,\r\n\t\t\t\t\twindowRef,\r\n\t\t\t\t)\r\n\t\t\t} catch (error: any) {\r\n\t\t\t\tsetError(getErrorWithFullMessage(error))\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[],\r\n\t)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('SDDEnrolledSuccessMsg')}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tlet windowRef = isSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\tgetSddMandateDocument(\r\n\t\t\t\t\t\t\t\t\tsdd.mandateDocumentId,\r\n\t\t\t\t\t\t\t\t\twindowRef,\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('SDDDownloadMandate')}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t\t{error && (\r\n\t\t\t\t
{t('ErrorAccountStatements')}
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t setSddRefreshData(true)}>\r\n\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import React, {\r\n\tuseEffect,\r\n\tuseReducer,\r\n\tuseContext,\r\n\tcreateContext,\r\n\tContext,\r\n} from 'react'\r\n\r\nimport { getMarket } from 'shared/index'\r\nimport Multistep, { IMultistepComponent } from 'shared/components/Multistep'\r\n\r\nimport { Heading } from 'selfServicePortal/components/index'\r\nimport { SDDCustomerInformationForm } from './MultistepBlocks/SDDCustomerInformationForm'\r\nimport { SDDTermsAndConditions } from './MultistepBlocks/SDDTermsAndConditions'\r\nimport { SDDAuthentication } from './MultistepBlocks/SDDAuthentication'\r\nimport { SDDSuccessResponse } from './MultistepBlocks/SDDSuccessResponse'\r\n\r\nimport {\r\n\tOtpDistributionChannel,\r\n\tSddWithdrawalType,\r\n\tMarket,\r\n\tIBankInfoProps,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\ninterface ISddProps {\r\n\tmarket: Market\r\n\tcustomerId: string\r\n\ttitle: string\r\n\tfirstName: string\r\n\tlastName: string\r\n\tstreet: string\r\n\thouseNumber: string\r\n\tpostalCode: string\r\n\tcity: string\r\n\temailAddress: string\r\n\tphoneNumber: string\r\n\tdebtorIban: string\r\n\tdebtorBic: string\r\n\tsddWithdrawalType: SddWithdrawalType\r\n\twithdrawalAmount: number\r\n\totpCode: string\r\n\tdistributionChannel: OtpDistributionChannel\r\n\totpDistributedToContactInfo: string\r\n\tsessionId: string\r\n\texpiryAtUtc: string\r\n\tmandateDocumentId: string | undefined\r\n\tapprovedTerms: boolean\r\n\tauthSelect: boolean\r\n\tdescription: string\r\n\tbankInfoList: IBankInfoProps[]\r\n}\r\n\r\nconst initialState: ISddProps = {\r\n\tmarket: Market.Global,\r\n\tcustomerId: '',\r\n\ttitle: '',\r\n\tfirstName: '',\r\n\tlastName: '',\r\n\tstreet: '',\r\n\thouseNumber: '',\r\n\tpostalCode: '',\r\n\tcity: '',\r\n\temailAddress: '',\r\n\tphoneNumber: '',\r\n\tdebtorIban: '',\r\n\tdebtorBic: '',\r\n\tsddWithdrawalType: SddWithdrawalType.Minimum,\r\n\twithdrawalAmount: 0,\r\n\totpCode: '',\r\n\tdistributionChannel: OtpDistributionChannel.Unknown,\r\n\totpDistributedToContactInfo: '',\r\n\tsessionId: '',\r\n\texpiryAtUtc: '',\r\n\tmandateDocumentId: undefined,\r\n\tapprovedTerms: false,\r\n\tauthSelect: true,\r\n\tdescription: '',\r\n\tbankInfoList: [],\r\n}\r\n\r\nexport const SDD_ACTIONS = {\r\n\tSET_DESCRIPTION: 'SET_DESCRIPTION',\r\n\tSET_CUSTOMER_INFO: 'SET_CUSTOMER_INFO',\r\n\tSET_BANK_INFO_LIST: 'SET_BANK_INFO_LIST:',\r\n\tSET_CUSTOMER_INFO_COMPLETE: 'SET_CUSTOMER_COMPLETE',\r\n\tSET_BANK_INFO: 'SET_BANK_INFO',\r\n\tSET_APPROVE_TERMS: 'SET_APPROVE_TERMS',\r\n\tSET_DISTRIBUTION_CHANNEL: 'SET_DISTRIBUTION_CHANNEL',\r\n\tSET_SESSION_ID: 'SET_SESSION_ID',\r\n\tSET_OTP_INFO: 'SET_OTP_INFO',\r\n\tSET_AUTH_SELECT: 'SET_AUTH_SELECT',\r\n\tSET_MANDATE_DOC: 'SET_MANDATE_DOC',\r\n}\r\n\r\nfunction reducer(sdd: any, action: any) {\r\n\tswitch (action.type) {\r\n\t\tcase SDD_ACTIONS.SET_DESCRIPTION:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdescription: action.payload.description,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_CUSTOMER_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tmarket: action.payload.market,\r\n\t\t\t\tcustomerId: action.payload.customerId,\r\n\t\t\t\ttitle: action.payload.title,\r\n\t\t\t\tfirstName: action.payload.firstName,\r\n\t\t\t\tlastName: action.payload.lastName,\r\n\t\t\t\tstreet: action.payload.street,\r\n\t\t\t\thouseNumber: action.payload.houseNumber,\r\n\t\t\t\tpostalCode: action.payload.postalCode,\r\n\t\t\t\tcity: action.payload.city,\r\n\t\t\t\temailAddress: action.payload.emailAddress,\r\n\t\t\t\tphoneNumber: action.payload.phoneNumber,\r\n\t\t\t\tbankInfoList: action.payload.bankInfoList,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_BANK_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdebtorIban: action.payload.debtorIban,\r\n\t\t\t\tdebtorBic: action.payload.debtorBic,\r\n\t\t\t\tsddWithdrawalType: action.payload.sddWithdrawalType,\r\n\t\t\t\twithdrawalAmount: action.payload.withdrawalAmount,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_BANK_INFO_LIST:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tbankInfoList: action.payload.bankInfoList,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_APPROVE_TERMS:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tapprovedTerms: action.payload.approvedTerms,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_DISTRIBUTION_CHANNEL:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tdistributionChannel: action.payload.distributionChannel,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_AUTH_SELECT:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tauthSelect: action.payload.authSelect,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_OTP_INFO:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\taction.payload.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: action.payload.sessionId,\r\n\t\t\t\texpiryAtUtc: action.payload.expiryAtUtc,\r\n\t\t\t}\r\n\t\tcase SDD_ACTIONS.SET_MANDATE_DOC:\r\n\t\t\treturn {\r\n\t\t\t\t...sdd,\r\n\t\t\t\tmandateDocumentId: action.payload.mandateDocumentId,\r\n\t\t\t}\r\n\t\tdefault:\r\n\t\t\treturn sdd\r\n\t}\r\n}\r\n\r\nexport const SddDispatchContext: Context = createContext(initialState)\r\n\r\ninterface IProps {\r\n\tbankInfoList: IBankInfoProps[]\r\n}\r\n\r\nexport const SddMultistepValues = ({ bankInfoList }: IProps) => {\r\n\tconst [sdd, dispatchSdd] = useReducer(reducer, initialState)\r\n\tconst { customerData } = useContext(SspContext)\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_CUSTOMER_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\tcustomerId: customerData!.customerId,\r\n\t\t\t\ttitle: customerData?.title,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tstreet: customerData?.street,\r\n\t\t\t\thouseNumber: customerData?.houseNumber,\r\n\t\t\t\tpostalCode: customerData?.postalCode,\r\n\t\t\t\tcity: customerData?.city,\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t\tbankInfoList: bankInfoList,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [bankInfoList, customerData])\r\n\r\n\tconst multistepValues: IMultistepComponent[] = [\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\theader: 'SDDCustomerInformationForm',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: false,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\theader: 'SDDTermsAndConditions',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: sdd.approvedTerms,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 3,\r\n\t\t\theader: 'SDDAuthentication',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: sdd.authComplete,\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 4,\r\n\t\t\theader: 'SDDSuccessResponse',\r\n\t\t\tbody: ,\r\n\t\t\tshow: true,\r\n\t\t\tstepCompleted: false,\r\n\t\t},\r\n\t]\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useContext, useState, useEffect, useCallback } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport { formatTime } from 'shared/index'\r\nimport { MspDispatchContext, MSP_ACTIONS } from 'shared/components/Multistep'\r\n\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport {\r\n\tISddEnrollmentCompleteResponse,\r\n\tOtpDistributionChannel,\r\n} from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nimport { SddDispatchContext, SDD_ACTIONS } from '../../SDDMultistepValues'\r\nimport { AuthContext } from '../SDDAuthentication'\r\n\r\nexport const maskedEmail = (email: string | undefined) => {\r\n\tif (email === undefined) {\r\n\t\treturn undefined\r\n\t}\r\n\tlet maskedEmailPart1\r\n\tlet maskedEmailPart2\r\n\tlet emailString = email\r\n\tlet firstLetter = emailString.substring(0, 1)\r\n\tlet middleAt = emailString.search(/@/)\r\n\tlet lastDot = emailString.search(/\\.(?:.(?!\\.))+$/)\r\n\r\n\tmaskedEmailPart1 = emailString.substring(1, middleAt - 1).replace(/./g, '*')\r\n\tmaskedEmailPart2 = emailString\r\n\t\t.substring(middleAt + 1, lastDot)\r\n\t\t.replace(/./g, '*')\r\n\r\n\treturn (\r\n\t\tfirstLetter +\r\n\t\tmaskedEmailPart1 +\r\n\t\temailString.substring(middleAt - 1, middleAt + 2) +\r\n\t\tmaskedEmailPart2 +\r\n\t\temailString.substring(lastDot, emailString.length)\r\n\t)\r\n}\r\n\r\nexport const maskedPhoneNr = (phoneNr: string | undefined) => {\r\n\tif (phoneNr === undefined) {\r\n\t\treturn undefined\r\n\t}\r\n\tlet maskedNr\r\n\tlet phoneNumber = phoneNr\r\n\tlet firstThree = phoneNumber.substring(0, 3)\r\n\tlet lastThree = phoneNumber.substring(phoneNumber.length - 3)\r\n\tmaskedNr = phoneNumber\r\n\t\t.substring(3, phoneNumber.length - 3)\r\n\t\t.replace(/\\d/g, '*')\r\n\treturn firstThree + maskedNr + lastThree\r\n}\r\n\r\nexport const AuthValidation = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { msp, dispatchMsp } = useContext(MspDispatchContext)\r\n\tconst [sdd, dispatchSdd] = useContext(SddDispatchContext)\r\n\tconst {\r\n\t\tsetAuthSelect,\r\n\t\totpCode,\r\n\t\tsetOtpCode,\r\n\t\tsetLoading,\r\n\t\tsetErr,\r\n\t\totpSessionResponse,\r\n\t} = useContext(AuthContext)\r\n\tconst [time, setTime] = useState()\r\n\tconst [timeOut, setTimeOut] = useState(false)\r\n\r\n\tconst CountdownTimer = useCallback(\r\n\t\t(time: string) => {\r\n\t\t\tfunction updateRemainingTime() {\r\n\t\t\t\tconst difference = +new Date(time) - +new Date()\r\n\t\t\t\tlet remaining\r\n\t\t\t\tif (difference > 0) {\r\n\t\t\t\t\tconst parts: any = {\r\n\t\t\t\t\t\tdays: Math.floor(difference / (1000 * 60 * 60 * 24)),\r\n\t\t\t\t\t\thours: Math.floor((difference / (1000 * 60 * 60)) % 24),\r\n\t\t\t\t\t\tminutes: Math.floor((difference / 1000 / 60) % 60),\r\n\t\t\t\t\t\tseconds: formatTime(\r\n\t\t\t\t\t\t\tMath.floor((difference / 1000) % 60),\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t}\r\n\t\t\t\t\tremaining = `${parts.minutes}:${parts.seconds} ${t(\r\n\t\t\t\t\t\t'Minutes',\r\n\t\t\t\t\t)}`\r\n\t\t\t\t} else {\r\n\t\t\t\t\tremaining = `${t('OtpTimeOut')}`\r\n\t\t\t\t\tsetTimeOut(true)\r\n\t\t\t\t}\r\n\t\t\t\treturn setTime(remaining)\r\n\t\t\t}\r\n\t\t\treturn updateRemainingTime()\r\n\t\t},\r\n\t\t[t],\r\n\t)\r\n\r\n\tconst setOtpData = useCallback(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_OTP_INFO,\r\n\t\t\tpayload: {\r\n\t\t\t\totpDistributedToContactInfo:\r\n\t\t\t\t\totpSessionResponse?.otpDistributedToContactInfo,\r\n\t\t\t\tsessionId: otpSessionResponse?.sessionId,\r\n\t\t\t\texpiryAtUtc: otpSessionResponse?.expiryAtUtc,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [otpSessionResponse, dispatchSdd])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetOtpData()\r\n\t\tif (otpSessionResponse?.expiryAtUtc !== undefined) {\r\n\t\t\tconst interval = window.setInterval(() => {\r\n\t\t\t\tCountdownTimer(otpSessionResponse?.expiryAtUtc)\r\n\t\t\t}, 1000)\r\n\r\n\t\t\treturn () => window.clearInterval(interval)\r\n\t\t}\r\n\t\treturn\r\n\t}, [otpSessionResponse, setOtpData, CountdownTimer])\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_DESCRIPTION,\r\n\t\t\tpayload: {\r\n\t\t\t\tdescription: `${\r\n\t\t\t\t\tsdd.distributionChannel ===\r\n\t\t\t\t\tOtpDistributionChannel.PushNotification\r\n\t\t\t\t\t\t? 'SDDAuthAppSubtitle'\r\n\t\t\t\t\t\t: 'SDDAuthOtpSubtitle'\r\n\t\t\t\t}`,\r\n\t\t\t},\r\n\t\t})\r\n\t}, [dispatchSdd, sdd.distributionChannel])\r\n\r\n\tfunction setAuthComplete(response: ISddEnrollmentCompleteResponse) {\r\n\t\tdispatchSdd({\r\n\t\t\ttype: SDD_ACTIONS.SET_MANDATE_DOC,\r\n\t\t\tpayload: {\r\n\t\t\t\tmandateDocumentId: response.mandateDocumentId,\r\n\t\t\t},\r\n\t\t})\r\n\t}\r\n\r\n\tasync function validateOtp(otpCode: string) {\r\n\t\tif (otpCode !== undefined) {\r\n\t\t\ttry {\r\n\t\t\t\tsddService\r\n\t\t\t\t\t.sddEnrollmentComplete({\r\n\t\t\t\t\t\tsessionId: sdd.sessionId,\r\n\t\t\t\t\t\tcustomerId: sdd.customerId,\r\n\t\t\t\t\t\totpCode: otpCode,\r\n\t\t\t\t\t\tdebtorIban: sdd.debtorIban,\r\n\t\t\t\t\t\tdebtorBic: sdd.debtorBic,\r\n\t\t\t\t\t\tsddWithdrawalType: sdd.sddWithdrawalType,\r\n\t\t\t\t\t\twithdrawalAmount: sdd.withdrawalAmount,\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tconsole.log(response.data)\r\n\t\t\t\t\t\t\tsetAuthComplete(response.data)\r\n\t\t\t\t\t\t\tdispatchMsp({\r\n\t\t\t\t\t\t\t\ttype: MSP_ACTIONS.SET_INDEX,\r\n\t\t\t\t\t\t\t\tpayload: {\r\n\t\t\t\t\t\t\t\t\t...msp,\r\n\t\t\t\t\t\t\t\t\tindex: msp.index + 1,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\t\t\ttop: 0,\r\n\t\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\t\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\t\tsetErr(true)\r\n\t\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\t})\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tsetErr(true)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsetErr(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{sdd.distributionChannel !==\r\n\t\t\tOtpDistributionChannel.PushNotification ? (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCode has been sent to\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tstate:\r\n\t\t\t\t\t\t\t\t\t\tsdd.distributionChannel ===\r\n\t\t\t\t\t\t\t\t\t\tOtpDistributionChannel.Email\r\n\t\t\t\t\t\t\t\t\t\t\t? maskedEmail(sdd.emailAddress)\r\n\t\t\t\t\t\t\t\t\t\t\t: maskedPhoneNr(sdd.phoneNumber),\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tand is valid for another:\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{time}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{timeOut ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t

{t('SDDAuthOtpText2')}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tsetOtpCode(e.target.value)\r\n\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tsetLoading(true)\r\n\t\t\t\t\t\t\t\t\t\t\tvalidateOtp(otpCode!)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('ProceedValidateAuthCode')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t setAuthSelect(true)}>\r\n\t\t\t\t\t\t\t{timeOut ? t('Retry') : t('Back')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

{t('SDDAuthAppText')}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{sdd.distributionChannel}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

The code is valid for another:

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ time: time }}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\tIf you have not received any message within 5\r\n\t\t\t\t\t\t\t\tminutes, please go back one step to resend it or\r\n\t\t\t\t\t\t\t\tchose a different distribution method.\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t setAuthSelect(true)}>\r\n\t\t\t\t\t\t\t{timeOut ? t('Retry') : t('Back')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useContext, useState } from 'react'\r\nimport { getMarket, CircleSpinner } from 'shared/index'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ReactComponent as SmartPhone } from 'img/icons/smartphone.svg'\r\nimport { ReactComponent as Mail } from 'img/icons/mail.svg'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport {\r\n\tmaskedEmail,\r\n\tmaskedPhoneNr,\r\n} from '../../SDD/SDDMultistep/MultistepBlocks/SDDAuthenticationBlocks/AuthValidation'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\ninterface AddressSecurityCodeProps {\r\n\tcustomer: ICustomer\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function AddressSecurityCode({\r\n\tcustomer,\r\n\tonSuccess,\r\n}: AddressSecurityCodeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [radio, setRadio] = useState<'sms' | 'email'>()\r\n\r\n\tconst initiateUserUpdateMutation = useMutation({\r\n\t\tmutationFn: () =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tphoneNumber: customerData?.mobilePhoneNumber,\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\taddress: {\r\n\t\t\t\t\tstreet: customer.street,\r\n\t\t\t\t\thouseNumber: customer.houseNumber,\r\n\t\t\t\t\tcity: customer.city,\r\n\t\t\t\t\tpostalCode: customer.postalCode,\r\n\t\t\t\t\tapartmentNumber: customer.apartmentNumber,\r\n\t\t\t\t\tshortAddress: `${\r\n\t\t\t\t\t\tcustomer.street + ' ' + customer.houseNumber\r\n\t\t\t\t\t}`,\r\n\t\t\t\t},\r\n\t\t\t\tchangeType: ContactInfoChangeType.Address,\r\n\t\t\t\tdistributionChannel:\r\n\t\t\t\t\tradio === 'sms'\r\n\t\t\t\t\t\t? OtpDistributionChannel.SMS\r\n\t\t\t\t\t\t: OtpDistributionChannel.Email,\r\n\t\t\t}),\r\n\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t})\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t initiateUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('AddressChangeButton')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDone(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.75 12.4545C1.75 6.57509 6.75353 1.75 13 1.75C19.2465 1.75 24.25 6.57509 24.25 12.4545C24.25 18.334 19.2465 23.1591 13 23.1591C6.75353 23.1591 1.75 18.334 1.75 12.4545ZM13 0.25C5.99163 0.25 0.25 5.68166 0.25 12.4545C0.25 19.2274 5.99163 24.6591 13 24.6591C20.0084 24.6591 25.75 19.2274 25.75 12.4545C25.75 5.68166 20.0084 0.25 13 0.25ZM19.5887 9.0889C19.8883 8.8029 19.8994 8.32815 19.6134 8.02853C19.3274 7.72891 18.8526 7.71787 18.553 8.00387L10.3986 15.7876L7.44754 12.9707C7.14792 12.6847 6.67318 12.6958 6.38717 12.9954C6.10117 13.295 6.11221 13.7697 6.41183 14.0557L9.88074 17.367C10.1706 17.6436 10.6266 17.6436 10.9165 17.367L19.5887 9.0889Z\",\n fill: \"#00A63B\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDone);\nexport default __webpack_public_path__ + \"static/media/done.87c240ee7ec2a52de7a895dfd7bfd581.svg\";\nexport { ForwardRef as ReactComponent };","import './index.scss'\r\nimport ReactOtpInput from 'react-otp-input'\r\n\r\nimport React from 'react'\r\n\r\ninterface OtpInputProps {\r\n\t/** Value of the OTP input */\r\n\tvalue?: string\r\n\t/** Callback to be called when the OTP value changes */\r\n\tonChange: (otp: string) => void\r\n}\r\n\r\nexport function OtpInput({ value, onChange }: OtpInputProps) {\r\n\treturn (\r\n\t\t }\r\n\t\t\tskipDefaultStyles\r\n\t\t\tcontainerStyle=\"otp-container\"\r\n\t\t\tinputStyle=\"otp-input\"\r\n\t\t/>\r\n\t)\r\n}\r\n","import React, { useContext, useState } from 'react'\r\nimport { CircleSpinner } from 'shared/index'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tderiveUserUpdateError,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { isAxiosError, getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface AddressOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function AddressOtp({ sessionId, onSuccess }: AddressOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isCard } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{ onSuccess: onSuccess },\r\n\t)\r\n\r\n\tconst isDeposit = !isCard?.isCard\r\n\r\n\tif (completeUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? deriveUserUpdateError(\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message,\r\n\t\t\t\t\t\t\t\tisDeposit,\r\n\t\t\t\t\t\t )\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('AddressChangeButton')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","var _path;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgWrong(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 25,\n viewBox: \"0 0 26 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1.75 12.2729C1.75 6.39345 6.75353 1.56836 13 1.56836C19.2465 1.56836 24.25 6.39345 24.25 12.2729C24.25 18.1524 19.2465 22.9774 13 22.9774C6.75353 22.9774 1.75 18.1524 1.75 12.2729ZM13 0.0683594C5.99163 0.0683594 0.25 5.50002 0.25 12.2729C0.25 19.0458 5.99163 24.4774 13 24.4774C20.0084 24.4774 25.75 19.0458 25.75 12.2729C25.75 5.50002 20.0084 0.0683594 13 0.0683594ZM18.5892 7.90666C18.8885 7.62031 18.899 7.14555 18.6126 6.84626C18.3263 6.54697 17.8515 6.53648 17.5522 6.82283L12.9961 11.1819L8.51465 6.95444C8.21334 6.67021 7.73867 6.68405 7.45444 6.98535C7.17021 7.28666 7.18405 7.76133 7.48535 8.04556L11.9109 12.2203L7.48152 16.4581C7.18222 16.7444 7.17173 17.2192 7.45808 17.5185C7.74443 17.8178 8.21919 17.8283 8.51848 17.5419L13.0034 13.2509L17.5561 17.5456C17.8574 17.8298 18.332 17.816 18.6163 17.5146C18.9005 17.2133 18.8867 16.7387 18.5854 16.4544L14.0887 12.2126L18.5892 7.90666Z\",\n fill: \"#FF5858\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgWrong);\nexport default __webpack_public_path__ + \"static/media/wrong.1546f1cb20a810bd2bf691425b2b1cf2.svg\";\nexport { ForwardRef as ReactComponent };","import './index.scss'\r\nimport { ReactNode } from 'react'\r\nimport React from 'react'\r\nimport clsx from 'clsx'\r\n\r\ninterface ScreenProps {\r\n\tchildren: ReactNode\r\n\tclassName?: string\r\n}\r\n\r\nexport function Screen({ children, className }: ScreenProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{children}
\r\n\t\t
\r\n\t)\r\n}\r\n","import './index.scss'\r\nimport { HTMLAttributes } from 'react'\r\nimport React from 'react'\r\nimport clsx from 'clsx'\r\n\r\ninterface CardProps extends HTMLAttributes {\r\n\ttransperentBackground?: boolean\r\n}\r\n\r\nexport function Card({ transperentBackground, className, ...rest }: CardProps) {\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function CardHeader({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardContent({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardFooter({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function CardInfoContainer({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfoTitle({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfo({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\nexport function CardInfoLabel({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\nexport function CardInfoValue({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\n\r\nCard.Header = CardHeader\r\nCard.Content = CardContent\r\nCard.Footer = CardFooter\r\n\r\nCard.InfoContainer = CardInfoContainer\r\nCard.InfoTitle = CardInfoTitle\r\nCard.Info = CardInfo\r\nCard.InfoLabel = CardInfoLabel\r\nCard.InfoValue = CardInfoValue\r\n","import React from 'react'\r\nimport './index.scss'\r\nimport { ReactComponent as Done } from 'img/icons/done.svg'\r\nimport { ReactComponent as Wrong } from 'img/icons/wrong.svg'\r\nimport { Screen } from '../ui/Screen'\r\nimport { Card } from '../ui/Card'\r\n\r\ninterface MessageProps {\r\n\ttype: 'success' | 'fail'\r\n\tmessage: string\r\n}\r\n\r\nexport function Message({ type, message }: MessageProps) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{type === 'success' && }\r\n\t\t\t{type === 'fail' && }\r\n\t\t\t
{message}
\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface MessageScreenProps extends MessageProps {\r\n\tfooter: React.JSX.Element\r\n}\r\n\r\nexport function MessageCard({ type, message, footer }: MessageScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{footer}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport function MessageScreen({ type, message, footer }: MessageScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React from 'react'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\n\r\ninterface SuccessProps {\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function Success({ onSuccess }: SuccessProps) {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{t('Back')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { AddressForm } from './AddressForm'\r\nimport './index.scss'\r\nimport { AddressSecurityCode } from './AddressSecurityCode'\r\nimport { AddressOtp } from './AddressOtp'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { Success } from '../Success'\r\n\r\ninterface AddressChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function AddressChange({ onGoBack }: AddressChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 4,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [customer, setCustomer] = useState()\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetCustomer(customer)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 &&\r\n\t\t\t\t(customer !== undefined ? (\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t) : null)}\r\n\t\t\t{activeStep === 3 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 4 && }\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket, CircleSpinner } from 'shared/index'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { AccountEmailFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { ISubmitCustomerInformation } from '../MyAccount'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nfunction deriveEmailForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountEmailFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface EmailFormProps {\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function EmailForm({ onSuccess }: EmailFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst initiateUserUpdateMutation = useMutation(\r\n\t\t(formData: ICustomer) =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\temailAddress: customerData?.email,\r\n\t\t\t\tnewContactDetail: formData.email,\r\n\t\t\t\tchangeType: ContactInfoChangeType.Email,\r\n\t\t\t\tdistributionChannel: OtpDistributionChannel.Email,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t\t},\r\n\t)\r\n\r\n\tconst emailFormSchema = deriveEmailForm(\r\n\t\t{\r\n\t\t\tformName: 'email',\r\n\t\t\tblockName: 'email',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t')}\r\n\t\t\t\tdescription={t('')}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t\tinitiateUserUpdateMutation.mutate(values.customer)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tcompleteUserUpdateErrors,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage, isAxiosError } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface EmailOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function EmailOtp({ onSuccess, sessionId }: EmailOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: onSuccess,\r\n\t\t},\r\n\t)\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t')}\r\n\t\t\t\tdescription={t('')}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? completeUserUpdateErrors[\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message\r\n\t\t\t\t\t\t ]\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('Save')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { EmailForm } from './EmailForm'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport './index.scss'\r\nimport { EmailOtp } from './EmailOtp'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\nimport { Success } from '../Success'\r\n\r\ninterface EmailChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function EmailChange({ onGoBack }: EmailChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 3,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 3 && }\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { getLanguageLocale, getMarket, CircleSpinner } from 'shared/index'\r\nimport {\r\n\tinitiateUserUpdate,\r\n\tContactInfoChangeType,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { FormWrapper } from 'shared/formBuilder/formWrapper'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { ISubmitCustomerInformation } from '../MyAccount'\r\nimport { AccountMobilePhoneFormDE_AT } from 'shared/formBuilder/forms/customerInformationFormDE_AT'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { OtpDistributionChannel } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nfunction deriveMobilePhoneForm(formMeta: any, data: any) {\r\n\treturn FormWrapper([AccountMobilePhoneFormDE_AT(data)], formMeta)\r\n}\r\n\r\ninterface PhoneFormProps {\r\n\tonSuccess: (sessionId: string) => void\r\n}\r\n\r\nexport function PhoneForm({ onSuccess }: PhoneFormProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst initiateUserUpdateMutation = useMutation(\r\n\t\t(formData: ICustomer) =>\r\n\t\t\tinitiateUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tfirstName: customerData?.firstName,\r\n\t\t\t\tlastName: customerData?.lastName,\r\n\t\t\t\tmarket: getMarket(),\r\n\t\t\t\tphoneNumber: formData.mobilePhoneNumber,\r\n\t\t\t\tnewContactDetail: formData.mobilePhoneNumber,\r\n\t\t\t\tchangeType: ContactInfoChangeType.PhoneNumber,\r\n\t\t\t\tdistributionChannel: OtpDistributionChannel.SMS,\r\n\t\t\t}),\r\n\t\t{\r\n\t\t\tonSuccess: ({ sessionId }) => onSuccess(sessionId),\r\n\t\t},\r\n\t)\r\n\r\n\tconst mobilePhoneFormSchema = deriveMobilePhoneForm(\r\n\t\t{\r\n\t\t\tformName: 'mobilePhone',\r\n\t\t\tblockName: 'mobilePhone',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tif (initiateUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t')}\r\n\t\t\t\tdescription={t('')}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\t\t\t\t\tinitiateUserUpdateMutation.mutate(values.customer)\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\r\n\t\t\t{initiateUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(initiateUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport {\r\n\tcompleteUserUpdate,\r\n\tcompleteUserUpdateErrors,\r\n} from 'selfServicePortal/services/CustomerServices/updateUserService'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { OtpInput } from 'selfServicePortal/components/OtpInput/OtpInput'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { getErrorMessage, isAxiosError } from 'selfServicePortal/utils'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport { CircleSpinner } from 'shared/index'\r\nimport { ContactOtpLength } from '../MyAccount'\r\n\r\ninterface PhoneOtpProps {\r\n\tsessionId: string | undefined\r\n\tonSuccess: () => void\r\n}\r\n\r\nexport function PhoneOtp({ sessionId, onSuccess }: PhoneOtpProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [otp, setOtp] = useState('')\r\n\tconst completeUserUpdateMutation = useMutation(\r\n\t\t() =>\r\n\t\t\tcompleteUserUpdate({\r\n\t\t\t\tcustomerId: customerData?.customerId,\r\n\t\t\t\tsessionId,\r\n\t\t\t\totpCode: otp,\r\n\t\t\t}),\r\n\t\t{ onSuccess: onSuccess },\r\n\t)\r\n\r\n\tif (completeUserUpdateMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t')}\r\n\t\t\t\tdescription={t('')}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\r\n\t\t\t{completeUserUpdateMutation.isError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAxiosError(completeUserUpdateMutation.error)\r\n\t\t\t\t\t\t? completeUserUpdateErrors[\r\n\t\t\t\t\t\t\t\tcompleteUserUpdateMutation.error.response?.data\r\n\t\t\t\t\t\t\t\t\t.message\r\n\t\t\t\t\t\t ]\r\n\t\t\t\t\t\t: getErrorMessage(completeUserUpdateMutation.error)}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t completeUserUpdateMutation.mutate()}>\r\n\t\t\t\t\t{t('Save')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react'\r\nimport { PhoneForm } from './PhoneForm'\r\nimport { useStepper } from 'selfServicePortal/components/Stepper/use-stepper'\r\nimport { Stepper } from 'selfServicePortal/components/Stepper/stepper'\r\nimport './index.scss'\r\nimport { PhoneOtp } from './PhoneOtp'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faChevronLeft } from '@fortawesome/free-solid-svg-icons'\r\nimport { Success } from '../Success'\r\n\r\ninterface PhoneChangeProps {\r\n\tonGoBack: () => void\r\n}\r\n\r\nexport function PhoneChange({ onGoBack }: PhoneChangeProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { stepAmount, activeStep, nextStep, prevStep, isFirstStep } =\r\n\t\tuseStepper({\r\n\t\t\tstepAmount: 3,\r\n\t\t\tinitialStep: 1,\r\n\t\t})\r\n\tconst [sessionId, setSessionId] = useState()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{activeStep === 1 && (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tsetSessionId(sessionId)\r\n\t\t\t\t\t\tnextStep()\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t\t{activeStep === 2 && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{activeStep === 3 && }\r\n\t\t
\r\n\t)\r\n}\r\n","import './FormInfo.scss'\r\nimport React from 'react'\r\n\r\ninterface Props {\r\n\tlabel: string\r\n\tvalue?: string | undefined\r\n\tchildren?: React.ReactNode\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FormInfo({ label, value, children, disabled }: Props) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{value ? (\r\n\t\t\t\t{value}\r\n\t\t\t) : null}\r\n\t\t\t{children}\r\n\t\t\t{label}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nfunction FormInfoValue({ children, disabled = false }: any) {\r\n\treturn (\r\n\t\t
{children}
\r\n\t)\r\n}\r\n\r\nfunction FormInfoFloatRight({ children }: any) {\r\n\treturn
{children}
\r\n}\r\n\r\nFormInfo.FloatRight = FormInfoFloatRight\r\nFormInfo.Value = FormInfoValue\r\n","import React, { useContext } from 'react'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { FormInfo } from 'selfServicePortal/components/FormInfo/FormInfo'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faPen } from '@fortawesome/free-solid-svg-icons'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { MyAccountPages } from '../MyAccount'\r\nimport { Heading } from 'selfServicePortal/components'\r\nimport './index.scss'\r\nimport { useQuery } from '@tanstack/react-query'\r\nimport { getContactChangeStatus } from 'selfServicePortal/services/CustomerServices/getContactChangeStatusService'\r\nimport { CircleSpinner } from 'shared'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\n\r\ninterface InfoProps {\r\n\tonInfoClick: (page: MyAccountPages) => void\r\n}\r\n\r\nexport function Info({ onInfoClick }: InfoProps) {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst contactChangeStatusQuery = useQuery({\r\n\t\tqueryFn: () => getContactChangeStatus(customerData?.customerId),\r\n\t})\r\n\r\n\tconst renderedHeading = contactChangeStatusQuery.data?.canChangeAddress ? (\r\n\t\t\r\n\t) : (\r\n\t\t\r\n\t)\r\n\r\n\tif (contactChangeStatusQuery.isLoading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{renderedHeading}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (contactChangeStatusQuery.isError) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{renderedHeading}\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t{getErrorMessage(contactChangeStatusQuery.error)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{renderedHeading}\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{customerData?.city}
\r\n\t\t\t\t\t\t\t
{`${customerData?.street} ${customerData?.houseNumber}`}
\r\n\t\t\t\t\t\t\t
{customerData?.postalCode}
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{contactChangeStatusQuery.data?.canChangeAddress ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tonInfoClick('address')\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t{/* \t */}\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t{/* \t */}\r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import axios from '../axios'\r\nimport { logError } from '../../../shared'\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport appConfig from '../../../app.config'\r\n\r\nexport async function getContactChangeStatus(customerId: string | undefined) {\r\n\treturn axios\r\n\t\t.get<{\r\n\t\t\tcanChangeContactInfo: boolean\r\n\t\t\tcanChangeAddress: boolean\r\n\t\t}>(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/User/${customerId}/contact/change/status`,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","import React, { useState } from 'react'\r\nimport { ICustomer } from 'selfServicePortal/interfaces/i-api-customer'\r\nimport { AddressChange } from './AddressChange/AddressChange'\r\nimport './index.scss'\r\nimport { EmailChange } from './EmailChange/EmailChange'\r\nimport { PhoneChange } from './PhoneChange/PhoneChange'\r\nimport { Info } from './Info/Info'\r\n\r\nexport interface ISubmitCustomerInformation {\r\n\tcustomer: ICustomer\r\n\tformMeta: any\r\n}\r\n\r\nexport type MyAccountPages = 'info' | 'address' | 'email' | 'phone'\r\n\r\nexport const ContactOtpLength = 6\r\n\r\n// Keep in mind we are conditionally rendering different pages because of the burden of tech debt.\r\nconst MyAccount = () => {\r\n\tconst [currentPage, setCurrentPage] = useState('info')\r\n\r\n\tfunction handleGoBack() {\r\n\t\tsetCurrentPage('info')\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{currentPage === 'info' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{currentPage === 'address' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{currentPage === 'phone' && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{currentPage === 'email' && (\r\n\t\t\t\t\t\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 MyAccount\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { Heading, AccordionItem } from '../../../../components/index'\r\n\r\nimport { customerDataApiService } from 'shared'\r\nimport { ProductType } from 'selfServicePortal/interfaces/i-api-support'\r\nimport { IFaqEntry } from 'shared/interfaces/i-api-faq'\r\nimport appConfig from 'app.config'\r\nimport i18next from 'i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nimport './Faq.scss'\r\n\r\nconst Faq = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { productType } = useContext(SspContext)\r\n\tconst [data, setData] = useState([])\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getFaq() {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait customerDataApiService\r\n\t\t\t\t.getFAQ(\r\n\t\t\t\t\tappConfig.country,\r\n\t\t\t\t\tproductType === 'Card'\r\n\t\t\t\t\t\t? ProductType.Card\r\n\t\t\t\t\t\t: productType === 'Deposit_Fixed'\r\n\t\t\t\t\t\t ? ProductType.Deposit_Fixed\r\n\t\t\t\t\t\t : ProductType.Deposit,\r\n\t\t\t\t\ti18next.language,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\t\t.then((data) => setData(data))\r\n\t\t\t\t.then(() => setLoading(false))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetError(error)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\tgetFaq()\r\n\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{data?.map((parent) => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Faq\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nimport { IAnnualReport } from '../../../../../../selfServicePortal/interfaces/i-api-creaditCard';\r\n\r\ninterface IMobileAnnualReport {\r\n\tdata: IAnnualReport\r\n}\r\n\r\nconst MobileAnnualReport = ({ data }: IMobileAnnualReport) => {\r\n\tconst { t } = useTranslation()\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
{t('AnnualReport')}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('Deposit')}\r\n\t\t\t\t
{data.accountDebitBalance}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('UsedCredit')}\r\n\t\t\t\t
{data.accountCreditBalance}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('RecieveInterest')}\r\n\t\t\t\t
{data.interestReceived}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('InterestPaid')}\r\n\t\t\t\t
{data.interestPaid}
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{t('ValueDate')}\r\n\t\t\t\t
{data.currency}
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default MobileAnnualReport;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next'\r\nimport { logError } from '../../../shared';\r\nimport { IAnnualReport } from '../../interfaces/i-api-creaditCard'\r\n\r\nasync function getAnnualReportService(accountAgreementId: string, t: TFunction) {\r\n const response = await Axios\r\n .get(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/annualreport?accountAgreementId=${accountAgreementId}`,\r\n await getHeadersWithJwtToken()\r\n )\r\n .then((result) => {\r\n return result.data as IAnnualReport\r\n })\r\n .catch((err) => {\r\n logError(err)\r\n if (err.response?.status === 404) {\r\n throw new Error(t('AnnualReportNoData'))\r\n } else {\r\n throw err\r\n }\r\n })\r\n return response as IAnnualReport\r\n}\r\nexport default getAnnualReportService;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../../selfServicePortal/contexts/SspContext'\r\nimport { checkIsMobile } from 'shared'\r\nimport { TableLegacy } from '../../../../components/index'\r\nimport MobileAnnualReport from './MobileAnnualReport/MobileAnnualReport'\r\nimport { IAnnualReport } from '../../../../../selfServicePortal/interfaces/i-api-creaditCard'\r\nimport getAnnualReportService from '../../../../services/CreditCardServices/getAnnualReportService'\r\n\r\nconst AnnualReport = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\r\n\tconst { overviewData } = useContext(SspContext)\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [error, setError] = useState()\r\n\tconst [data, setData] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tasync function getAnnualReport() {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait getAnnualReportService(overviewData?.accountAgreementId!, t)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tsetData(data)\r\n\t\t\t\t})\r\n\t\t\t\t.then(() => setLoading(false))\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.log(error)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t\tsetError(error)\r\n\t\t\t\t})\r\n\t\t}\r\n\t\tgetAnnualReport()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\tconst cols = [\r\n\t\tt('Deposit'),\r\n\t\tt('UsedCredit'),\r\n\t\tt('RecieveInterest'),\r\n\t\tt('InterestPaid'),\r\n\t\tt('ValueDate'),\r\n\t]\r\n\r\n\tlet itemsToRender\r\n\tif (data && !loading) {\r\n\t\titemsToRender = (\r\n\t\t\t\r\n\t\t\t\t{data.accountDebitBalance}\r\n\t\t\t\t{data.accountCreditBalance}\r\n\t\t\t\t{data.interestReceived}\r\n\t\t\t\t{data.interestPaid}\r\n\t\t\t\t{data.currency}\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{loading ? (\r\n\t\t\t\t
\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t
{t(error.message)}
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{isMobile && data ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
{t('AnnualReport')}
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\nexport default AnnualReport\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { INewCard } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function orderNewCardService(newCard: INewCard, t: TFunction) {\r\n const response = await Axios.post(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/newcard`,\r\n newCard,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data;\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\n\r\nexport default orderNewCardService;","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { IUpdateCard } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function updateCardStatusService(updateCard: IUpdateCard, t: TFunction) {\r\n const response = await Axios.post(\r\n `${appConfig.customerDataBaseUrl}/api/creditcard/updatecardstatus`,\r\n updateCard,\r\n await getHeadersWithJwtToken()\r\n ).then((data) => {\r\n if (data.status === 200) {\r\n return data\r\n }\r\n throw new Error(t('ErrorMsg'))\r\n }).catch((err) => {\r\n logError(err)\r\n throw new Error(t('ErrorMsg'))\r\n })\r\n return response;\r\n}\r\nexport default updateCardStatusService;","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../../contexts/SspContext'\r\nimport {\r\n\tICreditBalance,\r\n\tINewCard,\r\n\tIUpdateCard,\r\n\tStatusCardActivation,\r\n\tStatusIssuer,\r\n\tStatusUser,\r\n} from '../../../../interfaces/i-api-creaditCard'\r\nimport orderNewCardService from '../../../../services/CreditCardServices/orderNewCardService'\r\nimport updateCardStatusService from '../../../../services/CreditCardServices/updateCardStatusService'\r\nimport {\r\n\tcheckIsMobile,\r\n\tgetErrorWithFullMessage,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\n\r\nconst ActivateLockCard = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { overviewData, customerData } = useContext(SspContext)\r\n\tconst [creditCardData] = useState(overviewData as ICreditBalance)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [error, setError] = useState()\r\n\tconst [newStatus, setNewStatus] = useState('')\r\n\tconst [newDataSet, setNewDataSet] = useState<{\r\n\t\ttype: string\r\n\t\tstatus: StatusIssuer\r\n\t\tstatusDisplayed: string\r\n\t\tvalue: (IUpdateCard | INewCard)[]\r\n\t\tdropDown: string[]\r\n\t}>()\r\n\tconst [currentStatus, setCurrentStatus] = useState(\r\n\t\tnewDataSet?.status!,\r\n\t)\r\n\r\n\tconst note = 'user updated status via ssp'\r\n\r\n\tconst updateCardStatus = async () => {\r\n\t\tsetLoading(true)\r\n\t\ttry {\r\n\t\t\tif (newStatus === StatusIssuer.OrderNewCard) {\r\n\t\t\t\tlet newCard: INewCard\r\n\t\t\t\tnewCard = {\r\n\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t}\r\n\t\t\t\tawait orderNewCardService(newCard, t).then(() => {\r\n\t\t\t\t\tsetCurrentStatus(t('OrderNewCardStatus'))\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('OrderNewCardStatus'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: '',\r\n\t\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: [''],\r\n\t\t\t\t\t})\r\n\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tawait updateCardStatusService(\r\n\t\t\t\t\tnewDataSet?.value.find(\r\n\t\t\t\t\t\t(x) => x.id === newStatus,\r\n\t\t\t\t\t) as IUpdateCard,\r\n\t\t\t\t\tt,\r\n\t\t\t\t).then((response) => {\r\n\t\t\t\t\tif (response.data.statusUser === 'Active') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('ActiveStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Decline',\r\n\t\t\t\t\t\t\t\t\tstatusUser: StatusUser.Decline,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: [\r\n\t\t\t\t\t\t\t\t'Decline',\r\n\t\t\t\t\t\t\t\t'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t'OrderNewCard',\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (response.data.statusUser === 'Decline') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusUser',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusUser.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('DeclineStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\t\tstatusUser: StatusUser.Active,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: [\r\n\t\t\t\t\t\t\t\t'Active',\r\n\t\t\t\t\t\t\t\t'PickUpGeneral',\r\n\t\t\t\t\t\t\t\t'OrderNewCard',\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tresponse.data.statusCardActivation === 'Inactive'\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('Inactive'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\t\tstatusCardActivation:\r\n\t\t\t\t\t\t\t\t\t\tStatusCardActivation.Active,\r\n\t\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t\tstatusCardActivationNote: note,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: ['Active'],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else if (response.data.statusIssuer === 'PickUpGeneral') {\r\n\t\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\t\ttype: 'statusIssuer',\r\n\t\t\t\t\t\t\tstatus: creditCardData.statusIssuer.statusIssuer,\r\n\t\t\t\t\t\t\tstatusDisplayed: t('PickUpGeneralStatus'),\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\t\tcardAgreementId:\r\n\t\t\t\t\t\t\t\t\t\tcreditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\tdropDown: ['OrderNewCard'],\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetCurrentStatus(newStatus!)\r\n\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\tsetLoading(false)\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\tconst renderStatusData = () => {\r\n\t\tif (creditCardData.statusIssuer.statusIssuer === StatusIssuer.Active) {\r\n\t\t\tif (\r\n\t\t\t\tcreditCardData.statusUser.statusIssuer === StatusIssuer.Active\r\n\t\t\t) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tcreditCardData.statusCardActivation.statusIssuer ===\r\n\t\t\t\t\tStatusIssuer.Active\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('ActiveStatus'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'Decline',\r\n\t\t\t\t\t\t\t\tstatusUser: StatusUser.Decline,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: ['Decline', 'PickUpGeneral', 'OrderNewCard'],\r\n\t\t\t\t\t})\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tcreditCardData.statusCardActivation.statusIssuer ===\r\n\t\t\t\t\tStatusIssuer.NotActive\r\n\t\t\t\t) {\r\n\t\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\t\ttype: 'statusCardActivation',\r\n\t\t\t\t\t\tstatus: creditCardData.statusCardActivation\r\n\t\t\t\t\t\t\t.statusIssuer,\r\n\t\t\t\t\t\tstatusDisplayed: t('Inactive'),\r\n\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\t\tstatusCardActivation:\r\n\t\t\t\t\t\t\t\t\tStatusCardActivation.Active,\r\n\t\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\t\tstatusCardActivationNote: note,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdropDown: ['Active'],\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t} else if (\r\n\t\t\t\tcreditCardData.statusUser.statusIssuer === StatusIssuer.Decline\r\n\t\t\t) {\r\n\t\t\t\tsetNewDataSet({\r\n\t\t\t\t\ttype: 'statusUser',\r\n\t\t\t\t\tstatus: creditCardData.statusUser.statusIssuer,\r\n\t\t\t\t\tstatusDisplayed: t('DeclineStatus'),\r\n\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'Active',\r\n\t\t\t\t\t\t\tstatusUser: StatusUser.Active,\r\n\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\tstatusUserNote: note,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'PickUpGeneral',\r\n\t\t\t\t\t\t\tstatusIssuer: StatusIssuer.PickUpGeneral,\r\n\t\t\t\t\t\t\tcardId: creditCardData.cardID,\r\n\t\t\t\t\t\t\tstatusIssuerNote: note,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t\tdropDown: ['Active', 'PickUpGeneral', 'OrderNewCard'],\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t} else if (\r\n\t\t\tcreditCardData.statusIssuer.statusIssuer ===\r\n\t\t\tStatusIssuer.PickUpGeneral\r\n\t\t) {\r\n\t\t\tsetNewDataSet({\r\n\t\t\t\ttype: 'statusIssuer',\r\n\t\t\t\tstatus: creditCardData.statusIssuer.statusIssuer,\r\n\t\t\t\tstatusDisplayed: t('PickUpGeneralStatus'),\r\n\t\t\t\tvalue: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: 'OrderNewCard',\r\n\t\t\t\t\t\tcardAgreementId: creditCardData.cardAgreementId,\r\n\t\t\t\t\t\tcardID: creditCardData.cardID,\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tdropDown: ['OrderNewCard'],\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\tconst onChangeSelect = (e: any) => {\r\n\t\tsetNewStatus(e.target.value)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\trenderStatusData()\r\n\t\t// eslint-disable-next-line\r\n\t}, [creditCardData])\r\n\r\n\tuseEffect(() => {\r\n\t\tsetNewStatus(newDataSet?.dropDown[0] as string)\r\n\t\tsetCurrentStatus(newDataSet?.statusDisplayed!)\r\n\t}, [newDataSet])\r\n\r\n\tlet cls = ['d-flex', 'justify-content-between', 'mt-3']\r\n\tif (isMobile) cls.push('flex-column')\r\n\r\n\tconst Column = (props: any) => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{t(props.title)}\r\n\t\t\t\t
\r\n\t\t\t\t{props.item}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ActivateLockCard')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ActivateLockCardText')}
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t onChangeSelect(e)}\r\n\t\t\t\t\t\t\t\tvalue={newStatus}>\r\n\t\t\t\t\t\t\t\t{newDataSet?.dropDown.map(\r\n\t\t\t\t\t\t\t\t\t(item: string, key: number) => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tupdateCardStatus()\r\n\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>{t('Confirm')}\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t{success && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('UpdateCardStatusSuccess')}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{error.message}\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default ActivateLockCard\r\n","import React, { useState, ReactNode } from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\n\r\ninterface UseFancyNumberParams {\r\n\tinitialNumber: number\r\n\tminNumber: number\r\n\tmaxNumber: number\r\n\tstep: number\r\n}\r\n\r\nfunction roundToStep(value: number, step: number) {\r\n\treturn Math.round(value / step) * step\r\n}\r\n\r\nexport function deriveFancyStep(minNumber: number, maxNumber: number) {\r\n\tconst gap = maxNumber - minNumber\r\n\r\n\tif (gap < 100) {\r\n\t\treturn 10\r\n\t} else if (gap < 1000) {\r\n\t\treturn 50\r\n\t} else if (gap < 10000) {\r\n\t\treturn 100\r\n\t} else {\r\n\t\treturn 1000\r\n\t}\r\n}\r\n\r\nexport function useFancyNumber({\r\n\tinitialNumber,\r\n\tminNumber,\r\n\tmaxNumber,\r\n\tstep,\r\n}: UseFancyNumberParams) {\r\n\tconst [number, setNumber] = useState(initialNumber)\r\n\tconst offSetFromStep = number % step\r\n\r\n\tfunction onIncrease() {\r\n\t\tconst calculatedStep = offSetFromStep ? step - offSetFromStep : step\r\n\t\tsetNumber((prev) => {\r\n\t\t\treturn prev + calculatedStep < maxNumber\r\n\t\t\t\t? prev + calculatedStep\r\n\t\t\t\t: maxNumber\r\n\t\t})\r\n\t}\r\n\tfunction onDecrease() {\r\n\t\tconst calculatedStep = offSetFromStep || step\r\n\t\tsetNumber((prev) => {\r\n\t\t\treturn prev - calculatedStep > minNumber\r\n\t\t\t\t? prev - calculatedStep\r\n\t\t\t\t: minNumber\r\n\t\t})\r\n\t}\r\n\r\n\tfunction onValidate() {\r\n\t\tif (number > maxNumber) {\r\n\t\t\tsetNumber(maxNumber)\r\n\t\t} else if (number < minNumber) {\r\n\t\t\tsetNumber(minNumber)\r\n\t\t} else {\r\n\t\t\tsetNumber(number)\r\n\t\t}\r\n\t}\r\n\r\n\tconst percentage = ((number - minNumber) / (maxNumber - minNumber)) * 100\r\n\r\n\treturn {\r\n\t\tinitialNumber,\r\n\t\tminNumber,\r\n\t\tmaxNumber,\r\n\t\tstep,\r\n\t\tonIncrease,\r\n\t\tonDecrease,\r\n\t\tnumber,\r\n\t\tonNumberChange: setNumber,\r\n\t\tonValidate,\r\n\t\tpercentage,\r\n\t\tsetNumber,\r\n\t}\r\n}\r\n\r\ninterface FancyNumberProps {\r\n\tchildren: React.ReactNode\r\n}\r\n\r\nexport function FancyNumber({ children }: FancyNumberProps) {\r\n\treturn
{children}
\r\n}\r\n\r\ninterface FancyNumberInputProps {\r\n\tonValidate: () => void\r\n\tonDecrease: () => void\r\n\tonIncrease: () => void\r\n\tnumber: number\r\n\tinitialNumber: number\r\n\tonNumberChange: React.Dispatch>\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FancyNumberInput({\r\n\tonValidate,\r\n\tonDecrease,\r\n\tonIncrease,\r\n\tnumber,\r\n\tinitialNumber,\r\n\tonNumberChange,\r\n\tdisabled,\r\n}: FancyNumberInputProps) {\r\n\tconst [isMinusSpinning, setMinusSpinning] = useState(false)\r\n\tconst [isPlusSpinning, setPlusSpinning] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t {\r\n\t\t\t\t\tsetMinusSpinning(true)\r\n\t\t\t\t\tonDecrease()\r\n\t\t\t\t}}\r\n\t\t\t\tclassName={clsx('step-button minus', isMinusSpinning && 'spin')}\r\n\t\t\t\tonTransitionEnd={() => setMinusSpinning(false)}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t\t onNumberChange(Number(e.target.value))}\r\n\t\t\t\tonBlur={onValidate}\r\n\t\t\t\ttype=\"number\"\r\n\t\t\t\tclassName=\"number-field\"\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t\tonFocus={(e) => {\r\n\t\t\t\t\tif (initialNumber === number) {\r\n\t\t\t\t\t\te.target.select()\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\t {\r\n\t\t\t\t\tsetPlusSpinning(true)\r\n\t\t\t\t\tonIncrease()\r\n\t\t\t\t}}\r\n\t\t\t\tclassName={clsx('step-button plus', isPlusSpinning && 'spin')}\r\n\t\t\t\tonTransitionEnd={() => setPlusSpinning(false)}\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\ninterface FancySliderProps {\r\n\tinitialNumber: number\r\n\tminNumber: number\r\n\tmaxNumber: number\r\n\tstep: number\r\n\tonIncrease: () => void\r\n\tonDecrease: () => void\r\n\tnumber: number\r\n\tonNumberChange: React.Dispatch>\r\n\tonValidate: () => void\r\n\tpercentage: number\r\n\tdisabled?: boolean\r\n}\r\n\r\nexport function FancyNumberSlider({\r\n\tstep,\r\n\tmaxNumber,\r\n\tminNumber,\r\n\tonNumberChange,\r\n\tnumber,\r\n\tpercentage,\r\n\tdisabled,\r\n}: FancySliderProps) {\r\n\tfunction handleChange(value: number) {\r\n\t\tconst roundedValue = roundToStep(value, step)\r\n\t\tconst isNotReachableLowerLimit = minNumber > roundedValue\r\n\t\tconst isNotReachableUpperLimit = maxNumber - roundedValue < step\r\n\r\n\t\t// We're a bit too smart here beacuse we need to. If number is not reachable beacuse of step value we handle it. Otherwise we round it.\r\n\t\tif (isNotReachableLowerLimit) {\r\n\t\t\tonNumberChange(minNumber)\r\n\t\t} else if (isNotReachableUpperLimit) {\r\n\t\t\tonNumberChange(maxNumber)\r\n\t\t} else {\r\n\t\t\tonNumberChange(roundedValue)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t handleChange(Number(target.value))}\r\n\t\t\t\tclassName=\"slider-control\"\r\n\t\t\t\tdisabled={disabled}\r\n\t\t\t/>\r\n\t\t
\r\n\t)\r\n}\r\n\r\nfunction FancyNumberInputLabel({ children }: { children: ReactNode }) {\r\n\treturn {children}\r\n}\r\n\r\nfunction FancyNumberSliderLabel({\r\n\tleft,\r\n\tright,\r\n}: {\r\n\tleft: ReactNode\r\n\tright: ReactNode\r\n}) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{left}\r\n\t\t\t{right}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nFancyNumber.Input = FancyNumberInput\r\nFancyNumber.InputLabel = FancyNumberInputLabel\r\nFancyNumber.Slider = FancyNumberSlider\r\nFancyNumber.SliderLabel = FancyNumberSliderLabel\r\n","import axios from '../axios'\r\nimport appConfig from 'app.config'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared/AppInsight'\r\n\r\nexport interface DecreaseLimitParams {\r\n\tdesiredLimit: number\r\n\tssn: string\r\n\temail: string\r\n\tmobileNumber: string\r\n\tpartyId: string\r\n}\r\n\r\nexport type LimitChangeDesicion =\r\n\t| 'Approved'\r\n\t| 'Investigation'\r\n\t| 'Rejected'\r\n\t| 'Invalid'\r\n\t| 'Error'\r\n\r\nexport interface DecreaseLimitResponse {\r\n\tapprovedCreditLimit: number\r\n\tdecision: LimitChangeDesicion\r\n\trejectionReason: {\r\n\t\tcode: string | null\r\n\t\tmessage: string | null\r\n\t}\r\n\teffectiveInterestRate: number\r\n\tesigningApplicantUrl: string | null\r\n\tonlineIdentification: string | null\r\n\tapplicationId: number\r\n}\r\n\r\nexport async function decreaseLimit(params: DecreaseLimitParams) {\r\n\treturn axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/limit/decrease`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","var _circle, _text;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRedErrorExclamationmark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Group_212\",\n \"data-name\": \"Group 212\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Ellipse_16\",\n \"data-name\": \"Ellipse 16\",\n cx: 16,\n cy: 16,\n r: 16,\n fill: \"#8d191d\"\n })), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n id: \"_\",\n \"data-name\": \"!\",\n transform: \"translate(16 25)\",\n fill: \"#fff\",\n fontSize: 25,\n fontFamily: \"Raleway-SemiBold, Raleway\",\n fontWeight: 600\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: -3.55,\n y: 0\n }, \"!\"))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRedErrorExclamationmark);\nexport default __webpack_public_path__ + \"static/media/red-error-exclamationmark.ae608edbbf8e95b07060518646f04af5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport Warning from 'img/error-icons/red-error-exclamationmark.svg'\r\nimport './dropdown.scss'\r\n\r\ninterface DropdownProps {\r\n\tlabel: string\r\n\toptions: { value: string; label: string }[]\r\n\tfieldName: string\r\n\tonChange?: (event: React.ChangeEvent) => void\r\n}\r\n\r\nconst Dropdown = ({ label, options, fieldName, onChange }: DropdownProps) => {\r\n\tconst {\r\n\t\tregister,\r\n\t\tformState: { errors },\r\n\t} = useFormContext()\r\n\tconst [isHover, setIsHover] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{errors[fieldName] && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tRequired field\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t setIsHover(true)}\r\n\t\t\t\t\t\t\tonMouseLeave={() => setIsHover(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{options.map(({ value, label }) => (\r\n\t\t\t\t\t\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 Dropdown\r\n","import React, { useState } from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport './switcher.scss'\r\n\r\ninterface SwitcherProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n}\r\nconst Switcher = ({ label, fieldName }: SwitcherProps) => {\r\n\tconst [valueNumber, setValueNumber] = useState(0)\r\n\tconst { register, setValue } = useFormContext()\r\n\r\n\tconst increment = () => {\r\n\t\tconst newValue = valueNumber + 1\r\n\t\tsetValue(fieldName, newValue)\r\n\t\tsetValueNumber(newValue)\r\n\t}\r\n\tconst decrement = () => {\r\n\t\tif (valueNumber > 0) {\r\n\t\t\tconst newValue = valueNumber - 1\r\n\t\t\tsetValue(fieldName, newValue)\r\n\t\t\tsetValueNumber(newValue)\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t-\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t+\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 Switcher\r\n","import React, { useState } from 'react'\r\nimport { getCurrency } from 'shared'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport Warning from 'img/error-icons/red-error-exclamationmark.svg'\r\nimport './input.scss'\r\n\r\ninterface InputProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n\tdisabled?: boolean\r\n\thaveCurrency?: boolean\r\n}\r\nconst FormInput = ({\r\n\tlabel,\r\n\tfieldName,\r\n\tdisabled,\r\n\thaveCurrency,\r\n}: InputProps) => {\r\n\tconst {\r\n\t\tregister,\r\n\t\twatch,\r\n\t\tformState: { errors },\r\n\t} = useFormContext()\r\n\tconst fieldValue = watch(fieldName)\r\n\tconst [isHover, setIsHover] = useState(false)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{errors[fieldName] && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{errors[fieldName]?.message}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t setIsHover(true)}\r\n\t\t\t\t\t\t\tonMouseLeave={() => setIsHover(false)}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t{haveCurrency === true && (\r\n\t\t\t\t
{getCurrency()}
\r\n\t\t\t)}\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default FormInput\r\n","import React from 'react'\r\nimport { useFormContext } from 'react-hook-form'\r\nimport './checkbox.scss'\r\n\r\ninterface CheckboxProps {\r\n\tlabel: string\r\n\tfieldName: string\r\n\thandler: () => void\r\n}\r\n\r\nconst Checkbox = ({ label, fieldName, handler }: CheckboxProps) => {\r\n\tconst { register } = useFormContext()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default Checkbox\r\n","import React, { HTMLAttributes } from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\nimport { Screen } from '../Screen'\r\nimport { Card } from '../Card'\r\n\r\nexport function Spinner({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn \r\n}\r\n\r\ninterface SpinnerScreenProps {\r\n\tmessage?: string | React.ReactNode\r\n}\r\n\r\nexport function SpinnerCard({ message }: SpinnerScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{message === undefined ? null : typeof message === 'string' ? (\r\n\t\t\t\t\t
{message}
\r\n\t\t\t\t) : (\r\n\t\t\t\t\tmessage\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport function SpinnerScreen({ message }: SpinnerScreenProps) {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { forwardRef } from 'react'\r\nimport clsx from 'clsx'\r\nimport './index.scss'\r\n\r\nconst variants = {\r\n\tplain: 'button',\r\n\tghost: 'button button--ghost',\r\n\toutline: 'button button--outline',\r\n\r\n\tprimary: 'button button--primary',\r\n\tsecondary: 'button button--secondary',\r\n}\r\n\r\ninterface ButtonProps extends React.ButtonHTMLAttributes {\r\n\tvariant: keyof typeof variants\r\n}\r\n\r\nexport const Button = forwardRef(function (\r\n\t{ className, variant, ...rest },\r\n\tref,\r\n) {\r\n\treturn (\r\n\t\t\r\n\t)\r\n})\r\n","import axios from '../axios'\r\nimport appConfig from 'app.config'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared/AppInsight'\r\nimport { DecreaseLimitResponse } from './decreaseLimit'\r\n\r\nexport enum MaritalStatus {\r\n\tSingle = 'Single',\r\n\tMarried = 'Married',\r\n\tDivorced = 'Divorced',\r\n\tWidow = 'Widow',\r\n\tCohabitee = 'Cohabitee',\r\n}\r\n\r\nexport enum AccommodationType {\r\n\tRenter = 'Renter',\r\n\tOwner = 'Owner',\r\n\tWithParents = 'WithParents',\r\n}\r\n\r\nexport enum OccupationType {\r\n\tPermanent = 'Permanent',\r\n\tPartTime = 'PartTime',\r\n\tEntrepreneur = 'Entrepreneur',\r\n\tUnemployed = 'Unemployed',\r\n\tStudent = 'Student',\r\n\tSickLeave = 'SickLeave',\r\n\tRetired = 'Retired',\r\n\tHousewife = 'Housewife',\r\n\tOther = 'Other',\r\n}\r\n\r\nexport interface IncreaseLimitParams {\r\n\tdesiredLimit: number\r\n\tssn: string\r\n\temail: string\r\n\tmobileNumber: string\r\n\tmaritalStatus: MaritalStatus\r\n\toccupationType: OccupationType\r\n\tnetMonthlyIncome: number\r\n\tchildrenInHousehold: number\r\n\taccomodationType: AccommodationType\r\n\ttotalMortgageCosts: number\r\n\tmonthlyMortgageCosts: number\r\n\trentalCosts: number\r\n\thasCarLoan: boolean\r\n\ttotalCarLoan: number\r\n\tmontlyCarLoanCost: number\r\n\tpartyId: string\r\n}\r\n\r\nexport async function increaseLimit(params: IncreaseLimitParams) {\r\n\treturn axios\r\n\t\t.post(\r\n\t\t\t`${appConfig.customerDataBaseUrl}/api/limit/increase`,\r\n\t\t\tparams,\r\n\t\t\tawait getHeadersWithJwtToken(),\r\n\t\t)\r\n\t\t.then(({ data }) => data)\r\n\t\t.catch((err) => {\r\n\t\t\tlogError(err)\r\n\t\t\tthrow err\r\n\t\t})\r\n}\r\n","import { z } from 'zod'\r\n\r\nexport const conditionallyRequiredNumber = (isIt: boolean) =>\r\n\tz\r\n\t\t.string()\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value !== undefined) {\r\n\t\t\t\t\tif (value.trim().length > 0 || isIt) {\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn true\r\n\t\t\t},\r\n\t\t\t{ message: 'Required field' },\r\n\t\t)\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value.trim().length > 0 || isIt) {\r\n\t\t\t\t\tconst number = Number(value)\r\n\t\t\t\t\tif (!isNaN(number)) {\r\n\t\t\t\t\t\treturn true\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ message: 'Not a number' },\r\n\t\t)\r\n\t\t.refine(\r\n\t\t\t(value) => {\r\n\t\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\t\tconst number = Number(value)\r\n\t\t\t\t\treturn number >= 0\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{ message: 'Not a positive number' },\r\n\t\t)\r\n\t\t.transform((value) => {\r\n\t\t\tif (isIt) {\r\n\t\t\t\treturn 0\r\n\t\t\t}\r\n\t\t\treturn Number(value)\r\n\t\t})\r\n\r\nexport const RequiredNumber = z\r\n\t.string()\r\n\t.min(1, { message: 'Required field' })\r\n\t.refine(\r\n\t\t(value) => {\r\n\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\tconst number = Number(value)\r\n\t\t\t\tif (!isNaN(number)) {\r\n\t\t\t\t\treturn true\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ message: 'Not a number' },\r\n\t)\r\n\t.refine(\r\n\t\t(value) => {\r\n\t\t\tif (value.trim().length >= 0) {\r\n\t\t\t\tconst number = Number(value)\r\n\t\t\t\treturn number >= 0\r\n\t\t\t}\r\n\t\t},\r\n\t\t{ message: 'Not a positive number' },\r\n\t)\r\n\t.transform((value) => Number(value))\r\n","import React, { useState, useContext } from 'react'\r\nimport { FormProvider, useForm } from 'react-hook-form'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { getCurrency } from 'shared'\r\nimport Dropdown from './FormComponents/Dropdown/Dropdown'\r\nimport Switcher from './FormComponents/Switcher/Switcher'\r\nimport FormInput from './FormComponents/Forminput/FormInput'\r\nimport Checkbox from './FormComponents/Checkbox/Checkbox'\r\nimport { SpinnerScreen } from 'selfServicePortal/components/ui/Spinner'\r\nimport { Screen } from 'selfServicePortal/components/ui/Screen'\r\nimport { Card } from 'selfServicePortal/components/ui/Card'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\nimport { Button } from 'selfServicePortal/components/ui/Button'\r\nimport './limit_increase.scss'\r\nimport { useNavigate } from 'react-router'\r\nimport {\r\n\tincreaseLimit,\r\n\tOccupationType,\r\n\tAccommodationType,\r\n\tMaritalStatus,\r\n} from 'selfServicePortal/services/LimitService/increaseLimit'\r\nimport { zodResolver } from '@hookform/resolvers/zod'\r\nimport { z } from 'zod'\r\nimport {\r\n\tconditionallyRequiredNumber,\r\n\tRequiredNumber,\r\n} from 'selfServicePortal/utils/zodHelpers'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\n\r\ninterface IncreaseProps {\r\n\tdesiredLimit: number\r\n}\r\n\r\nconst IncreaseLimitForm = ({ desiredLimit }: IncreaseProps) => {\r\n\tconst { t } = useTranslation()\r\n\tconst navigate = useNavigate()\r\n\tconst [isChecked, setIsChecked] = useState(false)\r\n\tconst [isMortgageDisabled, setIsMortgageDisabled] = useState(false)\r\n\tconst [isRentalCostDisabled, setIsRentalCostDisabled] = useState(false)\r\n\tconst [isCarLoanDisabled, setIsCarLoanDisabled] = useState(true)\r\n\tconst { customerData } = useContext(SspContext)\r\n\r\n\tconst { register } = useForm()\r\n\r\n\tconst increaseLimitMutation = useMutation(increaseLimit, {})\r\n\r\n\tconst handleAccomodationTypeChange = (\r\n\t\tevent: React.ChangeEvent,\r\n\t) => {\r\n\t\tconst selectedValue = event.target.value\r\n\t\tsetIsRentalCostDisabled(selectedValue !== AccommodationType.Renter)\r\n\t\tsetIsMortgageDisabled(selectedValue !== AccommodationType.Owner)\r\n\t}\r\n\tconst handleCheckboxChange = () => {\r\n\t\tsetIsChecked((prevState) => !prevState)\r\n\t\tsetIsCarLoanDisabled(!isCarLoanDisabled)\r\n\t}\r\n\r\n\tconst schema = z.object({\r\n\t\tmaritalStatus: z.nativeEnum(MaritalStatus),\r\n\t\tchildrenInHousehold: z.coerce.number().default(0),\r\n\t\toccupationType: z.nativeEnum(OccupationType),\r\n\t\taccomodationType: z.nativeEnum(AccommodationType),\r\n\t\tnetMonthlyIncome: RequiredNumber,\r\n\t\ttotalMortgageCosts: conditionallyRequiredNumber(isMortgageDisabled),\r\n\t\tmonthlyMortgageCosts: conditionallyRequiredNumber(isMortgageDisabled),\r\n\t\trentalCosts: conditionallyRequiredNumber(isRentalCostDisabled),\r\n\t\thasCarLoan: z.boolean(),\r\n\t\ttotalCarLoan: isCarLoanDisabled\r\n\t\t\t? z.coerce.number().default(0)\r\n\t\t\t: conditionallyRequiredNumber(isCarLoanDisabled),\r\n\t\tmontlyCarLoanCost: isCarLoanDisabled\r\n\t\t\t? z.coerce.number().default(0)\r\n\t\t\t: conditionallyRequiredNumber(isCarLoanDisabled),\r\n\t})\r\n\ttype IncreaseLimitFormParams = z.infer\r\n\tconst methods = useForm({\r\n\t\tresolver: zodResolver(schema),\r\n\t})\r\n\r\n\tconst onSubmit = async (data: IncreaseLimitFormParams) => {\r\n\t\tconst procData = {\r\n\t\t\t...data,\r\n\t\t\ttotalMortgageCosts: isMortgageDisabled\r\n\t\t\t\t? 0\r\n\t\t\t\t: data.totalMortgageCosts,\r\n\t\t\tmonthlyMortgageCosts: isMortgageDisabled\r\n\t\t\t\t? 0\r\n\t\t\t\t: data.monthlyMortgageCosts,\r\n\t\t\trentalCosts: isRentalCostDisabled ? 0 : data.rentalCosts,\r\n\t\t\ttotalCarLoan: isCarLoanDisabled ? 0 : data.totalCarLoan,\r\n\t\t\tmontlyCarLoanCost: isCarLoanDisabled ? 0 : data.montlyCarLoanCost,\r\n\t\t}\r\n\r\n\t\tincreaseLimitMutation.mutate({\r\n\t\t\t...procData,\r\n\t\t\tdesiredLimit: desiredLimit,\r\n\t\t\tssn: String(customerData?.nationalId),\r\n\t\t\temail: String(customerData?.email),\r\n\t\t\tmobileNumber: String(customerData?.mobilePhoneNumber),\r\n\t\t\tpartyId: String(customerData?.customerId),\r\n\t\t})\r\n\t}\r\n\tif (increaseLimitMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\tif (\r\n\t\tincreaseLimitMutation.isError ||\r\n\t\t(increaseLimitMutation.isSuccess &&\r\n\t\t\tincreaseLimitMutation.data.decision !== 'Approved')\r\n\t) {\r\n\t\tconst errorMessage = increaseLimitMutation.isError\r\n\t\t\t? getErrorMessage(increaseLimitMutation.error)\r\n\t\t\t: {\r\n\t\t\t\t\tApproved: t(''),\r\n\t\t\t\t\tInvestigation: t('ChangeCreditLimitInvestigation'),\r\n\t\t\t\t\tRejected: t('ChangeCreditLimitDenied'),\r\n\t\t\t\t\tInvalid: t('ChangeCreditLimitInvalid'),\r\n\t\t\t\t\tError: t(''),\r\n\t\t\t }[increaseLimitMutation.data.decision]\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (increaseLimitMutation.isSuccess) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t('ChangeCreditLimitTitle')}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
{t('DesiredLimit')}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{desiredLimit} {getCurrency()}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"maritalStatus\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"occupationType\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t ({\r\n\t\t\t\t\t\t\t\t\t\tlabel: t(o),\r\n\t\t\t\t\t\t\t\t\t\tvalue: o,\r\n\t\t\t\t\t\t\t\t\t}))}\r\n\t\t\t\t\t\t\t\t\tfieldName=\"accomodationType\"\r\n\t\t\t\t\t\t\t\t\tonChange={handleAccomodationTypeChange}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{isChecked && (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\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 IncreaseLimitForm\r\n","import React, { useContext, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './index.scss'\r\nimport {\r\n\tFancyNumber,\r\n\tuseFancyNumber,\r\n} from 'selfServicePortal/components/FancyNumber'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { ICreditBalance } from 'selfServicePortal/interfaces/i-api-creaditCard'\r\nimport { useMutation } from '@tanstack/react-query'\r\nimport { decreaseLimit } from 'selfServicePortal/services/LimitService/decreaseLimit'\r\nimport { Message } from 'selfServicePortal/components/Message/Message'\r\nimport { menuItems } from 'selfServicePortal/constants/menuItems'\r\nimport IncreaseLimitForm from './IncreaseLimitForm'\r\nimport { getErrorMessage } from 'selfServicePortal/utils'\r\nimport { Screen } from 'selfServicePortal/components/ui/Screen'\r\nimport { Card } from 'selfServicePortal/components/ui/Card'\r\nimport { Button } from 'selfServicePortal/components/ui/Button'\r\nimport { SpinnerScreen } from 'selfServicePortal/components/ui/Spinner'\r\nimport { getCurrency } from 'shared'\r\nimport { useNavigate } from 'react-router'\r\n\r\nexport default function ChangeCreditLimit() {\r\n\tconst navigate = useNavigate()\r\n\tconst [showIncreaseForm, setShowIncreaseForm] = useState(false)\r\n\tconst { overviewData, customerData, changeComponent } =\r\n\t\tuseContext(SspContext)\r\n\tconst fancyNumber = useFancyNumber({\r\n\t\tminNumber: 30000,\r\n\t\tmaxNumber: 150000,\r\n\t\tstep: 10000,\r\n\t\tinitialNumber: (overviewData as ICreditBalance).creditLimit,\r\n\t})\r\n\tconst { t } = useTranslation()\r\n\tconst decreaseLimitMutation = useMutation({\r\n\t\tmutationFn: decreaseLimit,\r\n\t})\r\n\tconst action =\r\n\t\tfancyNumber.number > fancyNumber.initialNumber ? 'increase' : 'decrease'\r\n\r\n\tfunction handleSubmit() {\r\n\t\tif (action === 'increase') {\r\n\t\t\tsetShowIncreaseForm(true)\r\n\t\t} else if (action === 'decrease') {\r\n\t\t\tdecreaseLimitMutation.mutate({\r\n\t\t\t\tdesiredLimit: fancyNumber.number,\r\n\t\t\t\tssn: String(customerData?.nationalId),\r\n\t\t\t\temail: String(customerData?.email),\r\n\t\t\t\tmobileNumber: String(customerData?.mobilePhoneNumber),\r\n\t\t\t\tpartyId: String(customerData?.customerId),\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tif (decreaseLimitMutation.isLoading) {\r\n\t\treturn \r\n\t}\r\n\r\n\tif (\r\n\t\tdecreaseLimitMutation.isError ||\r\n\t\t(decreaseLimitMutation.isSuccess &&\r\n\t\t\tdecreaseLimitMutation.data.decision !== 'Approved')\r\n\t) {\r\n\t\tconst errorMessage = decreaseLimitMutation.isError\r\n\t\t\t? getErrorMessage(decreaseLimitMutation.error)\r\n\t\t\t: {\r\n\t\t\t\t\tApproved: t(''),\r\n\t\t\t\t\tInvestigation: t('ChangeCreditLimitInvestigation'),\r\n\t\t\t\t\tRejected: t('ChangeCreditLimitDenied'),\r\n\t\t\t\t\tInvalid: t('ChangeCreditLimitInvalid'),\r\n\t\t\t\t\tError: t(''),\r\n\t\t\t }[decreaseLimitMutation.data.decision]\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tnavigate(0)\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (decreaseLimitMutation.isSuccess) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tchangeComponent(menuItems[0].items[0])\r\n\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tif (showIncreaseForm) {\r\n\t\treturn \r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{t('ChangeCreditLimitTitle')}\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitCurrentLimit')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{`${\r\n\t\t\t\t\t\t\t\t\t(overviewData as ICreditBalance).creditLimit\r\n\t\t\t\t\t\t\t\t} ${getCurrency()}`}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('ChangeCreditLimitDesiredLimit')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{action === 'decrease'\r\n\t\t\t\t\t\t\t\t? t('ChangeCreditLimitConfirm')\r\n\t\t\t\t\t\t\t\t: t('ChangeCreditLimitContinue')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","import React, { useContext } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\n\r\nconst WithdrawalNo = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { typeOfAccount, overviewData } = useContext(SspContext)\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('Withdrawal')}
\r\n\t\t\t\t
\r\n\t\t\t\t{typeOfAccount(overviewData!.productId).product ===\r\n\t\t\t\t\t'Sparekonto' && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('WithdrawalTextSavingsAccount')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('WithdrawalLink')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t{typeOfAccount(overviewData!.productId).product ===\r\n\t\t\t\t\t'Fastrentekonto' && (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('WithdrawalTextSavingsAccount')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('WithdrawalLink')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default WithdrawalNo\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './GeneratedLinkBox.scss'\r\n\r\nconst GeneratedLinkBox = ({ referalLink, daysLeft }: any) => {\r\n\tconst { t } = useTranslation()\r\n\tconst [copyLinkSuccess, setCopyLinkSuccess] = useState()\r\n\tconst [copyLinkError, setCopyLinkError] = useState()\r\n\r\n\tconst copyReferalLink = () => {\r\n\t\tif (\r\n\t\t\treferalLink &&\r\n\t\t\treferalLink?.numberOfTimesUsed <= referalLink?.validTimes\r\n\t\t) {\r\n\t\t\tnavigator.clipboard.writeText(referalLink?.referralLink || '').then(\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tsetCopyLinkSuccess(true)\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tsetCopyLinkSuccess(false)\r\n\t\t\t\t\t}, 5000)\r\n\t\t\t\t},\r\n\t\t\t\tfunction (err) {\r\n\t\t\t\t\tconsole.error('Could not copy text: ', err)\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\tsetCopyLinkError(true)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {}, [copyLinkSuccess])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t

{t('ReferFriendsDescCopyUrl')}

\r\n\t\t\t
\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonCopy={(e) => {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonMouseDown={(e) => {\r\n\t\t\t\t\t\te.preventDefault()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tclassName=\"refer-friends-url-input\"\r\n\t\t\t\t\t// value={referalLink?.referralLink}\r\n\t\t\t\t\tplaceholder={referalLink?.referralLink}\r\n\t\t\t\t\tdisabled\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t{t('ReferFriendsBtnCopyUrl')}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{copyLinkSuccess && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t('ReferFriendsCopyLink')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{copyLinkError && (\r\n\t\t\t\t
\r\n\t\t\t\t\t{t('ErrorMsg')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{/* commented out for future us if Norway like to use something else */}\r\n\r\n\t\t\t{/*
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ReferFriendsDescLinkvalidity')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{daysLeft} {t('ReferFriendsDescDaysLeft')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{t('ReferFriendsDescExpiry')}{' '}\r\n\t\t\t\t\t\t{referalLink?.validTo.substr(0, 10)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('ReferFriendsDescLinkUsage')}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{referalLink?.validTimes - referalLink?.numberOfTimesUsed}{' '}\r\n\t\t\t\t\t\t\t{t('ReferFriendsDescLinksRemaining')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{referalLink?.numberOfTimesUsed}{' '}\r\n\t\t\t\t\t\t\t{t('ReferFriendsDescLinksUsed')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\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 GeneratedLinkBox\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport './GenerateBtnBox.scss'\r\n\r\nconst GenerateBtnBox = ({ createReferalLink, loadingSmall }: any) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{/*

{t('ReferFriendsDescGenerateUrl')}

*/}\r\n\t\t\t\r\n\t\t\t\t{loadingSmall ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\tt('ReferFriendsBtnGenerateUtl')\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 GenerateBtnBox\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\n// import { ISupportDataSsp } from '../../interfaces/i-api-support'\r\nimport appConfig from 'app.config'\r\n\r\nasync function CreateReferalLinkService(partyId: string) {\r\n\tconst { data } = await Axios.post(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/create`,\r\n\t\t{ partyId: partyId },\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err)\r\n\t\t\tlogError(err)\r\n\t\t\tthrow new Error(err)\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default CreateReferalLinkService\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\nimport appConfig from 'app.config'\r\n\r\nasync function GetReferalLinkService(partyId: string) {\r\n\tconst { data } = await Axios.get(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/referralLink?partyId=${partyId}`,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err.response)\r\n\t\t\tlogError(err)\r\n\t\t\treturn err.response\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default GetReferalLinkService\r\n","import Axios from '../axios'\r\nimport { getHeadersWithJwtToken } from 'auth/utils/auth-util'\r\nimport { logError } from 'shared'\r\nimport appConfig from 'app.config'\r\n\r\nasync function GetReferalLinkFriendsService(country: string) {\r\n\tconst { data } = await Axios.get(\r\n\t\t`${appConfig.customerDataBaseUrl}/api/ReferralLink/friends?country=${country}`,\r\n\t\tawait getHeadersWithJwtToken()\r\n\t)\r\n\t\t.then((res) => {\r\n\t\t\treturn res\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tconsole.log(err.response)\r\n\t\t\tlogError(err)\r\n\t\t\treturn err.response\r\n\t\t})\r\n\treturn data\r\n}\r\n\r\nexport default GetReferalLinkFriendsService\r\n","import React, { useState, useContext, useEffect, useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useLocation, useNavigate } from 'react-router'\r\nimport { CircleSpinner } from 'shared'\r\nimport { Heading } from '../../../../components/index'\r\nimport GeneratedLinkBox from './GeneratedLinkBox/GeneratedLinkBox'\r\nimport GenerateBtnBox from './GenerateBtnBox/GenerateBtnBox'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport createReferalLinkService from '../../../../services/ReferalLink/CreateReferalLinkService'\r\nimport getReferalLinkService from '../../../../services/ReferalLink/GetReferalLinkService'\r\nimport GetReferalLinkFriendsService from 'selfServicePortal/services/ReferalLink/GetReferalLinkFriendsService'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport './ReferFriends.scss'\r\n\r\ninterface ReferalLinkModel {\r\n\tpartyId: string\r\n\treferralIdentifier: string\r\n\treferralLink: string\r\n\tvalidTo: string\r\n\tnumberOfTimesUsed: number\r\n\tisActive: boolean\r\n\tstatus?: number\r\n\tdetails?: string\r\n\tvalidTimes: number\r\n}\r\n\r\nconst ReferFriends = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData } = useContext(SspContext)\r\n\tconst [referalLink, setReferalLink] = useState()\r\n\tconst [referalLinkFriends, setReferalLinkFriends] = useState()\r\n\tconst [daysLeft, setDaysLeft] = useState(0)\r\n\tconst [loading, setLoading] = useState(true)\r\n\tconst [loadingSmall, setLoadingSmall] = useState(false)\r\n\tconst location = useLocation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst createReferalLink = async () => {\r\n\t\tsetLoadingSmall(true)\r\n\t\tawait createReferalLinkService(\r\n\t\t\tcustomerData?.customerId.toString() || '',\r\n\t\t)\r\n\t\t\t.then((dataLink: ReferalLinkModel) => {\r\n\t\t\t\tsetReferalLink(dataLink)\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoadingSmall(false))\r\n\t}\r\n\r\n\tconst getReferalLink = async () => {\r\n\t\tsetLoading(true)\r\n\t\tawait getReferalLinkService(customerData?.customerId.toString() || '')\r\n\t\t\t.then((dataLink: ReferalLinkModel) => {\r\n\t\t\t\tif (dataLink?.status !== 404) {\r\n\t\t\t\t\tsetReferalLink(dataLink)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log(dataLink?.details)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoading(false))\r\n\t}\r\n\r\n\tconst getReferalFriendsLink = async () => {\r\n\t\t// description text and terms and conditions\r\n\t\tsetLoading(true)\r\n\t\tawait GetReferalLinkFriendsService(\r\n\t\t\tcustomerData?.country.toString() || '',\r\n\t\t)\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (response?.status !== 404) {\r\n\t\t\t\t\tsetReferalLinkFriends(response)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.log(err)\r\n\t\t\t})\r\n\t\t\t.finally(() => setLoading(false))\r\n\t}\r\n\r\n\tconst calculateDays = useCallback(() => {\r\n\t\tif (referalLink) {\r\n\t\t\tconst secDate = referalLink?.validTo\r\n\t\t\tconst oneDay = 24 * 60 * 60 * 1000 // hours*minutes*seconds*milliseconds\r\n\t\t\tconst firstDate: any = new Date()\r\n\t\t\tconst secondDate: any = new Date(secDate || '')\r\n\t\t\tconst diffDays = Math.round(\r\n\t\t\t\tMath.abs((firstDate - secondDate) / oneDay),\r\n\t\t\t)\r\n\t\t\tsetDaysLeft(diffDays)\r\n\t\t}\r\n\t}, [referalLink])\r\n\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (customerData) {\r\n\t\t\t\tgetReferalLink()\r\n\t\t\t\tgetReferalFriendsLink()\r\n\t\t\t\tif (location.pathname === appRoutes.referfriends) {\r\n\t\t\t\t\tnavigate('/')\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t[customerData], //eslint-disable-line\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (referalLink) {\r\n\t\t\tcalculateDays()\r\n\t\t}\r\n\t}, [referalLink, calculateDays])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{referalLink?.isActive ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('ReferFriendsLearnMore')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\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 ReferFriends\r\n","import React, { useContext, useEffect, useState } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\n\r\nimport appConfig from 'app.config'\r\n\r\nimport { BoxInfo, CircleSpinner } from 'shared/index'\r\n\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\ninterface IProps {\r\n\tshow: boolean\r\n\thandleClose: Function\r\n}\r\n\r\nexport const SDDDisableModal = ({ show, handleClose }: IProps) => {\r\n\tconst { customerData, setSddRefreshData } = useContext(SspContext)\r\n\tconst { t } = useTranslation()\r\n\tconst [success, setSuccess] = useState(false)\r\n\tconst [error, setError] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [partyId, setPartyId] = useState()\r\n\r\n\tuseEffect(() => {\r\n\t\tsetPartyId(customerData?.customerId)\r\n\t}, [customerData])\r\n\r\n\tasync function disableSddMandate() {\r\n\t\tsetLoading(true)\r\n\t\tif (partyId !== undefined) {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService\r\n\t\t\t\t\t.disableMandate({ partyId })\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\tsetSuccess(true)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsetError(true)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => setLoading(false))\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t {\r\n\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\tsetError(false)\r\n\t\t\t\t\t}\r\n\t\t\t\t\thandleClose()\r\n\t\t\t\t\tsetSddRefreshData(true)\r\n\t\t\t\t}}\r\n\t\t\t\tbackdrop=\"static\"\r\n\t\t\t\tkeyboard={false}>\r\n\t\t\t\t\r\n\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{success ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\thandleClose()\r\n\t\t\t\t\t\t\t\t\t\t\tsetSddRefreshData(true)\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Close')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAre you sure you want to disable SDD?\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tYou can always re-register if you wish.\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tStill want to disable?\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{error ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t disableSddMandate()}>\r\n\t\t\t\t\t\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tif (error) {\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetError(false)\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\thandleClose()\r\n\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t{t('Cancel')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext, useCallback, useEffect } from 'react'\r\nimport {\r\n\tuseTranslation,\r\n\t//Trans,\r\n} from 'react-i18next'\r\n\r\nimport download_interface_cream from 'img/document-icons/download-interface-cream.svg'\r\n\r\nimport {\r\n\tBoxInfoWithButton,\r\n\tCircleSpinner,\r\n\tgetLanguageLocale,\r\n\tisSafariBrowser,\r\n\t//Tooltip,\r\n} from 'shared/index'\r\n\r\nimport { Heading } from 'selfServicePortal/components/index'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\nimport { SDDDisableModal } from './SDDDisableModal'\r\nimport { ISddMandate } from 'selfServicePortal/interfaces/i-api-sdd'\r\n\r\nexport const SDDOverview = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isSddEligible } = useContext(SspContext)\r\n\tconst [error, setError] = useState(false)\r\n\r\n\tconst [sddMandate, setSddMandate] = useState()\r\n\t//Need to know validToDate for below.. or atleast last withdrawal date. Update later on when BE is set up.\r\n\tconst [renewMandate, setRenewMandate] = useState(false) // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\tconst [showDisableModal, setShowDisableModal] = useState(false)\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\tconst getSddMandate = async (partyId: string) => {\r\n\t\ttry {\r\n\t\t\tawait sddService\r\n\t\t\t\t.sddCustomerMandate(partyId)\r\n\t\t\t\t.then((response) => {\r\n\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\tlet mandateData: ISddMandate = response.data\r\n\t\t\t\t\t\tsetSddMandate(mandateData)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error) => {\r\n\t\t\t\t\tconsole.warn(error)\r\n\t\t\t\t\tsetError(true)\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => setLoading(false))\r\n\t\t} catch (error) {\r\n\t\t\tconsole.warn(error)\r\n\t\t\tsetError(true)\r\n\t\t\tsetLoading(false)\r\n\t\t}\r\n\t}\r\n\r\n\tconst getSddMandateDocument = useCallback(\r\n\t\tasync (mandateDocumentId: string, windowRef: Window | null) => {\r\n\t\t\ttry {\r\n\t\t\t\tawait sddService.getSddMandateDocument(\r\n\t\t\t\t\tmandateDocumentId,\r\n\t\t\t\t\twindowRef\r\n\t\t\t\t)\r\n\t\t\t} catch (error) {\r\n\t\t\t\tsetError(true)\r\n\t\t\t\tconsole.warn(error)\r\n\t\t\t}\r\n\t\t},\r\n\t\t[]\r\n\t)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetLoading(true)\r\n\t\tif (isSddEligible?.activeMandate)\r\n\t\t\tgetSddMandate(customerData?.customerId!)\r\n\t}, [customerData, isSddEligible])\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t{sddMandate !== undefined && (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
{t('SDD')}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('StartDate')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{new Date(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.validFromDate\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t).toLocaleDateString(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetLanguageLocale()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{/* Hiding renewal date until further notice */}\r\n\t\t\t\t\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('RenewalDate')}:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou can\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenew your\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmandate at\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tthe\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tearliest, 4\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tweeks prior\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tto the\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trenewal\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdate.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tN/A\r\n\t\t\t\t\t\t\t\t\t\t\t
*/}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('SDDMandateRef')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.mandateDocumentId\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
{t('IBAN')}:
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{sddMandate.debtorIban}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{renewMandate ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDRenew')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlet windowRef =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSafariBrowser()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? window.open()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tgetSddMandateDocument(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsddMandate.mandateDocumentId,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twindowRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDDownloadMandate')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t('DownloadingFileError')}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t

{t('SDDMandateText')}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDisableModal(true)\r\n\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDDisable')}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t setShowDisableModal(false)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState, useContext } from 'react'\r\nimport { useTranslation, Trans } from 'react-i18next'\r\n\r\nimport { CircleSpinner } from 'shared'\r\n\r\nimport { SDDOverview } from './SDDOverview'\r\nimport { SddMultistepValues } from './SDDMultistep/SDDMultistepValues'\r\n\r\nimport './sepaDirectDebit.scss'\r\nimport SspContext from 'selfServicePortal/contexts/SspContext'\r\nimport { IBankInfoProps } from 'selfServicePortal/interfaces/i-api-sdd'\r\nimport sddService from 'selfServicePortal/services/CreditCardServices/sddService'\r\n\r\nconst SepaDirectDebit = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst { customerData, isSddEligible, loading } = useContext(SspContext)\r\n\r\n\tconst [load, setLoad] = useState(false)\r\n\tconst [showMultistep, setShowMultistep] = useState(false)\r\n\tconst [bankInfo, setBankInfo] = useState()\r\n\r\n\tasync function getSddIbans(partyId: string) {\r\n\t\ttry {\r\n\t\t\tsddService.getSddIbans(partyId).then((response) => {\r\n\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\tsetBankInfo(response.data as IBankInfoProps[])\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.warn(response.data)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (err) {\r\n\t\t\tconsole.warn(err)\r\n\t\t\tthrow err\r\n\t\t}\r\n\t}\r\n\r\n\tasync function getMultistep() {\r\n\t\tsetLoad(true)\r\n\t\tawait getSddIbans(customerData?.customerId!).then(() => {\r\n\t\t\tsetShowMultistep(true)\r\n\t\t})\r\n\t\tsetTimeout(() => {\r\n\t\t\tsetLoad(false)\r\n\t\t}, 1000)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{loading ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{!isSddEligible?.eligible ? (\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDTitle')}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{t('SDDNotEligible')}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{isSddEligible?.activeMandate ? (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{load ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{showMultistep ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('SDDTitle')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMinimum\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tamounts due\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcan now be\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcollected\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teasily and\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talways on\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttime. In\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder to be\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\table to pay\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tyour bill\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\timmediately\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tby direct\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdebit, give\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tus a direct\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdebit\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmandate in\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tjust a few\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsteps.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou can\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcancel SDD\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tat any time\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tand set it\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tup again.\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetMultistep()\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'GetSDDButtonText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\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 SepaDirectDebit\r\n","import Axios from '../axios';\r\nimport appConfig from '../../../app.config';\r\nimport { getHeadersWithJwtToken } from '../../../auth/utils/auth-util'\r\nimport { TFunction } from 'i18next';\r\nimport { logError } from '../../../shared';\r\nimport { ICardEnrollment } from '../../interfaces/i-api-creaditCard';\r\n\r\nasync function setPasswordIdCheckService(cardEnrollment: ICardEnrollment, t: TFunction) {\r\n\t\t\tconst response = await Axios.post(\r\n\t\t\t\t`${appConfig.customerDataBaseUrl}/api/enrollment/onlinepurchase/enrollcard`,\r\n\t\t\t\tcardEnrollment,\r\n\t\t\t\tawait getHeadersWithJwtToken()\r\n\t\t\t).then((data) => {\r\n\t\t\t\tif (data.status === 200) {\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}\r\n\t\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tlogError(err)\r\n\t\t\t\tthrow new Error(t('ErrorMsg'))\r\n\t\t\t})\r\n\t\t\treturn response;\r\n\t}\r\n\r\nexport default setPasswordIdCheckService;","import React, { useContext, useState } from 'react'\r\nimport { FormBuilder } from '@tf/formbuilder'\r\nimport { useTranslation } from 'react-i18next'\r\nimport SspContext from '../../../contexts/SspContext'\r\nimport {\r\n\tICardEnrollment,\r\n\tICreditBalance,\r\n} from '../../../interfaces/i-api-creaditCard'\r\nimport setPasswordIdCheckService from '../../../services/CreditCardServices/setPasswordIdCheckService'\r\nimport {\r\n\tCustomerForm,\r\n\tgetErrorWithFullMessage,\r\n\tgetMarket,\r\n\tgetLanguageLocale,\r\n} from 'shared'\r\nimport { FormFactory } from '../../../../shared/formBuilder/formFactory'\r\nimport { Heading } from '../../../components/index'\r\n\r\nconst SetPasswordIdCheck = () => {\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst { customerData, overviewData, success, setSuccess } =\r\n\t\tuseContext(SspContext)\r\n\tconst [error, setError] = useState()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst creditCardData = overviewData as ICreditBalance\r\n\r\n\tconst formSchema = FormFactory(\r\n\t\tCustomerForm.SetPasswordIdCheckForm,\r\n\t\t{\r\n\t\t\tformName: 'Password',\r\n\t\t\tblockName: 'Password',\r\n\t\t\tmarket: getMarket(),\r\n\t\t\tlocale: getLanguageLocale(),\r\n\t\t\tgetDataUrl: '',\r\n\t\t\tvalidationErrorList: false,\r\n\t\t\trequiredMessage: t('ValidateRequired'),\r\n\t\t\tsubmitButtonText: t('Save'),\r\n\t\t},\r\n\t\tcustomerData,\r\n\t)\r\n\r\n\tfunction checkPassword(info: any) {\r\n\t\tlet reg =\r\n\t\t\t/^(?=.*[a-z])(?=.*[A-Z])(?=(.*\\d){2})(?=.*[-@#$&*+!?])[A-Za-z\\d\\-@#$&*+!?]{8,}$/\r\n\r\n\t\tif (reg.test(info.password)) {\r\n\t\t\tif (info.password === info.repeatPassword) {\r\n\t\t\t\tsetError(undefined)\r\n\t\t\t\treturn true\r\n\t\t\t} else {\r\n\t\t\t\tsetError(new Error(t('PasswordsMatch')))\r\n\t\t\t\treturn false\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetError(new Error(t('PasswordValidation')))\r\n\t\treturn false\r\n\t}\r\n\r\n\tconst submit = async (info: any) => {\r\n\t\tif (!checkPassword(info)) return\r\n\r\n\t\tlet cardEnrollment: ICardEnrollment\r\n\t\tif (customerData) {\r\n\t\t\tcardEnrollment = {\r\n\t\t\t\tcustomerId: customerData.customerId,\r\n\t\t\t\tcardAgreementId: parseInt(creditCardData.cardAgreementId),\r\n\t\t\t\tcardHolderId: '',\r\n\t\t\t\tlabel: 'TF_POTP',\r\n\t\t\t\tpassword: info.password,\r\n\t\t\t\tphoneNo: customerData.mobilePhoneNumber.replaceAll(' ', ''),\r\n\t\t\t\tstatus: '',\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tsetLoading(true)\r\n\t\t\tawait setPasswordIdCheckService(cardEnrollment!, t)\r\n\t\t\tsetSuccess({ ...success, setPassword: true })\r\n\t\t\tsetLoading(false)\r\n\t\t} catch (e: any) {\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetError(getErrorWithFullMessage(e))\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{loading &&
}\r\n\t\t\t\t{success.setPassword && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{!success.setPassword && !loading && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t submit(values)}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{error && !loading && !success.setPassword && (\r\n\t\t\t\t\t
{error.message}
\r\n\t\t\t\t)}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default SetPasswordIdCheck\r\n","import React, {\r\n\tInputHTMLAttributes,\r\n\tLabelHTMLAttributes,\r\n\tforwardRef,\r\n\tHTMLAttributes,\r\n} from 'react'\r\nimport './index.scss'\r\nimport clsx from 'clsx'\r\n\r\nexport function InputContainer({\r\n\tclassName,\r\n\t...rest\r\n}: HTMLAttributes) {\r\n\treturn
\r\n}\r\n\r\nexport function InputLabel({\r\n\tclassName,\r\n\t...rest\r\n}: LabelHTMLAttributes) {\r\n\treturn
\r\n\t)\r\n}\r\n\r\nexport default HeaderSsp\r\n","import React from 'react'\r\nimport './TableLegacy.scss'\r\n\r\ninterface ITableLegacy {\r\n\tcolumns: any[]\r\n\tdata: any\r\n}\r\n\r\nconst TableLegacy = ({ columns, data }: ITableLegacy) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{columns.map((item, key) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{data}\r\n\t\t
\r\n\t\t\t\t\t\t\t\t{item}\r\n\t\t\t\t\t\t\t
\r\n\t)\r\n}\r\n\r\nexport default TableLegacy\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport './Heading.scss'\r\ninterface IHeading {\r\n\ttitle: string\r\n\tdescription?: string\r\n}\r\nconst Heading = ({ title, description }: IHeading) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
{t(title)}
\r\n\t\t\t
{t(description!)}
\r\n\t\t
\r\n\t)\r\n}\r\nexport default Heading\r\n","import React, { useState } from 'react'\r\nimport SmoothCollapse from 'react-smooth-collapse'\r\nimport { IFaqEntry } from 'shared/interfaces/i-api-faq'\r\nimport dompurify from 'dompurify'\r\n\r\ninterface IAccordion {\r\n\tquestion: IFaqEntry\r\n}\r\n\r\nfunction setTargetForAnchors(html: string) {\r\n\tlet answer = html.trim()\r\n\tlet temp = document.createElement('div')\r\n\ttemp.innerHTML = answer\r\n\tlet childList = temp.getElementsByTagName('a')\r\n\tfor (var i = 0; i < childList.length; i++)\r\n\t\tchildList[i].setAttribute('target', '_blank')\r\n\r\n\treturn { __html: temp.innerHTML }\r\n}\r\n\r\nconst AccordionItem = ({ question }: IAccordion) => {\r\n\tconst sanitizer = dompurify.sanitize\r\n\tconst [open, setOpen] = useState(false)\r\n\tconst nestedQuestions = (question.children || []).map(\r\n\t\t(question: IFaqEntry) => {\r\n\t\t\treturn \r\n\t\t}\r\n\t)\r\n\r\n\tlet crossCls = open ? 'cross-icon open' : 'cross-icon'\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t setOpen(!open)}>\r\n\t\t\t\t{question.question}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\t{question.answer ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>{nestedQuestions}\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tallowOverflowWhenOpen={true}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\nexport default AccordionItem\r\n","import React from 'react'\r\nimport Modal from 'react-bootstrap/Modal'\r\nimport Button from 'react-bootstrap/Button'\r\nimport { Row, Col, Container } from 'react-bootstrap'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport appConfig from 'app.config'\r\n\r\ninterface IOutOfService {\r\n\tshowModal: boolean\r\n\tonClick: any\r\n\tmessage: string\r\n\ticon: any\r\n\tcolor?: string\r\n}\r\n\r\nexport const OutOfServiceModal = ({\r\n\tshowModal,\r\n\tonClick,\r\n\tmessage,\r\n\ticon,\r\n\tcolor,\r\n}: IOutOfService) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{message === 'Network Error' ? message : t('DataNotFound')}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{icon && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{message === 'Network Error' ? (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{t('OutOfService')}
\r\n\t\t\t\t\t\t\t{t('OutOfServiceLoggedOut')}
\r\n\t\t\t\t\t\t\t{t('OutOfServiceTryAgain')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{message.split('\\n').map((line, key) => (\r\n\t\t\t\t\t\t\t\t
{line}
\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import appConfig from 'app.config'\r\nimport React, { useEffect, useRef } from 'react'\r\n\r\ninterface DixaChatbotProps {\r\n\tfirstName: string\r\n\tlastName: string\r\n\temail: string\r\n\tmarket: string\r\n}\r\n\r\nconst DixaChatbot: React.FC = ({\r\n\tfirstName,\r\n\tlastName,\r\n\temail,\r\n\tmarket,\r\n}) => {\r\n\tconst scriptRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (market === \"de\" || market === \"at\") {\r\n\t\t\tif (scriptRef.current) return\r\n\r\n\t\t\tif (!window._dixa_) {\r\n\t\t\t\twindow._dixa_ = {\r\n\t\t\t\t\tinvoke: function (method: string, args: any) {\r\n\t\t\t\t\t\twindow._dixa_!.pendingCalls =\r\n\t\t\t\t\t\t\twindow._dixa_!.pendingCalls || []\r\n\t\t\t\t\t\twindow._dixa_!.pendingCalls.push([method, args])\r\n\t\t\t\t\t},\r\n\t\t\t\t\taddListener: function (event: string, listener: Function) {\r\n\t\t\t\t\t\twindow._dixa_!.pendingAddListenerCalls =\r\n\t\t\t\t\t\t\twindow._dixa_!.pendingAddListenerCalls || []\r\n\t\t\t\t\t\twindow._dixa_!.pendingAddListenerCalls.push([\r\n\t\t\t\t\t\t\tevent,\r\n\t\t\t\t\t\t\tlistener,\r\n\t\t\t\t\t\t])\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tconst dixa = window._dixa_!\r\n\r\n\t\t\tconst script = document.createElement('script')\r\n\t\t\tscriptRef.current = script\r\n\r\n\t\t\tscript.type = 'text/javascript'\r\n\t\t\tscript.setAttribute('charset', 'utf-8')\r\n\t\t\tscript.async = true\r\n\t\t\tscript.src = 'https://messenger.dixa.io/bootstrap.js'\r\n\r\n\t\t\tscript.onload = () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tdixa.invoke('init', {\r\n\t\t\t\t\t\tmessengerToken: appConfig.dixaMessengerToken,\r\n\t\t\t\t\t\tuserIdentity: {\r\n\t\t\t\t\t\t\ttype: 'claim',\r\n\t\t\t\t\t\t\tname: `${firstName} ${lastName}`,\r\n\t\t\t\t\t\t\temail: email,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tposition: 'bottomRight',\r\n\t\t\t\t\t\tshowWidgetCloseButton: true,\r\n\t\t\t\t\t\tlanguage: market.toLowerCase(),\r\n\t\t\t\t\t})\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.error('Error initializing Dixa:', error)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tscript.onerror = (error) => {\r\n\t\t\t\tconsole.error('Error loading Dixa script:', error)\r\n\t\t\t}\r\n\r\n\t\t\tdocument.head.appendChild(script)\r\n\r\n\t\t\treturn () => {\r\n\t\t\t\tif (script.parentNode) {\r\n\t\t\t\t\tscript.parentNode.removeChild(script)\r\n\t\t\t\t\tscriptRef.current = null\r\n\t\t\t\t}\r\n\t\t\t\tif (window._dixa_) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\twindow._dixa_.invoke('destroy')\r\n\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\tconsole.error('Error destroying Dixa:', error)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}, [firstName, lastName, email, market])\r\n\r\n\treturn null\r\n}\r\n\r\nexport default DixaChatbot\r\n","import React, { useContext, useEffect } from 'react'\r\nimport { useLocation, useNavigate } from 'react-router'\r\nimport TagManager from 'react-gtm-module'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nimport { HeaderSsp, Footer } from '../../components/index'\r\nimport { checkIsMobile } from 'shared'\r\nimport SspContext from '../../contexts/SspContext'\r\nimport { OutOfServiceModal } from 'shared/components/modals/OutOfServiceModal'\r\nimport { menuItems } from '../../constants/menuItems'\r\nimport './StartPage.scss'\r\nimport { appRoutes } from '../../constants/routes'\r\nimport DixaChatbot from 'selfServicePortal/components/DixaChatbot/DixaChatbot'\r\nimport appConfig from 'app.config'\r\n\r\nexport const StartPage = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst { component, error, setComponent, customerData } =\r\n\t\tuseContext(SspContext)\r\n\tconst location = useLocation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst tagManagerArgs = {\r\n\t\tdataLayer: {\r\n\t\t\tuserId: '001',\r\n\t\t\tuserProject: 'project',\r\n\t\t\tpage: '/login',\r\n\t\t},\r\n\t}\r\n\r\n\tReact.useEffect(() => {\r\n\t\tTagManager.dataLayer(tagManagerArgs)\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (location.pathname === appRoutes.sepadirectdebit) {\r\n\t\t\tsetComponent(menuItems[0].items[6])\r\n\t\t}\r\n\t}, [location.pathname, component, setComponent])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t{customerData && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t {\r\n\t\t\t\t\tnavigate('/logout')\r\n\t\t\t\t}}\r\n\t\t\t\ticon=\"\"\r\n\t\t\t\tmessage={\r\n\t\t\t\t\terror?.message! === 'Network Error'\r\n\t\t\t\t\t\t? 'Network Error'\r\n\t\t\t\t\t\t: t('NoAccounts')\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{component?.component}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { getAuthButtons, ISigningButton } from 'auth/constants/authMethods'\r\nimport './loginPage.scss'\r\nimport { useTranslation } from 'react-i18next'\r\nimport queryString from 'query-string'\r\nimport { customerDataApiService, ISblData, CookieType } from 'shared/index'\r\nimport { TFunction } from 'i18next'\r\n\r\nconst updatePxSbl = (t: TFunction) => {\r\n\tlet _queryValues = queryString.parseUrl(\r\n\t\twindow.location.search.toLowerCase(),\r\n\t).query\r\n\tconst hasUrlQuery =\r\n\t\t_queryValues.authorizationcode || _queryValues.failedauthorizationcode\r\n\tif (sessionStorage.getItem(CookieType.Sbl) === 'ok') return\r\n\r\n\tif (hasUrlQuery) {\r\n\t\t//logic parse data, call sbl endpoint, fail message,\r\n\t\tlet data = {\r\n\t\t\tapplicationId: _queryValues.applicationid as unknown as number,\r\n\t\t\tauthCode: hasUrlQuery,\r\n\t\t\tisSuccessful: _queryValues.status === 'ok',\r\n\t\t} as ISblData\r\n\t\tcustomerDataApiService\r\n\t\t\t.updateSbl(data, t)\r\n\t\t\t.then(() =>\r\n\t\t\t\tsessionStorage.setItem(\r\n\t\t\t\t\tCookieType.Sbl,\r\n\t\t\t\t\t_queryValues.status as string,\r\n\t\t\t\t),\r\n\t\t\t)\r\n\t\t\t.catch((error: Error) => {\r\n\t\t\t\tconsole.log(error)\r\n\t\t\t})\r\n\t}\r\n}\r\n\r\nfunction LoginPage() {\r\n\tconst [content, setContent] = useState()\r\n\tconst { initMethod, filteredMethods } = getAuthButtons(\r\n\t\tsetContent,\r\n\t\tcontent?.type,\r\n\t)\r\n\tconst { t } = useTranslation()\r\n\r\n\tuseEffect(() => {\r\n\t\tupdatePxSbl(t)\r\n\t\tsetContent(initMethod)\r\n\t\t// eslint-disable-next-line\r\n\t}, [initMethod])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{filteredMethods.map((i, key) => {\r\n\t\t\t\t\treturn
{i.content}
\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\nexport default LoginPage\r\n","import React, { useContext, useEffect } from 'react'\r\nimport { userManager } from 'auth/services/auth.service'\r\nimport { CircleSpinner, AuthContext } from 'shared/index'\r\n\r\nfunction LogoutPage() {\r\n\tconst { isAuthenticated } = useContext(AuthContext)\r\n\tuseEffect(() => {\r\n\t\tisAuthenticated &&\r\n\t\t\tuserManager.signoutRedirect({\r\n\t\t\t\tid_token_hint: sessionStorage.getItem('id_token'),\r\n\t\t\t})\r\n\t\tuserManager.clearStaleState()\r\n\t\t// eslint-disable-next-line\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\nexport default LogoutPage\r\n","import React from 'react'\r\nimport { useEffect } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Link } from 'react-router-dom'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport { userManager } from '../../../auth/services/auth.service'\r\n\r\nfunction LogoutCallbackPage() {\r\n\tconst { t } = useTranslation()\r\n\tlet link: string = appRoutes.login\r\n\r\n\tuseEffect(() => {\r\n\t\tlet origin = window.location.origin.toLowerCase()\r\n\t\tif (origin.includes('meineaktivierung.tfbank.de')) {\r\n\t\t\t// eslint-disable-next-line\r\n\t\t\tlink = appRoutes.cardApplicationLogin\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseEffect(() => {\r\n\t\tuserManager.signoutRedirectCallback().then(() => {\r\n\t\t\tsessionStorage.clear()\r\n\t\t})\r\n\t\tuserManager.clearStaleState()\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
{t('LoggedOut')}
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('Login')}\r\n\t\t\t\t\t\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 LogoutCallbackPage\r\n","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgLogoWhite(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 218.23 50\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".cls-1{fill:#fff;}\"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Lager_1\",\n \"data-name\": \"Lager 1\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"SVGID\",\n className: \"cls-1\",\n d: \"M25,50A25,25,0,1,1,50,25,25,25,0,0,1,25,50ZM25,1.18A23.84,23.84,0,1,0,48.83,25,23.86,23.86,0,0,0,25,1.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M34.57,29.15a18.64,18.64,0,0,0-2.15-1.75A17.55,17.55,0,0,0,30,26.1a17.27,17.27,0,0,0,2.52-1.38,13.94,13.94,0,0,0,2.17-1.8,9.16,9.16,0,0,0,1.85-2.67V31.76A9.63,9.63,0,0,0,34.57,29.15ZM19.49,11.9H9.56V22.38A14.93,14.93,0,0,1,19.49,11.9ZM41,22.38V11.9H31A15,15,0,0,1,41,22.38ZM28.68,11.9H21.49V42.3h7.19Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M86.18,10.8v6.83h-.67a.8.8,0,0,1-.86-.63l-1.36-4.56-5.56,0c-.81,0-1-.9-.67-1.62Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M75.3,10.76V39.44l3.52.36c.49.05.67.27.67.72v.4h-13v-.4c0-.45.18-.67.67-.72l3.52-.36V12.34l-8,.09L61.3,17a.8.8,0,0,1-.87.63h-.62V10.79L73,10.7Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M97.48,39.43l3.25.32c.49.09.67.31.67.77v.4H88.9v-.4c0-.45.17-.67.67-.77l3.25-.32V12.25l-3.25-.32c-.5-.09-.67-.31-.67-.77v-.4h21.95v6.41h-.5a.88.88,0,0,1-.9-.63l-1.31-4.16-10.66-.13Zm9.4-14.26L108,22.46a.92.92,0,0,1,.95-.63h.23v8.4h-.27a.93.93,0,0,1-1-.62l-1.09-2.81h-6.73c-.82,0-1.09-.9-.68-1.62h7.41Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M122.83,40.92h-8.59v-.27c0-.53.18-.67.67-.77l3.25-.45V12.25l-3.25-.36a.66.66,0,0,1-.67-.77v-.36h8.59Zm3-15a.63.63,0,0,1-.72-.68.56.56,0,0,1,.63-.62c3.8-.05,6.87-2.08,6.87-6.46s-2.26-6.23-6-6.23c-.4,0-.86,0-1.27,0s-.67-.18-.67-.63.18-.5.72-.54,1.76-.09,2.16-.09c7.32,0,10.16,2.62,10,7.9-.14,4.7-4.74,6.45-7,6.45,1.54,0,8.54,1.18,8.54,7.73,0,4-3.52,8.4-10.94,8.4a22.06,22.06,0,0,1-2.57-.09c-.54-.09-1-.27-1-.72s.23-.62.36-.62c2.22,0,9.26-.23,9.26-7.28S126.7,25.93,125.85,25.89Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M154.39,37.54a5.53,5.53,0,0,1-4.07,2.07,3.11,3.11,0,0,1-3-3.43c0-4.24,3.75-5.24,7.32-5.51.18-.18.4-1.13-.45-1.13-5.92,0-11.34,1.94-11.34,6.64,0,3.34,3,5.29,6,5.29A7.48,7.48,0,0,0,155,38.4C155.39,37.76,154.75,37.49,154.39,37.54Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M172.75,39.62l2.71.18c.49.05.67.27.67.72v.4H165.34v-.4c0-.45.18-.67.67-.72l2.31-.18V20.51l-3.16-.14c-.49,0-.67-.22-.72-.72V19.3l8.32-.54V39.62Zm17.12.23a.63.63,0,0,1,.67.73v.35h-10v-.4c0-.45.18-.67.67-.72l1.76-.13c.18-5.11.36-6.78.36-11.88,0-3.29-.09-7.58-4-7.58a6.52,6.52,0,0,0-4.52,2,.42.42,0,0,1-.49-.49c.09-.91,2.35-3.25,6.14-3.25,4.69,0,7.31,2.53,7.31,7,0,5.25-.13,9-.35,14.15Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M200.08,39.62l2.12.18c.49.05.67.27.67.72v.4H192.71v-.4c0-.45.17-.67.67-.72l2.26-.18V11.46l-3.29-.13c-.5-.05-.68-.23-.72-.72v-.36l8.45-.95Zm1.53-9.53c-.44-.5-.44-.87,0-1.27l8.85-8-2.31-.68a.78.78,0,0,1-.62-.86v-.36h8.85v.36a.79.79,0,0,1-.67.86l-2.67.68-8.32,7.4,10.44,11.34,2.35.23c.49.09.67.31.67.77v.4H207.8v-.4c0-.45.18-.67.67-.72l1.85-.18Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M162.4,40.68c0-.45-.17-.68-.67-.72l-1.16-.18,0-13.61c0-5.11-2.22-7.77-8.67-7.77-2.8,0-7.94,1.18-7.94,5.65,0,2.12,2.48,2.84,4,1.89-.81-4.07,1.54-6.41,4.21-6.41,3,0,4.11,2.44,4.11,5.92V38.53c0,2.58,1.6,2.65,3.53,2.56h2.68v-.41Z\"\n })))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoWhite);\nexport default __webpack_public_path__ + \"static/media/logo-white.799bf51a13cdf5ad3702fad22db4f40d.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport logo_white from 'img/tf-logos/logo-white.svg'\r\n\r\nimport './HeaderApplicationPage.scss'\r\n\r\ninterface HeaderApplicationPageProps {\r\n\tisLogoutButtonShown?: boolean\r\n}\r\n\r\nconst HeaderApplicationPage = ({\r\n\tisLogoutButtonShown = true,\r\n}: HeaderApplicationPageProps) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{isLogoutButtonShown ? (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('SignOut')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t
\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 HeaderApplicationPage\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport authenticationService from 'auth/services/authenticationService'\r\nimport { Footer, Heading } from '../../components/index'\r\nimport {\r\n\tCircleSpinner,\r\n\tValidationError,\r\n\tcheckIsMobile,\r\n\tCookieType,\r\n\tapiRoutes,\r\n} from 'shared/index'\r\nimport { appRoutes } from 'selfServicePortal/constants/routes'\r\nimport useStateWithSessionStorage from 'shared/hooks/useStateWithSessionStorage'\r\nimport queryString from 'query-string'\r\nimport NumberFormat from 'react-number-format'\r\nimport HeaderApplicationPage from '../Applications/HeaderApplicationPage/HeaderApplicationPage'\r\nimport '../Applications/CardApplicationPage/cardApplicationPage.scss'\r\nimport { formatBirthDateWithDashes } from 'auth/utils/authHelpers'\r\n\r\ninterface IError {\r\n\tapplicationId: Error | undefined\r\n\tbirthDate: Error | undefined\r\n\terror: Error | undefined\r\n}\r\n\r\nconst GermanyAuthentication = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst isMobile = checkIsMobile()\r\n\tconst [loading, setLoading] = useState(false)\r\n\tconst [value] = useStateWithSessionStorage(CookieType.RedirectUrl)\r\n\tconst [isAutologin, setAutoLogin] = useState(false)\r\n\r\n\tconst [loginDetails, setLoginDetails] = useState({\r\n\t\tapplicationId: '',\r\n\t\tbirthDate: '',\r\n\t})\r\n\r\n\tconst [error, setError] = useState({\r\n\t\tapplicationId: undefined,\r\n\t\tbirthDate: undefined,\r\n\t\terror: undefined,\r\n\t})\r\n\r\n\tasync function login(birthDate: string, applicationId: string) {\r\n\t\tlet err: IError = {\r\n\t\t\tapplicationId: undefined,\r\n\t\t\tbirthDate: undefined,\r\n\t\t\terror: undefined,\r\n\t\t}\r\n\t\tsetError(err)\r\n\t\tif (!/^\\d{8}$/.test(birthDate)) {\r\n\t\t\terr.birthDate = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\t\tif (!/^\\d{7,10}$/.test(applicationId)) {\r\n\t\t\terr.applicationId = new Error(t('InvalidFormat'))\r\n\t\t}\r\n\r\n\t\tif (err.birthDate || err.applicationId) {\r\n\t\t\tsetError(err)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst formatedBirthDate = formatBirthDateWithDashes(birthDate)\r\n\r\n\t\tsetLoading(true)\r\n\r\n\t\ttry {\r\n\t\t\tconst { secret, returnUrl } =\r\n\t\t\t\tawait authenticationService.authenticate(\r\n\t\t\t\t\tapiRoutes.germanyAuthenticate,\r\n\t\t\t\t\t'',\r\n\t\t\t\t\tformatedBirthDate,\r\n\t\t\t\t\tapplicationId!,\r\n\t\t\t\t\tt,\r\n\t\t\t\t)\r\n\t\t\tsessionStorage.setItem('applicationid', applicationId)\r\n\t\t\tsessionStorage.setItem('redirectUrl', '/cardapplication')\r\n\t\t\tauthenticationService.redirectTo(\r\n\t\t\t\treturnUrl ||\r\n\t\t\t\t\t`${window.location.origin}${appRoutes.callbackPage}`,\r\n\t\t\t\tsecret,\r\n\t\t\t)\r\n\t\t} catch (e: any) {\r\n\t\t\tconsole.log(e)\r\n\t\t\tif (e.message.includes('400')) {\r\n\t\t\t\terr.error = new Error(t('IncorrectCode'))\r\n\t\t\t\tsetError(err)\r\n\t\t\t\tsetLoading(false)\r\n\t\t\t\tsetAutoLogin(false)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\terr.error = new Error(t('AuthenticationError'))\r\n\t\t\tsetError(err)\r\n\t\t\tsetLoading(false)\r\n\t\t\tsetAutoLogin(false)\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {}, [error])\r\n\r\n\tuseEffect(() => {\r\n\t\tlet qs = queryString.parse(queryString.extract(value))\r\n\r\n\t\tif (qs.applicationid !== undefined && qs.dob !== undefined) {\r\n\t\t\tsetAutoLogin(true)\r\n\t\t\tlogin(qs.dob as string, qs.applicationid as string)\r\n\t\t}\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [value])\r\n\r\n\tconst formatBirthDate = (str: string) => str.split('.').reverse().join('')\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{isAutologin ? (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('IhrPersönlicherZugang')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetLoginDetails({\r\n\t\t\t\t\t\t\t\t\t\t\t...loginDetails,\r\n\t\t\t\t\t\t\t\t\t\t\tapplicationId: value,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tname=\"applicationId\"\r\n\t\t\t\t\t\t\t\t\tplaceholder={t('Code1')}\r\n\t\t\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{t('DescriptionApplicationId')}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{error.applicationId && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tsetLoginDetails({\r\n\t\t\t\t\t\t\t\t\t\t\t...loginDetails,\r\n\t\t\t\t\t\t\t\t\t\t\tbirthDate: value.formattedValue,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tisNumericString={true}\r\n\t\t\t\t\t\t\t\t\tonKeyDown={(e: React.KeyboardEvent) => {\r\n\t\t\t\t\t\t\t\t\t\te.key === 'Enter' &&\r\n\t\t\t\t\t\t\t\t\t\t\tlogin(\r\n\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tloginDetails.birthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\tloginDetails.applicationId,\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t{error.birthDate && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{error.error && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{loading ? (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tlogin(\r\n\t\t\t\t\t\t\t\t\t\t\t\tformatBirthDate(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tloginDetails.birthDate,\r\n\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\tloginDetails.applicationId,\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"btn btn-default my-4\">\r\n\t\t\t\t\t\t\t\t\t\t{t('SignIn')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t