/* eslint-disable no-console */ interface CardType { Name: string; PromtCpin: string; Value1: string; Value2: string; IsMasterPassMember: string; CardStatus: string; BankIca: string; LoyaltyCode: string; ProductName: string; UniqueId: string; EftCode: string; } export const useMasterpass = () => { function CheckMasterpassAndUser(accountStatus: string) { let showBanner = false; let listManagement = false; let linktoCardClient = false; if (accountStatus) { const accountStatusArray: string[] = accountStatus.split(""); const parsedAccountStatus = { hasMPAccount: parseInt(accountStatusArray[1] as string, 10), hasMPRegisteredCard: parseInt(accountStatusArray[2] as string, 10), isLinkedMP: parseInt(accountStatusArray[3] as string, 10), isLockMPAccount: parseInt(accountStatusArray[4] as string, 10), isUpdatedPhoneOthers: parseInt(accountStatusArray[5] as string, 10), }; if (parsedAccountStatus.hasMPAccount === 0) { // console.log("hesap yok - Register islemi yap"); // handleMasterPassStatus(window.masterpassStatusType.Register); } else if (parsedAccountStatus.hasMPRegisteredCard === 0) { // console.log("hesap var kart tanimlanmamis - Kart Tanımlattır"); // creditCardMasterPassInfo() } else if (parsedAccountStatus.isLinkedMP === 0) { // console.log( // "hesap ve kart var ama jolly e izin verilmemis - Link to Card", // ); linktoCardClient = true; showBanner = true; // creditCartPageCt() } else if (parsedAccountStatus.isLockMPAccount === 1) { // console.log(`hesap var bloke olmuş - Sadece bilgi ver`); // creditCardMasterPassInfo() } else if (parsedAccountStatus.isUpdatedPhoneOthers === 1) { // hesap ve kart var jolly e izin verilmis ama tlf baska uye isyerinde degismis - ??? // console.log( // `hesap ve kart var jolly e izin verilmis ama tlf baska uye isyerinde degismis - ???`, // ); // creditCardMasterPassInfo() } else { // console.log( // "hesap ve kart var jolly e izin verilmis OTP ye ihtiyaç var ise UpdateUser yap öyle devam et degilse listele", // ); showBanner = true; listManagement = true; } return { showBanner, listManagement, linktoCardClient, }; } return { showBanner, listManagement, linktoCardClient, }; } function CheckListManagement(responseCode: string) { let updateUser = false; if (responseCode === "1078") { updateUser = true; } return { updateUser, }; } function CheckUpdateUser(responseCode: string) { let showOtp = false; if (responseCode === "5001") { showOtp = true; } return { showOtp, }; } function CheckListManagementCardStatus(data: CardType[]) { return data.map((item) => { const cardStatus = item.CardStatus ?? ""; const a = cardStatus.split(""); const updatedItem = { ...item, isCcOrSupportedDebit: parseInt(a[4] || "0", 10) === 1, isExpired: parseInt(a[5] || "0", 10) === 1, isDebit: parseInt(a[6] || "0", 10) === 1, isPrePaid: parseInt(a[7] || "0", 10) === 1, isCorporate: parseInt(a[8] || "0", 10) === 1, }; return updatedItem; }); } return { CheckMasterpassAndUser, CheckListManagement, CheckUpdateUser, CheckListManagementCardStatus, }; };