@sunrise-upc/mobile-prod-card 11.12.4 → 11.12.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/StaticLineTable/Product.utils.js.map +1 -1
- package/dist/esm/components/StaticLineTable/StaticProduct.js +1 -1
- package/dist/esm/components/StaticLineTable/StaticProduct.js.map +1 -1
- package/dist/esm/components/StaticLineTable/StaticProductContainer.js +1 -1
- package/dist/esm/components/StaticLineTable/StaticProductContainer.js.map +1 -1
- package/dist/esm/services/LineTableService.js +1 -1
- package/dist/esm/services/LineTableService.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Product.utils.js","sources":["../../../../src/components/StaticLineTable/Product.utils.ts"],"sourcesContent":["import Cookies from 'js-cookie';\r\nimport { SetStateAction } from 'react';\r\nimport {\r\n DEFAULT_MOBILEPOSTPAID_BUNDLE,\r\n DEFAULT_WIRELINE_BUNDLE,\r\n ONE_ECOMMERCE_INTERNET_SUMMARY,\r\n ONE_ECOMMERCE_SUMMARY,\r\n RATEPLAN,\r\n TV_SERVICE_OPTION,\r\n VCTYPE\r\n} from '../../utils/constants';\r\nimport { createCartV2, fetchShogunOfferData } from '../../services/LineTableService';\r\nimport {\r\n checkLinkWithLang,\r\n getElementMaximumHeight,\r\n getLocalStorageWithExpiry,\r\n returnPriceByType\r\n} from '../../utils/utils';\r\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\r\nimport {\r\n ADDTOCART,\r\n COMBINEDEVICE,\r\n GAEVENT,\r\n LINETABLE,\r\n LINETABLEDEVICE,\r\n LINETABLEPRODUCT\r\n} from '../../Analytics/AnalyticsConstants';\r\nimport { getEcomCartInfo, trackEligibleItem } from '../../models/Analytics/items';\r\nimport { AtlOffer, OfferValidation, PegaProductRequestBase } from '../lineTable/lineTable.types';\r\nimport { calculateDateTime } from './StaticLineTabelTimer/util';\r\n\r\nexport const isTimerActive = (startTime: string, endTime: string): boolean => {\r\n try {\r\n const now = new Date();\r\n const start = calculateDateTime(new Date(startTime.replace(/-/g, '/')));\r\n const end = calculateDateTime(new Date(endTime.replace(/-/g, '/')));\r\n\r\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) {\r\n return false;\r\n }\r\n\r\n return now >= start && now < end;\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nexport const getTimeUntilNextTimerEvent = (startTime: string, endTime: string): number => {\r\n try {\r\n const start = calculateDateTime(new Date(startTime.replace(/-/g, '/')));\r\n const end = calculateDateTime(new Date(endTime.replace(/-/g, '/')));\r\n\r\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) {\r\n return 0;\r\n }\r\n\r\n const now = new Date().getTime();\r\n const startTimeMs = start.getTime();\r\n const endTimeMs = end.getTime();\r\n\r\n // Next transition is start when timer is upcoming, otherwise end when active.\r\n if (now < startTimeMs) {\r\n return Math.max(0, startTimeMs - now);\r\n }\r\n if (now >= startTimeMs && now < endTimeMs) {\r\n return Math.max(0, endTimeMs - now);\r\n }\r\n\r\n return 0;\r\n } catch {\r\n return 0;\r\n }\r\n};\r\n\r\nexport const fetchStaticProductIds = (\r\n productList: any,\r\n productId: any,\r\n bundle4PProduct?: boolean,\r\n tvOptionIds?: any,\r\n //US_31295\r\n pricesToggleState?: any\r\n): any => {\r\n let enableStream = false;\r\n let promotionId = '';\r\n productList?.map((data: any) => {\r\n const productRequest: any = {\r\n id: '',\r\n promoIds: []\r\n };\r\n\r\n const productData = data?.products?.[0]?.reference?.content?.product?.[0];\r\n const promotionData = data?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n promotionId = promotionData?.promotionId;\r\n productRequest['id'] = productData?.productId;\r\n const timer = data?.timer?.[0];\r\n const timerIsActive = timer ? isTimerActive(timer.startTime, timer.endTime) : false;\r\n const timerPromotionId =\r\n timer?.promotion?.[0]?.reference?.content?.promoDescription?.[0]?.promotionId;\r\n const defaultPromotionId =\r\n pricesToggleState && pricesToggleState === true && promotionData?.promotionId === ''\r\n ? DEFAULT_MOBILEPOSTPAID_BUNDLE\r\n : promotionData?.promotionId;\r\n\r\n //US_31295 - add default promo only when timer is not active and timer has no promo\r\n if (timerIsActive && timerPromotionId) {\r\n productRequest?.promoIds?.push(timerPromotionId);\r\n } else {\r\n productRequest?.promoIds?.push(defaultPromotionId);\r\n }\r\n\r\n //for 4P product\r\n if (bundle4PProduct) {\r\n const mobilePromotionData =\r\n data?.mobilePromotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n productRequest?.promoIds?.push(mobilePromotionData?.promotionId);\r\n }\r\n\r\n productId?.push(productRequest);\r\n });\r\n if (enableStream) {\r\n tvOptionIds?.map((option: any) => {\r\n const tvOptionObj: any = {\r\n id: '',\r\n promoIds: []\r\n };\r\n tvOptionObj['id'] = option?.text;\r\n tvOptionObj?.promoIds?.push(promotionId);\r\n\r\n productId?.push(tvOptionObj);\r\n });\r\n }\r\n};\r\n\r\nexport const fetchPegaProducts = (\r\n content: any,\r\n pegaCustomerInterest?: string,\r\n placements?: string\r\n): PegaProductRequestBase => {\r\n // const url = window?.location?.pathname?.split('/') ?? [];\r\n // const pathname = url[url.length - 1];\r\n //set customerInterest as content?.tabCaption capitalize inital letter and after space and then remove spaces - from Other plans into OtherPlans\r\n const customerInterest = content?.tabCaption\r\n ?.replace(/\\b\\w/g, (l: string) => l.toUpperCase())\r\n .replace(/\\s+/g, '');\r\n\r\n const offerValidations = [\r\n {\r\n key: 'Segment',\r\n type: 'CustomerType',\r\n value: 'Residential'\r\n },\r\n {\r\n key: 'OrderType',\r\n type: 'CustomerInterest',\r\n value: 'New'\r\n },\r\n {\r\n key: 'CurrentPage',\r\n type: 'Context',\r\n value: 'mobile-subscription' //pathname ?? ''\r\n },\r\n {\r\n key: 'Category',\r\n type: 'CustomerInterest',\r\n value: customerInterest ?? ''\r\n },\r\n {\r\n key: 'RequestedOfferCount',\r\n type: 'Context',\r\n value: content?.pegaRequestOfferCount?.toString() ?? '3'\r\n },\r\n pegaCustomerInterest\r\n ? {\r\n key: 'Tag',\r\n type: 'CustomerInterest',\r\n value: pegaCustomerInterest\r\n }\r\n : null\r\n ].filter(Boolean) as OfferValidation[];\r\n\r\n const atlOffers: AtlOffer = {\r\n placements,\r\n offerValidations\r\n };\r\n\r\n const pegaProducts: PegaProductRequestBase = {\r\n atlOffers: [atlOffers]\r\n };\r\n\r\n return pegaProducts;\r\n};\r\n\r\nexport const checkGiftOrCashback = (data: any): any => {\r\n let showGift = false;\r\n let cashbackAvailable = false;\r\n data?.map((product: any) => {\r\n product?.promotionInfo?.map((offer: any) => {\r\n if (offer?.hardwareGift) showGift = true;\r\n if (offer?.cashBack) cashbackAvailable = true;\r\n });\r\n });\r\n return { showGift, cashbackAvailable };\r\n};\r\n\r\nexport const staticCreateCart = (\r\n setShowLoader: { (value: SetStateAction<boolean>): void; (arg0: boolean): void },\r\n cartEndPoint: string,\r\n giftItem: any,\r\n uniqueProductData: any,\r\n mainContent: any,\r\n showPrice: any,\r\n isMobileFlow: boolean,\r\n radioValue: any,\r\n eligibleBundle: any,\r\n address: any,\r\n setShowLinecheck: any,\r\n showLinecheck: any,\r\n lineCheckCallBack: any,\r\n enableP2P: any,\r\n P2PData: any,\r\n content: any,\r\n tvOptions?: any,\r\n discountRef?: string,\r\n discountVersion?: string,\r\n // Shogun/rewards (loyalty) flow — forwarded verbatim to createCartV2 so it\r\n // can append the pointsBurnt note at the item level (RATEPLAN for MOBILE,\r\n // internet item for FIXNET).\r\n rewardsInfo?: { pointsBurnt?: string | number }\r\n): any => {\r\n if (isMobileFlow) {\r\n setShowLoader(true);\r\n const vcType: { voucher: string; voucherType: string } = getLocalStorageWithExpiry(VCTYPE);\r\n Object.keys(uniqueProductData)?.length !== 0 &&\r\n createCartV2(\r\n uniqueProductData,\r\n '',\r\n showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE,\r\n cartEndPoint,\r\n 'mobile',\r\n giftItem,\r\n enableP2P,\r\n P2PData,\r\n mainContent?.productContainer?.[0]?.isQoQaFlow,\r\n vcType?.voucher,\r\n null,\r\n null,\r\n discountRef,\r\n discountVersion,\r\n rewardsInfo\r\n )\r\n .then((res: any) => {\r\n Cookies.remove('one-commerce-cartId', { path: '/' });\r\n // saving newly created cartid in the cookies.\r\n Cookies.set('one-commerce-cartId', res?.id, { path: '/' });\r\n Cookies.set('cartProduct', showPrice?.id, { path: '/' });\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEPRODUCT);\r\n window.location.href = mainContent?.summaryPageUrl?.cached_url;\r\n })\r\n .catch((err) => {\r\n // eslint-disable-next-line no-console\r\n console.log(err);\r\n setShowLoader(false);\r\n })\r\n .finally(() => {\r\n setShowLoader(false);\r\n });\r\n } else {\r\n const linecheckId: any =\r\n typeof window !== 'undefined' && Cookies.get('one-commerce-linecheckcorrelationid');\r\n if (!eligibleBundle || !address || !linecheckId) {\r\n mainContent?.enableLinecheckOverlay ? setShowLinecheck(!showLinecheck) : lineCheckCallBack();\r\n } else {\r\n setShowLoader(true);\r\n uniqueProductData.length !== 0 &&\r\n createCartV2(\r\n uniqueProductData,\r\n radioValue,\r\n showPrice?.promoID ? showPrice?.promoID : DEFAULT_WIRELINE_BUNDLE,\r\n cartEndPoint,\r\n 'fixnet',\r\n giftItem,\r\n '',\r\n '',\r\n false,\r\n '',\r\n '',\r\n tvOptions,\r\n undefined,\r\n undefined,\r\n rewardsInfo\r\n )\r\n .then((res: any) => {\r\n typeof window !== 'undefined' && Cookies.remove('one-commerce-cartId', { path: '/' });\r\n // saving newly created cartid in the cookies.\r\n typeof window !== 'undefined' &&\r\n Cookies.set('one-commerce-cartId', res?.id, { path: '/' });\r\n typeof window !== 'undefined' &&\r\n Cookies.set('cartProduct', showPrice?.id, { path: '/' });\r\n typeof window !== 'undefined' && Cookies.remove('landline');\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLE);\r\n const productUrl = checkLinkWithLang(content?.productBasedCheckoutUrl?.cached_url);\r\n let recommendAccessory = false;\r\n /**Check if bundle or Internet and add it to cart request*/\r\n if (uniqueProductData[0]?.isBundle) {\r\n uniqueProductData[0]?.bundledOffers?.map((item: any) => {\r\n if (\r\n item?.productType?.toLowerCase() === 'internet' ||\r\n item?.productType?.toLowerCase() == 'tv'\r\n ) {\r\n if (item?.recommendAccessory) {\r\n recommendAccessory = item?.recommendAccessory;\r\n }\r\n }\r\n // setting to false incase of Mobile product Type as it is currently out of scope\r\n if (item?.productType?.toLowerCase() === 'mobile') {\r\n recommendAccessory = false;\r\n return;\r\n }\r\n });\r\n } else {\r\n /**Add standlone product such as internet to cart request*/\r\n if (uniqueProductData?.[0]?.recommendAccessory) {\r\n recommendAccessory = uniqueProductData?.[0]?.recommendAccessory;\r\n }\r\n }\r\n //setting the session to identify internet flow for mia for win\r\n if (recommendAccessory) {\r\n const sessionObj = { flow: 'WIN' };\r\n sessionStorage.setItem(ONE_ECOMMERCE_SUMMARY, JSON.stringify(sessionObj));\r\n }\r\n\r\n const finalURL = productUrl\r\n ? productUrl\r\n : content?.enableTVStreamingOptionsStepper && mainContent?.vasStepperURL?.cached_url\r\n ? mainContent?.vasStepperURL?.cached_url\r\n : recommendAccessory && mainContent?.multiItemPageRedirectionUrl?.cached_url\r\n ? mainContent?.multiItemPageRedirectionUrl?.cached_url\r\n : mainContent?.summaryPageUrl?.cached_url;\r\n\r\n window.location.href = finalURL;\r\n })\r\n .catch((err: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log(err);\r\n })\r\n .finally(() => {\r\n setShowLoader(false);\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport const findHeight = (tabIndex: number, cardsLength: number) => {\r\n const setTimerSectionHeight = () => {\r\n let maxActiveTimerHeight = 0;\r\n const timerSections: HTMLElement[] = [];\r\n\r\n [...Array(cardsLength)].forEach((_, index) => {\r\n const timerSection = document.getElementById(`timer-section${tabIndex}${index}`);\r\n if (timerSection) {\r\n timerSections.push(timerSection);\r\n const isTimerActive = timerSection.dataset.timerActive === 'true';\r\n if (isTimerActive) {\r\n const spacer = timerSection.firstElementChild as HTMLElement | null;\r\n // Read the inline style target height instead of clientHeight so that\r\n // an in-progress CSS transition does not yield an intermediate value.\r\n const targetHeight = parseFloat(spacer?.style.height || '0') || 0;\r\n maxActiveTimerHeight = Math.max(maxActiveTimerHeight, targetHeight);\r\n }\r\n }\r\n });\r\n\r\n timerSections.forEach((timerSection) => {\r\n const isTimerActive = timerSection.dataset.timerActive === 'true';\r\n timerSection.style.transition = 'height 0.3s ease';\r\n timerSection.style.height = isTimerActive ? '0px' : `${maxActiveTimerHeight}px`;\r\n });\r\n };\r\n\r\n getElementMaximumHeight('headingV3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('descriptionV3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('titleV3' + `${tabIndex}`, cardsLength);\r\n setTimerSectionHeight();\r\n getElementMaximumHeight('detailsectionv3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('product-configv3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('gift-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('benefits-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('order-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('price-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('benefits-price-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('contract-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('exclusive-benefits-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('discountedpricetoggle-section' + `${tabIndex}`, cardsLength);\r\n};\r\n\r\nconst setMobileSummarySession = (\r\n promoId: string,\r\n uniqueProductData: any,\r\n pretopostvalues?: any,\r\n showPrice?: any,\r\n product?: any,\r\n pegaIntegration?: any\r\n) => {\r\n const productPrice = uniqueProductData;\r\n const base: number = productPrice?.[0]?.prices?.[0]?.value ?? 0;\r\n const discount = productPrice?.[0]?.derivedPrice?.[0]?.value ?? 0;\r\n const contractDuration = productPrice?.[0]?.promotionInfo?.[0]?.contractDuration ?? 0;\r\n const campaignDuration = productPrice?.[0]?.promotionInfo?.[0]?.campaignDuration ?? 0;\r\n const pretopostvalue = pretopostvalues ?? '';\r\n //PEGA Integration\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n const clientDiscountInfo = pegaIntegration\r\n ? {\r\n discountRef: discountRef,\r\n discountType: 'DISCOUNT'\r\n }\r\n : null;\r\n const note = [];\r\n note?.push({\r\n author: 'offerType',\r\n text: 'ATL'\r\n });\r\n note?.push({\r\n author: 'externalPromotionName',\r\n text: discountRef\r\n });\r\n note?.push({\r\n author: 'offerVersion',\r\n text: discountVersion\r\n });\r\n\r\n const extraNotes = pegaIntegration ? note : null;\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const flow = urlParams.get('flow');\r\n const sessionObj: any = {\r\n mobileSubscription: productPrice?.[0]?.id ?? '',\r\n mobileSubscriptionPrice: discount > 0 ? discount : base,\r\n mobileSubscriptionPromo: promoId,\r\n subGroup: 'MOBILE',\r\n duration: Number(campaignDuration > 0 ? campaignDuration : contractDuration),\r\n basePrice: base,\r\n withoutPromo: false,\r\n pretopostvalue: pretopostvalue,\r\n upBenefit:\r\n showPrice.mob_benefit_category == 'MULTIMOBILE' || showPrice.mob_benefit_category == 'FMC',\r\n ultimateBundlePromo: product?.ultimateBundlePromotion ?? '',\r\n clientDiscountInfo: clientDiscountInfo,\r\n extraNotes: extraNotes,\r\n isOttFlow: flow === 'ott' ? true : false\r\n };\r\n\r\n typeof window !== undefined &&\r\n sessionStorage.setItem('one-ecommerce-mobileSummary', JSON.stringify(sessionObj));\r\n};\r\n\r\nexport const combineWithSmartPhone = (\r\n showPrice: any,\r\n storyContent: any,\r\n uniqueProductData: any,\r\n responseData?: any,\r\n product?: any,\r\n pegaIntegration?: boolean\r\n) => {\r\n const pretopostvalues = {\r\n msisdn: responseData?.msisdn ?? '',\r\n ratePlan: responseData?.ratePlan ?? '',\r\n ratePlanType: responseData?.ratePlanType ?? '',\r\n productId: responseData ? showPrice?.id : ''\r\n };\r\n const promoId = showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE;\r\n let Params = '';\r\n Params = `?componentCode=&productType=subscription&segmentCode=RC&prefPromo=${\r\n promoId ?? ''\r\n }&productCode=${showPrice?.id ?? ''}`;\r\n window.location.href = storyContent?.addSmartPhone?.[0]?.buttonLink?.cached_url + Params;\r\n setMobileSummarySession(\r\n promoId,\r\n uniqueProductData,\r\n responseData && pretopostvalues,\r\n showPrice,\r\n product,\r\n pegaIntegration\r\n );\r\n trackNewDatalayerEvent(\r\n GAEVENT,\r\n COMBINEDEVICE,\r\n getEcomCartInfo(uniqueProductData, '', LINETABLEDEVICE)\r\n );\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEDEVICE);\r\n};\r\n\r\nconst setFixnetSummarySession = (\r\n promoId: string,\r\n uniqueProductData: any,\r\n showPrice?: any,\r\n product?: any,\r\n pegaIntegration?: any,\r\n productName?: string,\r\n recommendAccessory?: boolean | undefined\r\n) => {\r\n const productPrice = uniqueProductData;\r\n const base: number = productPrice?.[0]?.prices?.[0]?.value ?? 0;\r\n const discount = productPrice?.[0]?.derivedPrice?.[0]?.value ?? 0;\r\n const contractDuration =\r\n productPrice?.[0]?.promotionInfo?.[0]?.contractDuration ?? showPrice?.contractDuration ?? 0;\r\n const campaignDuration = productPrice?.[0]?.promotionInfo?.[0]?.campaignDuration ?? 0;\r\n\r\n //PEGA Integration\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n const clientDiscountInfo = pegaIntegration\r\n ? {\r\n discountRef: discountRef,\r\n discountType: 'DISCOUNT'\r\n }\r\n : null;\r\n const note = [];\r\n note?.push({\r\n author: 'offerType',\r\n text: 'ATL'\r\n });\r\n note?.push({\r\n author: 'externalPromotionName',\r\n text: discountRef\r\n });\r\n note?.push({\r\n author: 'offerVersion',\r\n text: discountVersion\r\n });\r\n\r\n const extraNotes = pegaIntegration ? note : null;\r\n\r\n const sessionObj: any = {\r\n internetSubscription: productName ?? '',\r\n internetSubscriptionId: productPrice?.[0]?.id ?? '',\r\n internetSubscriptionPrice: discount > 0 ? discount : base,\r\n internetSubscriptionPromo: promoId,\r\n subGroup: 'INTERNET',\r\n duration: Number(campaignDuration > 0 ? campaignDuration : contractDuration),\r\n basePrice: base,\r\n withPromo: discount > 0 ? true : false,\r\n upBenefit:\r\n showPrice.mob_benefit_category == 'MULTIMOBILE' || showPrice.mob_benefit_category == 'FMC',\r\n ultimateBundlePromo: product?.ultimateBundlePromotion ?? '',\r\n clientDiscountInfo: clientDiscountInfo,\r\n extraNotes: extraNotes,\r\n productType: 'subscription',\r\n recommendAccessory: recommendAccessory\r\n };\r\n\r\n typeof window !== undefined &&\r\n sessionStorage.setItem(ONE_ECOMMERCE_INTERNET_SUMMARY, JSON.stringify(sessionObj));\r\n};\r\nexport const combineWithVasOptions = (\r\n showPrice: any,\r\n uniqueProductData: any,\r\n product?: any,\r\n pegaIntegration?: boolean,\r\n productName?: string,\r\n recommendAccessory?: boolean\r\n) => {\r\n const promoId = showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE;\r\n\r\n setFixnetSummarySession(\r\n promoId,\r\n uniqueProductData,\r\n showPrice,\r\n product,\r\n pegaIntegration,\r\n productName,\r\n recommendAccessory\r\n );\r\n trackNewDatalayerEvent(\r\n GAEVENT,\r\n COMBINEDEVICE,\r\n getEcomCartInfo(uniqueProductData, '', LINETABLEDEVICE)\r\n );\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEDEVICE);\r\n};\r\n\r\nexport const fetchServiceOptions = (entitlement: any, isMobileFlow: boolean) => {\r\n let service: any;\r\n if (!isMobileFlow) {\r\n service = (entitlement || []).filter((product: any) => product?.enableTV === true);\r\n }\r\n return service;\r\n};\r\n\r\nexport const fetchPrice = (\r\n product: any,\r\n isMobileFlow: boolean,\r\n pageType?: string,\r\n isConfigurator?: boolean,\r\n tvOptions?: any[],\r\n pegaIntegration?: boolean\r\n): any => {\r\n const showPrice: any = {\r\n base: '',\r\n onetimePrice: '',\r\n discount: [],\r\n contractDuration: '',\r\n int_fmc: 0,\r\n mob_fmc: 0,\r\n mob_benefit_category: '',\r\n id: '',\r\n promoID: '',\r\n loyaltyPrice: ''\r\n };\r\n let tvOptionsBasePrice = 0;\r\n let tvOptionsDiscountPrice = 0;\r\n let tvOptionsBaseToDiscount = 0;\r\n\r\n Array.isArray(product) &&\r\n product?.map((item: any) => {\r\n showPrice['id'] = item?.id ?? '';\r\n item?.prices?.map((basePrice: any) => {\r\n if (basePrice?.priceType?.toLowerCase() === 'recurring') {\r\n if (tvOptions && tvOptions?.length > 0) {\r\n tvOptions?.forEach((opt: any) => {\r\n if (opt?.beneficiaryPrice > 0) {\r\n tvOptionsDiscountPrice += parseFloat(opt?.beneficiaryPrice);\r\n } else if (opt?.derivedPrice > 0) {\r\n tvOptionsDiscountPrice += parseFloat(opt?.derivedPrice);\r\n } else {\r\n tvOptionsBaseToDiscount += parseFloat(opt?.recurringPrice);\r\n }\r\n if (opt?.recurringPrice > 0) {\r\n tvOptionsBasePrice += parseFloat(opt?.recurringPrice);\r\n }\r\n });\r\n //If one of the options in the list has a discount, other options base price is stored to sum it up in the end\r\n if (tvOptionsDiscountPrice > 0) {\r\n tvOptionsDiscountPrice += tvOptionsBaseToDiscount;\r\n }\r\n showPrice['base'] = JSON.stringify(\r\n parseFloat(basePrice?.value) +\r\n (tvOptionsDiscountPrice > 0 ? tvOptionsDiscountPrice : tvOptionsBasePrice)\r\n );\r\n } else {\r\n showPrice['base'] = basePrice?.value;\r\n }\r\n } else if (basePrice?.priceType?.toLowerCase() === 'one time')\r\n showPrice['onetimePrice'] = basePrice?.value;\r\n });\r\n item?.derivedPrice?.map((discountPrice: any) => {\r\n const cycle = { cycleStart: '', cycleEnd: '', value: '' };\r\n cycle['cycleStart'] =\r\n pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n ? 1\r\n : discountPrice?.cycle?.cycleStart;\r\n cycle['cycleEnd'] =\r\n pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n ? pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n : discountPrice?.cycle?.cycleEnd;\r\n cycle['value'] = discountPrice?.value;\r\n if (tvOptions && tvOptions?.length > 0) {\r\n if (tvOptionsDiscountPrice > 0) {\r\n cycle['value'] = JSON.stringify(\r\n parseFloat(discountPrice?.value) + tvOptionsDiscountPrice\r\n );\r\n } else {\r\n cycle['value'] = JSON.stringify(parseFloat(discountPrice?.value) + tvOptionsBasePrice);\r\n }\r\n }\r\n showPrice['discount'].push(cycle);\r\n });\r\n // Calculating loyalty price introduced with DC portfolio\r\n if (item?.promotionInfo?.[0]?.relatedPromo?.length > 0) {\r\n item?.promotionInfo?.[0]?.relatedPromo?.map((promo: any) => {\r\n if (promo?.type === 'LOYALTY_DISCOUNT') {\r\n showPrice['loyaltyPrice'] = promo?.discount;\r\n }\r\n });\r\n }\r\n });\r\n\r\n product?.[0]?.bundledOffers?.forEach((item: any) => {\r\n item?.prices?.forEach((productDetails: any) => {\r\n if (productDetails?.priceAlteration?.length > 0) {\r\n productDetails?.priceAlteration?.forEach((price: any) => {\r\n if (price?.priceCategory == 'INTERNET_FMC') {\r\n showPrice['int_fmc'] += Number(price?.value);\r\n } else if (\r\n price?.priceCategory == 'MULTIMOBILE' ||\r\n price?.priceCategory == 'MULTIMOBILE_REWARD' ||\r\n price?.priceCategory == 'FMC'\r\n ) {\r\n showPrice['mob_fmc'] += Number(price?.value);\r\n showPrice['mob_benefit_category'] = price?.priceCategory;\r\n }\r\n });\r\n }\r\n });\r\n if (item?.contractDuration) {\r\n showPrice['contractDuration'] = item?.contractDuration; // for bundled products contract duration is taken from bundled offers\r\n }\r\n if (item?.promotionInfo?.[0]?.id && !pegaIntegration) {\r\n showPrice['promoID'] = item?.promotionInfo?.[0]?.id;\r\n }\r\n });\r\n if (!product?.[0]?.isBundle) {\r\n showPrice['contractDuration'] = product?.[0]?.contractDuration; // for other products\r\n if (!pegaIntegration) {\r\n showPrice['promoID'] = product?.[0]?.promotionInfo?.[0]?.id;\r\n }\r\n }\r\n let int_fmc = 0;\r\n product?.[0]?.prices?.map((productDetails: any) => {\r\n if (productDetails?.priceAlteration?.length > 0) {\r\n productDetails?.priceAlteration?.map((price: any) => {\r\n if (price?.priceCategory == 'INTERNET_FMC') {\r\n int_fmc += Number(price?.value);\r\n } else if (\r\n price?.priceCategory == 'MULTIMOBILE' ||\r\n price?.priceCategory == 'MULTIMOBILE_REWARD' ||\r\n price?.priceCategory == 'FMC'\r\n ) {\r\n showPrice['mob_fmc'] += Number(price?.value);\r\n showPrice['mob_benefit_category'] = price?.priceCategory;\r\n }\r\n });\r\n }\r\n });\r\n if (!showPrice?.contractDuration && !isMobileFlow) {\r\n showPrice['contractDuration'] = '12';\r\n }\r\n {\r\n showPrice['int_fmc'] = isConfigurator ? int_fmc : showPrice['int_fmc'];\r\n }\r\n if (pageType == '4P') {\r\n let bundleContractDuration = '0';\r\n product?.[0]?.bundledOffers?.map((offerData: any) => {\r\n if (offerData?.contractDuration) {\r\n bundleContractDuration =\r\n Number(bundleContractDuration) > Number(offerData?.contractDuration)\r\n ? bundleContractDuration\r\n : offerData?.contractDuration;\r\n }\r\n });\r\n showPrice['contractDuration'] = bundleContractDuration;\r\n }\r\n return showPrice;\r\n};\r\n\r\n//function for creating different array for 3 selections\r\nexport const fetchFilteredProducts = (productList: any, toggleState: any) => {\r\n //need to centralize for comman solution\r\n // Filter productList based on gigaSpeed toggle - US #363853\r\n let filteredList = productList;\r\n\r\n filteredList = productList.filter((item: any) => {\r\n const gigaSpeedValue = item?.gigaSpeed?.toLowerCase();\r\n if (toggleState?.gigaSpeed) {\r\n return gigaSpeedValue != 'hide';\r\n } else {\r\n return gigaSpeedValue != 'show';\r\n }\r\n });\r\n\r\n let mainArray = filteredList;\r\n const numberOfArray = 3;\r\n let res1 = [];\r\n let res2 = [];\r\n let res3 = [];\r\n for (let item of mainArray) {\r\n const multiIndex = item?.productIndex?.includes(',');\r\n const updatedMultiIndex = multiIndex && item?.productIndex?.split(',');\r\n if (multiIndex) {\r\n for (let mIndex of updatedMultiIndex) {\r\n for (let i = 0; i < numberOfArray; i++) {\r\n if (Number(mIndex) === i) {\r\n i === 0 ? res1.push(item) : i === 1 ? res2.push(item) : res3.push(item);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < numberOfArray; i++) {\r\n if (Number(item?.productIndex) === i) {\r\n i === 0 ? res1.push(item) : i === 1 ? res2.push(item) : res3.push(item);\r\n }\r\n }\r\n }\r\n }\r\n const displayContent =\r\n toggleState?.TV && toggleState?.Netflix ? res3 : toggleState?.TV ? res2 : res1;\r\n return displayContent;\r\n};\r\nexport const fetchOttItems = (ottCartData: any) => {\r\n return (ottCartData?.products || [])?.map((products: any) => ({\r\n itemType: products?.type ?? '',\r\n promotionId: products?.promo ?? '',\r\n items: [\r\n {\r\n itemType: products?.type === TV_SERVICE_OPTION ? TV_SERVICE_OPTION : RATEPLAN,\r\n id: products?.id ?? ''\r\n }\r\n ]\r\n }));\r\n};\r\n\r\n// ─── Shogun shared-offer cache ────────────────────────────────────────────────\r\n\r\ninterface ShogunOfferCacheEntry {\r\n gloxTokenId: string;\r\n results: any[] | null;\r\n promise: Promise<any[]> | null;\r\n}\r\n\r\nlet shogunOfferSharedCache: ShogunOfferCacheEntry | null = null;\r\n\r\n/**\r\n * Returns true when the shared cache already holds resolved results for the\r\n * given token. Callers can use this to skip triggering a loading state.\r\n */\r\nexport const isShogunOfferResolved = (gloxTokenId: string): boolean =>\r\n shogunOfferSharedCache?.gloxTokenId === gloxTokenId &&\r\n shogunOfferSharedCache.results !== null;\r\n\r\n/**\r\n * Shared-promise manager for the Shogun offer API.\r\n *\r\n * Because the Shogun flow sends no product payload (only gloxTokenId) the\r\n * response is identical for every StaticProductContainer on the page.\r\n * This function ensures exactly one network request is made:\r\n * - If results are already resolved → returns Promise.resolve(results)\r\n * - If a fetch is in-flight → returns the same promise\r\n * - First caller → creates the fetch and stores the promise\r\n *\r\n * On failure the promise rejects — the caller is responsible for surfacing\r\n * the error (e.g. showing the telesales/error popup). The failure is NOT\r\n * cached, so a retry (e.g. tab switch) will trigger a fresh request.\r\n */\r\nexport const getShogunSharedOffer = (\r\n gloxTokenId: string,\r\n uniqueId: string,\r\n offerEndpoint: string\r\n): Promise<any[]> => {\r\n // Already resolved\r\n if (isShogunOfferResolved(gloxTokenId)) {\r\n return Promise.resolve(shogunOfferSharedCache!.results!);\r\n }\r\n\r\n // In-flight\r\n if (\r\n shogunOfferSharedCache?.gloxTokenId === gloxTokenId &&\r\n shogunOfferSharedCache.promise !== null\r\n ) {\r\n return shogunOfferSharedCache.promise;\r\n }\r\n\r\n // First caller — start the real fetch\r\n const fetchPromise: Promise<any[]> = fetchShogunOfferData(gloxTokenId, uniqueId, offerEndpoint)\r\n .then((resp: any) => {\r\n const results: any[] = resp?.[uniqueId] ?? [];\r\n if (shogunOfferSharedCache?.gloxTokenId === gloxTokenId) {\r\n shogunOfferSharedCache.results = results;\r\n shogunOfferSharedCache.promise = null;\r\n }\r\n return results;\r\n })\r\n .catch((err: any) => {\r\n // Clear the cache entry so the next call retries the API.\r\n if (shogunOfferSharedCache?.gloxTokenId === gloxTokenId) {\r\n shogunOfferSharedCache = null;\r\n }\r\n throw err;\r\n });\r\n\r\n shogunOfferSharedCache = { gloxTokenId, results: null, promise: fetchPromise };\r\n return fetchPromise;\r\n};\r\n\r\n\r\n/**\r\n * Filters and sorts the Storyblok product list to match only the products\r\n * returned by the Shogun offer API, preserving the API response order.\r\n */\r\nexport const filterShogunProducts = (\r\n availableProducts: any[],\r\n shogunProductIds: string[]\r\n): any[] => {\r\n const filtered = availableProducts.filter((product: any) => {\r\n const productId = product?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n return shogunProductIds.includes(productId);\r\n });\r\n\r\n filtered.sort((a: any, b: any) => {\r\n const aId = a?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n const bId = b?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n return shogunProductIds.indexOf(aId) - shogunProductIds.indexOf(bId);\r\n });\r\n\r\n return filtered;\r\n};\r\n"],"names":["isTimerActive","startTime","endTime","now","Date","start","calculateDateTime","replace","end","Number","isNaN","getTime","_a","getTimeUntilNextTimerEvent","startTimeMs","endTimeMs","Math","max","fetchStaticProductIds","productList","productId","bundle4PProduct","tvOptionIds","pricesToggleState","map","data","productRequest","id","promoIds","productData","_e","_d","_c","_b","products","reference","content","product","promotionData","_k","_j","_h","_g","_f","promotion","promoDescription","promotionId","timer","_l","timerIsActive","timerPromotionId","_s","_r","_q","_p","_o","_m","defaultPromotionId","DEFAULT_MOBILEPOSTPAID_BUNDLE","_t","push","_u","mobilePromotionData","_z","_y","_x","_w","_v","mobilePromotion","_0","fetchPegaProducts","pegaCustomerInterest","placements","customerInterest","tabCaption","l","toUpperCase","atlOffers","offerValidations","key","type","value","pegaRequestOfferCount","toString","filter","Boolean","checkGiftOrCashback","showGift","cashbackAvailable","promotionInfo","offer","hardwareGift","cashBack","staticCreateCart","setShowLoader","cartEndPoint","giftItem","uniqueProductData","mainContent","showPrice","isMobileFlow","radioValue","eligibleBundle","address","setShowLinecheck","showLinecheck","lineCheckCallBack","enableP2P","P2PData","tvOptions","discountRef","discountVersion","rewardsInfo","vcType","getLocalStorageWithExpiry","VCTYPE","Object","keys","length","createCartV2","promoID","productContainer","isQoQaFlow","voucher","then","res","Cookies","remove","path","set","trackEligibleItem","ADDTOCART","LINETABLEPRODUCT","window","location","href","summaryPageUrl","cached_url","catch","err","console","log","finally","linecheckId","get","DEFAULT_WIRELINE_BUNDLE","undefined","LINETABLE","productUrl","checkLinkWithLang","productBasedCheckoutUrl","recommendAccessory","isBundle","bundledOffers","item","productType","toLowerCase","sessionObj","flow","sessionStorage","setItem","ONE_ECOMMERCE_SUMMARY","JSON","stringify","finalURL","enableTVStreamingOptionsStepper","vasStepperURL","multiItemPageRedirectionUrl","enableLinecheckOverlay","findHeight","tabIndex","cardsLength","getElementMaximumHeight","maxActiveTimerHeight","timerSections","Array","forEach","_","index","timerSection","document","getElementById","dataset","timerActive","spacer","firstElementChild","targetHeight","parseFloat","style","height","transition","setTimerSectionHeight","combineWithSmartPhone","storyContent","responseData","pegaIntegration","pretopostvalues","msisdn","ratePlan","ratePlanType","promoId","Params","addSmartPhone","buttonLink","productPrice","base","prices","discount","derivedPrice","contractDuration","campaignDuration","pretopostvalue","version","clientDiscountInfo","discountType","note","author","text","extraNotes","URLSearchParams","search","mobileSubscription","mobileSubscriptionPrice","mobileSubscriptionPromo","subGroup","duration","basePrice","withoutPromo","upBenefit","mob_benefit_category","ultimateBundlePromo","ultimateBundlePromotion","isOttFlow","setMobileSummarySession","trackNewDatalayerEvent","GAEVENT","COMBINEDEVICE","getEcomCartInfo","LINETABLEDEVICE","combineWithVasOptions","productName","internetSubscription","internetSubscriptionId","internetSubscriptionPrice","internetSubscriptionPromo","withPromo","_1","ONE_ECOMMERCE_INTERNET_SUMMARY","setFixnetSummarySession","fetchServiceOptions","entitlement","service","enableTV","fetchPrice","pageType","isConfigurator","onetimePrice","int_fmc","mob_fmc","loyaltyPrice","tvOptionsBasePrice","tvOptionsDiscountPrice","tvOptionsBaseToDiscount","isArray","priceType","opt","beneficiaryPrice","recurringPrice","discountPrice","cycle","cycleStart","cycleEnd","relatedPromo","promo","productDetails","priceAlteration","price","priceCategory","bundleContractDuration","offerData","fetchFilteredProducts","toggleState","filteredList","gigaSpeedValue","gigaSpeed","mainArray","res1","res2","res3","multiIndex","productIndex","includes","updatedMultiIndex","split","mIndex","i","TV","Netflix","fetchOttItems","ottCartData","itemType","items","TV_SERVICE_OPTION","RATEPLAN","shogunOfferSharedCache","isShogunOfferResolved","gloxTokenId","results","getShogunSharedOffer","uniqueId","offerEndpoint","Promise","resolve","promise","fetchPromise","fetchShogunOfferData","resp","filterShogunProducts","availableProducts","shogunProductIds","filtered","sort","a","b","aId","bId","indexOf"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Product.utils.js","sources":["../../../../src/components/StaticLineTable/Product.utils.ts"],"sourcesContent":["import Cookies from 'js-cookie';\r\nimport { SetStateAction } from 'react';\r\nimport {\r\n DEFAULT_MOBILEPOSTPAID_BUNDLE,\r\n DEFAULT_WIRELINE_BUNDLE,\r\n ONE_ECOMMERCE_INTERNET_SUMMARY,\r\n ONE_ECOMMERCE_SUMMARY,\r\n RATEPLAN,\r\n TV_SERVICE_OPTION,\r\n VCTYPE\r\n} from '../../utils/constants';\r\nimport { createCartV2, fetchShogunOfferData } from '../../services/LineTableService';\r\nimport {\r\n checkLinkWithLang,\r\n getElementMaximumHeight,\r\n getLocalStorageWithExpiry,\r\n returnPriceByType\r\n} from '../../utils/utils';\r\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\r\nimport {\r\n ADDTOCART,\r\n COMBINEDEVICE,\r\n GAEVENT,\r\n LINETABLE,\r\n LINETABLEDEVICE,\r\n LINETABLEPRODUCT\r\n} from '../../Analytics/AnalyticsConstants';\r\nimport { getEcomCartInfo, trackEligibleItem } from '../../models/Analytics/items';\r\nimport { AtlOffer, OfferValidation, PegaProductRequestBase } from '../lineTable/lineTable.types';\r\nimport { calculateDateTime } from './StaticLineTabelTimer/util';\r\n\r\nexport const isTimerActive = (startTime: string, endTime: string): boolean => {\r\n try {\r\n const now = new Date();\r\n const start = calculateDateTime(new Date(startTime.replace(/-/g, '/')));\r\n const end = calculateDateTime(new Date(endTime.replace(/-/g, '/')));\r\n\r\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) {\r\n return false;\r\n }\r\n\r\n return now >= start && now < end;\r\n } catch {\r\n return false;\r\n }\r\n};\r\n\r\nexport const getTimeUntilNextTimerEvent = (startTime: string, endTime: string): number => {\r\n try {\r\n const start = calculateDateTime(new Date(startTime.replace(/-/g, '/')));\r\n const end = calculateDateTime(new Date(endTime.replace(/-/g, '/')));\r\n\r\n if (Number.isNaN(start.getTime()) || Number.isNaN(end.getTime())) {\r\n return 0;\r\n }\r\n\r\n const now = new Date().getTime();\r\n const startTimeMs = start.getTime();\r\n const endTimeMs = end.getTime();\r\n\r\n // Next transition is start when timer is upcoming, otherwise end when active.\r\n if (now < startTimeMs) {\r\n return Math.max(0, startTimeMs - now);\r\n }\r\n if (now >= startTimeMs && now < endTimeMs) {\r\n return Math.max(0, endTimeMs - now);\r\n }\r\n\r\n return 0;\r\n } catch {\r\n return 0;\r\n }\r\n};\r\n\r\nexport const fetchStaticProductIds = (\r\n productList: any,\r\n productId: any,\r\n bundle4PProduct?: boolean,\r\n tvOptionIds?: any,\r\n //US_31295\r\n pricesToggleState?: any\r\n): any => {\r\n let enableStream = false;\r\n let promotionId = '';\r\n productList?.map((data: any) => {\r\n const productRequest: any = {\r\n id: '',\r\n promoIds: []\r\n };\r\n\r\n const productData = data?.products?.[0]?.reference?.content?.product?.[0];\r\n const promotionData = data?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n promotionId = promotionData?.promotionId;\r\n productRequest['id'] = productData?.productId;\r\n const timer = data?.timer?.[0];\r\n const timerIsActive = timer ? isTimerActive(timer.startTime, timer.endTime) : false;\r\n const timerPromotionId =\r\n timer?.promotion?.[0]?.reference?.content?.promoDescription?.[0]?.promotionId;\r\n const defaultPromotionId =\r\n pricesToggleState && pricesToggleState === true && promotionData?.promotionId === ''\r\n ? DEFAULT_MOBILEPOSTPAID_BUNDLE\r\n : promotionData?.promotionId;\r\n\r\n //US_31295 - add default promo only when timer is not active and timer has no promo\r\n if (timerIsActive && timerPromotionId) {\r\n productRequest?.promoIds?.push(timerPromotionId);\r\n } else {\r\n productRequest?.promoIds?.push(defaultPromotionId);\r\n }\r\n\r\n //for 4P product\r\n if (bundle4PProduct) {\r\n const mobilePromotionData =\r\n data?.mobilePromotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n productRequest?.promoIds?.push(mobilePromotionData?.promotionId);\r\n }\r\n\r\n productId?.push(productRequest);\r\n });\r\n if (enableStream) {\r\n tvOptionIds?.map((option: any) => {\r\n const tvOptionObj: any = {\r\n id: '',\r\n promoIds: []\r\n };\r\n tvOptionObj['id'] = option?.text;\r\n tvOptionObj?.promoIds?.push(promotionId);\r\n\r\n productId?.push(tvOptionObj);\r\n });\r\n }\r\n};\r\n\r\nexport const fetchPegaProducts = (\r\n content: any,\r\n pegaCustomerInterest?: string,\r\n placements?: string\r\n): PegaProductRequestBase => {\r\n // const url = window?.location?.pathname?.split('/') ?? [];\r\n // const pathname = url[url.length - 1];\r\n //set customerInterest as content?.tabCaption capitalize inital letter and after space and then remove spaces - from Other plans into OtherPlans\r\n const customerInterest = content?.tabCaption\r\n ?.replace(/\\b\\w/g, (l: string) => l.toUpperCase())\r\n .replace(/\\s+/g, '');\r\n\r\n const offerValidations = [\r\n {\r\n key: 'Segment',\r\n type: 'CustomerType',\r\n value: 'Residential'\r\n },\r\n {\r\n key: 'OrderType',\r\n type: 'CustomerInterest',\r\n value: 'New'\r\n },\r\n {\r\n key: 'CurrentPage',\r\n type: 'Context',\r\n value: 'mobile-subscription' //pathname ?? ''\r\n },\r\n {\r\n key: 'Category',\r\n type: 'CustomerInterest',\r\n value: customerInterest ?? ''\r\n },\r\n {\r\n key: 'RequestedOfferCount',\r\n type: 'Context',\r\n value: content?.pegaRequestOfferCount?.toString() ?? '3'\r\n },\r\n pegaCustomerInterest\r\n ? {\r\n key: 'Tag',\r\n type: 'CustomerInterest',\r\n value: pegaCustomerInterest\r\n }\r\n : null\r\n ].filter(Boolean) as OfferValidation[];\r\n\r\n const atlOffers: AtlOffer = {\r\n placements,\r\n offerValidations\r\n };\r\n\r\n const pegaProducts: PegaProductRequestBase = {\r\n atlOffers: [atlOffers]\r\n };\r\n\r\n return pegaProducts;\r\n};\r\n\r\nexport const checkGiftOrCashback = (data: any): any => {\r\n let showGift = false;\r\n let cashbackAvailable = false;\r\n data?.map((product: any) => {\r\n product?.promotionInfo?.map((offer: any) => {\r\n if (offer?.hardwareGift) showGift = true;\r\n if (offer?.cashBack) cashbackAvailable = true;\r\n });\r\n });\r\n return { showGift, cashbackAvailable };\r\n};\r\n\r\nexport const staticCreateCart = (\r\n setShowLoader: { (value: SetStateAction<boolean>): void; (arg0: boolean): void },\r\n cartEndPoint: string,\r\n giftItem: any,\r\n uniqueProductData: any,\r\n mainContent: any,\r\n showPrice: any,\r\n isMobileFlow: boolean,\r\n radioValue: any,\r\n eligibleBundle: any,\r\n address: any,\r\n setShowLinecheck: any,\r\n showLinecheck: any,\r\n lineCheckCallBack: any,\r\n enableP2P: any,\r\n P2PData: any,\r\n content: any,\r\n tvOptions?: any,\r\n discountRef?: string,\r\n discountVersion?: string,\r\n // Shogun/rewards (loyalty) flow — forwarded verbatim to createCartV2 so it\r\n // can append the pointsBurnt note at the item level (RATEPLAN for MOBILE,\r\n // internet item for FIXNET).\r\n rewardsInfo?: { pointsBurnt?: string | number; rewardOfferId?: string | number; gloxTokenId?: string | null }\r\n): any => {\r\n if (isMobileFlow) {\r\n setShowLoader(true);\r\n const vcType: { voucher: string; voucherType: string } = getLocalStorageWithExpiry(VCTYPE);\r\n Object.keys(uniqueProductData)?.length !== 0 &&\r\n createCartV2(\r\n uniqueProductData,\r\n '',\r\n showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE,\r\n cartEndPoint,\r\n 'mobile',\r\n giftItem,\r\n enableP2P,\r\n P2PData,\r\n mainContent?.productContainer?.[0]?.isQoQaFlow,\r\n vcType?.voucher,\r\n null,\r\n null,\r\n discountRef,\r\n discountVersion,\r\n rewardsInfo\r\n )\r\n .then((res: any) => {\r\n Cookies.remove('one-commerce-cartId', { path: '/' });\r\n // saving newly created cartid in the cookies.\r\n Cookies.set('one-commerce-cartId', res?.id, { path: '/' });\r\n Cookies.set('cartProduct', showPrice?.id, { path: '/' });\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEPRODUCT);\r\n window.location.href = mainContent?.summaryPageUrl?.cached_url;\r\n })\r\n .catch((err) => {\r\n // eslint-disable-next-line no-console\r\n console.log(err);\r\n setShowLoader(false);\r\n })\r\n .finally(() => {\r\n setShowLoader(false);\r\n });\r\n } else {\r\n const linecheckId: any =\r\n typeof window !== 'undefined' && Cookies.get('one-commerce-linecheckcorrelationid');\r\n if (!eligibleBundle || !address || !linecheckId) {\r\n mainContent?.enableLinecheckOverlay ? setShowLinecheck(!showLinecheck) : lineCheckCallBack();\r\n } else {\r\n setShowLoader(true);\r\n uniqueProductData.length !== 0 &&\r\n createCartV2(\r\n uniqueProductData,\r\n radioValue,\r\n showPrice?.promoID ? showPrice?.promoID : DEFAULT_WIRELINE_BUNDLE,\r\n cartEndPoint,\r\n 'fixnet',\r\n giftItem,\r\n '',\r\n '',\r\n false,\r\n '',\r\n '',\r\n tvOptions,\r\n undefined,\r\n undefined,\r\n rewardsInfo\r\n )\r\n .then((res: any) => {\r\n typeof window !== 'undefined' && Cookies.remove('one-commerce-cartId', { path: '/' });\r\n // saving newly created cartid in the cookies.\r\n typeof window !== 'undefined' &&\r\n Cookies.set('one-commerce-cartId', res?.id, { path: '/' });\r\n typeof window !== 'undefined' &&\r\n Cookies.set('cartProduct', showPrice?.id, { path: '/' });\r\n typeof window !== 'undefined' && Cookies.remove('landline');\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLE);\r\n const productUrl = checkLinkWithLang(content?.productBasedCheckoutUrl?.cached_url);\r\n let recommendAccessory = false;\r\n /**Check if bundle or Internet and add it to cart request*/\r\n if (uniqueProductData[0]?.isBundle) {\r\n uniqueProductData[0]?.bundledOffers?.map((item: any) => {\r\n if (\r\n item?.productType?.toLowerCase() === 'internet' ||\r\n item?.productType?.toLowerCase() == 'tv'\r\n ) {\r\n if (item?.recommendAccessory) {\r\n recommendAccessory = item?.recommendAccessory;\r\n }\r\n }\r\n // setting to false incase of Mobile product Type as it is currently out of scope\r\n if (item?.productType?.toLowerCase() === 'mobile') {\r\n recommendAccessory = false;\r\n return;\r\n }\r\n });\r\n } else {\r\n /**Add standlone product such as internet to cart request*/\r\n if (uniqueProductData?.[0]?.recommendAccessory) {\r\n recommendAccessory = uniqueProductData?.[0]?.recommendAccessory;\r\n }\r\n }\r\n //setting the session to identify internet flow for mia for win\r\n if (recommendAccessory) {\r\n const sessionObj = { flow: 'WIN' };\r\n sessionStorage.setItem(ONE_ECOMMERCE_SUMMARY, JSON.stringify(sessionObj));\r\n }\r\n\r\n const finalURL = productUrl\r\n ? productUrl\r\n : content?.enableTVStreamingOptionsStepper && mainContent?.vasStepperURL?.cached_url\r\n ? mainContent?.vasStepperURL?.cached_url\r\n : recommendAccessory && mainContent?.multiItemPageRedirectionUrl?.cached_url\r\n ? mainContent?.multiItemPageRedirectionUrl?.cached_url\r\n : mainContent?.summaryPageUrl?.cached_url;\r\n\r\n window.location.href = finalURL;\r\n })\r\n .catch((err: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log(err);\r\n })\r\n .finally(() => {\r\n setShowLoader(false);\r\n });\r\n }\r\n }\r\n};\r\n\r\nexport const findHeight = (tabIndex: number, cardsLength: number) => {\r\n const setTimerSectionHeight = () => {\r\n let maxActiveTimerHeight = 0;\r\n const timerSections: HTMLElement[] = [];\r\n\r\n [...Array(cardsLength)].forEach((_, index) => {\r\n const timerSection = document.getElementById(`timer-section${tabIndex}${index}`);\r\n if (timerSection) {\r\n timerSections.push(timerSection);\r\n const isTimerActive = timerSection.dataset.timerActive === 'true';\r\n if (isTimerActive) {\r\n const spacer = timerSection.firstElementChild as HTMLElement | null;\r\n // Read the inline style target height instead of clientHeight so that\r\n // an in-progress CSS transition does not yield an intermediate value.\r\n const targetHeight = parseFloat(spacer?.style.height || '0') || 0;\r\n maxActiveTimerHeight = Math.max(maxActiveTimerHeight, targetHeight);\r\n }\r\n }\r\n });\r\n\r\n timerSections.forEach((timerSection) => {\r\n const isTimerActive = timerSection.dataset.timerActive === 'true';\r\n timerSection.style.transition = 'height 0.3s ease';\r\n timerSection.style.height = isTimerActive ? '0px' : `${maxActiveTimerHeight}px`;\r\n });\r\n };\r\n\r\n getElementMaximumHeight('headingV3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('descriptionV3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('titleV3' + `${tabIndex}`, cardsLength);\r\n setTimerSectionHeight();\r\n getElementMaximumHeight('detailsectionv3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('product-configv3' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('gift-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('benefits-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('order-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('price-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('benefits-price-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('contract-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('exclusive-benefits-section' + `${tabIndex}`, cardsLength);\r\n getElementMaximumHeight('discountedpricetoggle-section' + `${tabIndex}`, cardsLength);\r\n};\r\n\r\nconst setMobileSummarySession = (\r\n promoId: string,\r\n uniqueProductData: any,\r\n pretopostvalues?: any,\r\n showPrice?: any,\r\n product?: any,\r\n pegaIntegration?: any\r\n) => {\r\n const productPrice = uniqueProductData;\r\n const base: number = productPrice?.[0]?.prices?.[0]?.value ?? 0;\r\n const discount = productPrice?.[0]?.derivedPrice?.[0]?.value ?? 0;\r\n const contractDuration = productPrice?.[0]?.promotionInfo?.[0]?.contractDuration ?? 0;\r\n const campaignDuration = productPrice?.[0]?.promotionInfo?.[0]?.campaignDuration ?? 0;\r\n const pretopostvalue = pretopostvalues ?? '';\r\n //PEGA Integration\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n const clientDiscountInfo = pegaIntegration\r\n ? {\r\n discountRef: discountRef,\r\n discountType: 'DISCOUNT'\r\n }\r\n : null;\r\n const note = [];\r\n note?.push({\r\n author: 'offerType',\r\n text: 'ATL'\r\n });\r\n note?.push({\r\n author: 'externalPromotionName',\r\n text: discountRef\r\n });\r\n note?.push({\r\n author: 'offerVersion',\r\n text: discountVersion\r\n });\r\n\r\n const extraNotes = pegaIntegration ? note : null;\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const flow = urlParams.get('flow');\r\n const sessionObj: any = {\r\n mobileSubscription: productPrice?.[0]?.id ?? '',\r\n mobileSubscriptionPrice: discount > 0 ? discount : base,\r\n mobileSubscriptionPromo: promoId,\r\n subGroup: 'MOBILE',\r\n duration: Number(campaignDuration > 0 ? campaignDuration : contractDuration),\r\n basePrice: base,\r\n withoutPromo: false,\r\n pretopostvalue: pretopostvalue,\r\n upBenefit:\r\n showPrice.mob_benefit_category == 'MULTIMOBILE' || showPrice.mob_benefit_category == 'FMC',\r\n ultimateBundlePromo: product?.ultimateBundlePromotion ?? '',\r\n clientDiscountInfo: clientDiscountInfo,\r\n extraNotes: extraNotes,\r\n isOttFlow: flow === 'ott' ? true : false\r\n };\r\n\r\n typeof window !== undefined &&\r\n sessionStorage.setItem('one-ecommerce-mobileSummary', JSON.stringify(sessionObj));\r\n};\r\n\r\nexport const combineWithSmartPhone = (\r\n showPrice: any,\r\n storyContent: any,\r\n uniqueProductData: any,\r\n responseData?: any,\r\n product?: any,\r\n pegaIntegration?: boolean\r\n) => {\r\n const pretopostvalues = {\r\n msisdn: responseData?.msisdn ?? '',\r\n ratePlan: responseData?.ratePlan ?? '',\r\n ratePlanType: responseData?.ratePlanType ?? '',\r\n productId: responseData ? showPrice?.id : ''\r\n };\r\n const promoId = showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE;\r\n let Params = '';\r\n Params = `?componentCode=&productType=subscription&segmentCode=RC&prefPromo=${\r\n promoId ?? ''\r\n }&productCode=${showPrice?.id ?? ''}`;\r\n window.location.href = storyContent?.addSmartPhone?.[0]?.buttonLink?.cached_url + Params;\r\n setMobileSummarySession(\r\n promoId,\r\n uniqueProductData,\r\n responseData && pretopostvalues,\r\n showPrice,\r\n product,\r\n pegaIntegration\r\n );\r\n trackNewDatalayerEvent(\r\n GAEVENT,\r\n COMBINEDEVICE,\r\n getEcomCartInfo(uniqueProductData, '', LINETABLEDEVICE)\r\n );\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEDEVICE);\r\n};\r\n\r\nconst setFixnetSummarySession = (\r\n promoId: string,\r\n uniqueProductData: any,\r\n showPrice?: any,\r\n product?: any,\r\n pegaIntegration?: any,\r\n productName?: string,\r\n recommendAccessory?: boolean | undefined\r\n) => {\r\n const productPrice = uniqueProductData;\r\n const base: number = productPrice?.[0]?.prices?.[0]?.value ?? 0;\r\n const discount = productPrice?.[0]?.derivedPrice?.[0]?.value ?? 0;\r\n const contractDuration =\r\n productPrice?.[0]?.promotionInfo?.[0]?.contractDuration ?? showPrice?.contractDuration ?? 0;\r\n const campaignDuration = productPrice?.[0]?.promotionInfo?.[0]?.campaignDuration ?? 0;\r\n\r\n //PEGA Integration\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n const clientDiscountInfo = pegaIntegration\r\n ? {\r\n discountRef: discountRef,\r\n discountType: 'DISCOUNT'\r\n }\r\n : null;\r\n const note = [];\r\n note?.push({\r\n author: 'offerType',\r\n text: 'ATL'\r\n });\r\n note?.push({\r\n author: 'externalPromotionName',\r\n text: discountRef\r\n });\r\n note?.push({\r\n author: 'offerVersion',\r\n text: discountVersion\r\n });\r\n\r\n const extraNotes = pegaIntegration ? note : null;\r\n\r\n const sessionObj: any = {\r\n internetSubscription: productName ?? '',\r\n internetSubscriptionId: productPrice?.[0]?.id ?? '',\r\n internetSubscriptionPrice: discount > 0 ? discount : base,\r\n internetSubscriptionPromo: promoId,\r\n subGroup: 'INTERNET',\r\n duration: Number(campaignDuration > 0 ? campaignDuration : contractDuration),\r\n basePrice: base,\r\n withPromo: discount > 0 ? true : false,\r\n upBenefit:\r\n showPrice.mob_benefit_category == 'MULTIMOBILE' || showPrice.mob_benefit_category == 'FMC',\r\n ultimateBundlePromo: product?.ultimateBundlePromotion ?? '',\r\n clientDiscountInfo: clientDiscountInfo,\r\n extraNotes: extraNotes,\r\n productType: 'subscription',\r\n recommendAccessory: recommendAccessory\r\n };\r\n\r\n typeof window !== undefined &&\r\n sessionStorage.setItem(ONE_ECOMMERCE_INTERNET_SUMMARY, JSON.stringify(sessionObj));\r\n};\r\nexport const combineWithVasOptions = (\r\n showPrice: any,\r\n uniqueProductData: any,\r\n product?: any,\r\n pegaIntegration?: boolean,\r\n productName?: string,\r\n recommendAccessory?: boolean\r\n) => {\r\n const promoId = showPrice?.promoID ? showPrice?.promoID : DEFAULT_MOBILEPOSTPAID_BUNDLE;\r\n\r\n setFixnetSummarySession(\r\n promoId,\r\n uniqueProductData,\r\n showPrice,\r\n product,\r\n pegaIntegration,\r\n productName,\r\n recommendAccessory\r\n );\r\n trackNewDatalayerEvent(\r\n GAEVENT,\r\n COMBINEDEVICE,\r\n getEcomCartInfo(uniqueProductData, '', LINETABLEDEVICE)\r\n );\r\n trackEligibleItem(ADDTOCART, uniqueProductData, '', LINETABLEDEVICE);\r\n};\r\n\r\nexport const fetchServiceOptions = (entitlement: any, isMobileFlow: boolean) => {\r\n let service: any;\r\n if (!isMobileFlow) {\r\n service = (entitlement || []).filter((product: any) => product?.enableTV === true);\r\n }\r\n return service;\r\n};\r\n\r\nexport const fetchPrice = (\r\n product: any,\r\n isMobileFlow: boolean,\r\n pageType?: string,\r\n isConfigurator?: boolean,\r\n tvOptions?: any[],\r\n pegaIntegration?: boolean\r\n): any => {\r\n const showPrice: any = {\r\n base: '',\r\n onetimePrice: '',\r\n discount: [],\r\n contractDuration: '',\r\n int_fmc: 0,\r\n mob_fmc: 0,\r\n mob_benefit_category: '',\r\n id: '',\r\n promoID: '',\r\n loyaltyPrice: ''\r\n };\r\n let tvOptionsBasePrice = 0;\r\n let tvOptionsDiscountPrice = 0;\r\n let tvOptionsBaseToDiscount = 0;\r\n\r\n Array.isArray(product) &&\r\n product?.map((item: any) => {\r\n showPrice['id'] = item?.id ?? '';\r\n item?.prices?.map((basePrice: any) => {\r\n if (basePrice?.priceType?.toLowerCase() === 'recurring') {\r\n if (tvOptions && tvOptions?.length > 0) {\r\n tvOptions?.forEach((opt: any) => {\r\n if (opt?.beneficiaryPrice > 0) {\r\n tvOptionsDiscountPrice += parseFloat(opt?.beneficiaryPrice);\r\n } else if (opt?.derivedPrice > 0) {\r\n tvOptionsDiscountPrice += parseFloat(opt?.derivedPrice);\r\n } else {\r\n tvOptionsBaseToDiscount += parseFloat(opt?.recurringPrice);\r\n }\r\n if (opt?.recurringPrice > 0) {\r\n tvOptionsBasePrice += parseFloat(opt?.recurringPrice);\r\n }\r\n });\r\n //If one of the options in the list has a discount, other options base price is stored to sum it up in the end\r\n if (tvOptionsDiscountPrice > 0) {\r\n tvOptionsDiscountPrice += tvOptionsBaseToDiscount;\r\n }\r\n showPrice['base'] = JSON.stringify(\r\n parseFloat(basePrice?.value) +\r\n (tvOptionsDiscountPrice > 0 ? tvOptionsDiscountPrice : tvOptionsBasePrice)\r\n );\r\n } else {\r\n showPrice['base'] = basePrice?.value;\r\n }\r\n } else if (basePrice?.priceType?.toLowerCase() === 'one time')\r\n showPrice['onetimePrice'] = basePrice?.value;\r\n });\r\n item?.derivedPrice?.map((discountPrice: any) => {\r\n const cycle = { cycleStart: '', cycleEnd: '', value: '' };\r\n cycle['cycleStart'] =\r\n pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n ? 1\r\n : discountPrice?.cycle?.cycleStart;\r\n cycle['cycleEnd'] =\r\n pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n ? pegaIntegration && !product?.[0]?.isBundle && product?.[0]?.contractDuration\r\n : discountPrice?.cycle?.cycleEnd;\r\n cycle['value'] = discountPrice?.value;\r\n if (tvOptions && tvOptions?.length > 0) {\r\n if (tvOptionsDiscountPrice > 0) {\r\n cycle['value'] = JSON.stringify(\r\n parseFloat(discountPrice?.value) + tvOptionsDiscountPrice\r\n );\r\n } else {\r\n cycle['value'] = JSON.stringify(parseFloat(discountPrice?.value) + tvOptionsBasePrice);\r\n }\r\n }\r\n showPrice['discount'].push(cycle);\r\n });\r\n // Calculating loyalty price introduced with DC portfolio\r\n if (item?.promotionInfo?.[0]?.relatedPromo?.length > 0) {\r\n item?.promotionInfo?.[0]?.relatedPromo?.map((promo: any) => {\r\n if (promo?.type === 'LOYALTY_DISCOUNT') {\r\n showPrice['loyaltyPrice'] = promo?.discount;\r\n }\r\n });\r\n }\r\n });\r\n\r\n product?.[0]?.bundledOffers?.forEach((item: any) => {\r\n item?.prices?.forEach((productDetails: any) => {\r\n if (productDetails?.priceAlteration?.length > 0) {\r\n productDetails?.priceAlteration?.forEach((price: any) => {\r\n if (price?.priceCategory == 'INTERNET_FMC') {\r\n showPrice['int_fmc'] += Number(price?.value);\r\n } else if (\r\n price?.priceCategory == 'MULTIMOBILE' ||\r\n price?.priceCategory == 'MULTIMOBILE_REWARD' ||\r\n price?.priceCategory == 'FMC'\r\n ) {\r\n showPrice['mob_fmc'] += Number(price?.value);\r\n showPrice['mob_benefit_category'] = price?.priceCategory;\r\n }\r\n });\r\n }\r\n });\r\n if (item?.contractDuration) {\r\n showPrice['contractDuration'] = item?.contractDuration; // for bundled products contract duration is taken from bundled offers\r\n }\r\n if (item?.promotionInfo?.[0]?.id && !pegaIntegration) {\r\n showPrice['promoID'] = item?.promotionInfo?.[0]?.id;\r\n }\r\n });\r\n if (!product?.[0]?.isBundle) {\r\n showPrice['contractDuration'] = product?.[0]?.contractDuration; // for other products\r\n if (!pegaIntegration) {\r\n showPrice['promoID'] = product?.[0]?.promotionInfo?.[0]?.id;\r\n }\r\n }\r\n let int_fmc = 0;\r\n product?.[0]?.prices?.map((productDetails: any) => {\r\n if (productDetails?.priceAlteration?.length > 0) {\r\n productDetails?.priceAlteration?.map((price: any) => {\r\n if (price?.priceCategory == 'INTERNET_FMC') {\r\n int_fmc += Number(price?.value);\r\n } else if (\r\n price?.priceCategory == 'MULTIMOBILE' ||\r\n price?.priceCategory == 'MULTIMOBILE_REWARD' ||\r\n price?.priceCategory == 'FMC'\r\n ) {\r\n showPrice['mob_fmc'] += Number(price?.value);\r\n showPrice['mob_benefit_category'] = price?.priceCategory;\r\n }\r\n });\r\n }\r\n });\r\n if (!showPrice?.contractDuration && !isMobileFlow) {\r\n showPrice['contractDuration'] = '12';\r\n }\r\n {\r\n showPrice['int_fmc'] = isConfigurator ? int_fmc : showPrice['int_fmc'];\r\n }\r\n if (pageType == '4P') {\r\n let bundleContractDuration = '0';\r\n product?.[0]?.bundledOffers?.map((offerData: any) => {\r\n if (offerData?.contractDuration) {\r\n bundleContractDuration =\r\n Number(bundleContractDuration) > Number(offerData?.contractDuration)\r\n ? bundleContractDuration\r\n : offerData?.contractDuration;\r\n }\r\n });\r\n showPrice['contractDuration'] = bundleContractDuration;\r\n }\r\n return showPrice;\r\n};\r\n\r\n//function for creating different array for 3 selections\r\nexport const fetchFilteredProducts = (productList: any, toggleState: any) => {\r\n //need to centralize for comman solution\r\n // Filter productList based on gigaSpeed toggle - US #363853\r\n let filteredList = productList;\r\n\r\n filteredList = productList.filter((item: any) => {\r\n const gigaSpeedValue = item?.gigaSpeed?.toLowerCase();\r\n if (toggleState?.gigaSpeed) {\r\n return gigaSpeedValue != 'hide';\r\n } else {\r\n return gigaSpeedValue != 'show';\r\n }\r\n });\r\n\r\n let mainArray = filteredList;\r\n const numberOfArray = 3;\r\n let res1 = [];\r\n let res2 = [];\r\n let res3 = [];\r\n for (let item of mainArray) {\r\n const multiIndex = item?.productIndex?.includes(',');\r\n const updatedMultiIndex = multiIndex && item?.productIndex?.split(',');\r\n if (multiIndex) {\r\n for (let mIndex of updatedMultiIndex) {\r\n for (let i = 0; i < numberOfArray; i++) {\r\n if (Number(mIndex) === i) {\r\n i === 0 ? res1.push(item) : i === 1 ? res2.push(item) : res3.push(item);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < numberOfArray; i++) {\r\n if (Number(item?.productIndex) === i) {\r\n i === 0 ? res1.push(item) : i === 1 ? res2.push(item) : res3.push(item);\r\n }\r\n }\r\n }\r\n }\r\n const displayContent =\r\n toggleState?.TV && toggleState?.Netflix ? res3 : toggleState?.TV ? res2 : res1;\r\n return displayContent;\r\n};\r\nexport const fetchOttItems = (ottCartData: any) => {\r\n return (ottCartData?.products || [])?.map((products: any) => ({\r\n itemType: products?.type ?? '',\r\n promotionId: products?.promo ?? '',\r\n items: [\r\n {\r\n itemType: products?.type === TV_SERVICE_OPTION ? TV_SERVICE_OPTION : RATEPLAN,\r\n id: products?.id ?? ''\r\n }\r\n ]\r\n }));\r\n};\r\n\r\n// ─── Shogun shared-offer cache ────────────────────────────────────────────────\r\n\r\ninterface ShogunOfferCacheEntry {\r\n gloxTokenId: string;\r\n results: any[] | null;\r\n promise: Promise<any[]> | null;\r\n}\r\n\r\nlet shogunOfferSharedCache: ShogunOfferCacheEntry | null = null;\r\n\r\n/**\r\n * Returns true when the shared cache already holds resolved results for the\r\n * given token. Callers can use this to skip triggering a loading state.\r\n */\r\nexport const isShogunOfferResolved = (gloxTokenId: string): boolean =>\r\n shogunOfferSharedCache?.gloxTokenId === gloxTokenId &&\r\n shogunOfferSharedCache.results !== null;\r\n\r\n/**\r\n * Shared-promise manager for the Shogun offer API.\r\n *\r\n * Because the Shogun flow sends no product payload (only gloxTokenId) the\r\n * response is identical for every StaticProductContainer on the page.\r\n * This function ensures exactly one network request is made:\r\n * - If results are already resolved → returns Promise.resolve(results)\r\n * - If a fetch is in-flight → returns the same promise\r\n * - First caller → creates the fetch and stores the promise\r\n *\r\n * On failure the promise rejects — the caller is responsible for surfacing\r\n * the error (e.g. showing the telesales/error popup). The failure is NOT\r\n * cached, so a retry (e.g. tab switch) will trigger a fresh request.\r\n */\r\nexport const getShogunSharedOffer = (\r\n gloxTokenId: string,\r\n uniqueId: string,\r\n offerEndpoint: string\r\n): Promise<any[]> => {\r\n // Already resolved\r\n if (isShogunOfferResolved(gloxTokenId)) {\r\n return Promise.resolve(shogunOfferSharedCache!.results!);\r\n }\r\n\r\n // In-flight\r\n if (\r\n shogunOfferSharedCache?.gloxTokenId === gloxTokenId &&\r\n shogunOfferSharedCache.promise !== null\r\n ) {\r\n return shogunOfferSharedCache.promise;\r\n }\r\n\r\n // First caller — start the real fetch\r\n const fetchPromise: Promise<any[]> = fetchShogunOfferData(gloxTokenId, uniqueId, offerEndpoint)\r\n .then((resp: any) => {\r\n const results: any[] = resp?.[uniqueId] ?? [];\r\n if (shogunOfferSharedCache?.gloxTokenId === gloxTokenId) {\r\n shogunOfferSharedCache.results = results;\r\n shogunOfferSharedCache.promise = null;\r\n }\r\n return results;\r\n })\r\n .catch((err: any) => {\r\n // Clear the cache entry so the next call retries the API.\r\n if (shogunOfferSharedCache?.gloxTokenId === gloxTokenId) {\r\n shogunOfferSharedCache = null;\r\n }\r\n throw err;\r\n });\r\n\r\n shogunOfferSharedCache = { gloxTokenId, results: null, promise: fetchPromise };\r\n return fetchPromise;\r\n};\r\n\r\n\r\n/**\r\n * Filters and sorts the Storyblok product list to match only the products\r\n * returned by the Shogun offer API, preserving the API response order.\r\n */\r\nexport const filterShogunProducts = (\r\n availableProducts: any[],\r\n shogunProductIds: string[]\r\n): any[] => {\r\n const filtered = availableProducts.filter((product: any) => {\r\n const productId = product?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n return shogunProductIds.includes(productId);\r\n });\r\n\r\n filtered.sort((a: any, b: any) => {\r\n const aId = a?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n const bId = b?.products?.[0]?.reference?.content?.product?.[0]?.productId;\r\n return shogunProductIds.indexOf(aId) - shogunProductIds.indexOf(bId);\r\n });\r\n\r\n return filtered;\r\n};\r\n"],"names":["isTimerActive","startTime","endTime","now","Date","start","calculateDateTime","replace","end","Number","isNaN","getTime","_a","getTimeUntilNextTimerEvent","startTimeMs","endTimeMs","Math","max","fetchStaticProductIds","productList","productId","bundle4PProduct","tvOptionIds","pricesToggleState","map","data","productRequest","id","promoIds","productData","_e","_d","_c","_b","products","reference","content","product","promotionData","_k","_j","_h","_g","_f","promotion","promoDescription","promotionId","timer","_l","timerIsActive","timerPromotionId","_s","_r","_q","_p","_o","_m","defaultPromotionId","DEFAULT_MOBILEPOSTPAID_BUNDLE","_t","push","_u","mobilePromotionData","_z","_y","_x","_w","_v","mobilePromotion","_0","fetchPegaProducts","pegaCustomerInterest","placements","customerInterest","tabCaption","l","toUpperCase","atlOffers","offerValidations","key","type","value","pegaRequestOfferCount","toString","filter","Boolean","checkGiftOrCashback","showGift","cashbackAvailable","promotionInfo","offer","hardwareGift","cashBack","staticCreateCart","setShowLoader","cartEndPoint","giftItem","uniqueProductData","mainContent","showPrice","isMobileFlow","radioValue","eligibleBundle","address","setShowLinecheck","showLinecheck","lineCheckCallBack","enableP2P","P2PData","tvOptions","discountRef","discountVersion","rewardsInfo","vcType","getLocalStorageWithExpiry","VCTYPE","Object","keys","length","createCartV2","promoID","productContainer","isQoQaFlow","voucher","then","res","Cookies","remove","path","set","trackEligibleItem","ADDTOCART","LINETABLEPRODUCT","window","location","href","summaryPageUrl","cached_url","catch","err","console","log","finally","linecheckId","get","DEFAULT_WIRELINE_BUNDLE","undefined","LINETABLE","productUrl","checkLinkWithLang","productBasedCheckoutUrl","recommendAccessory","isBundle","bundledOffers","item","productType","toLowerCase","sessionObj","flow","sessionStorage","setItem","ONE_ECOMMERCE_SUMMARY","JSON","stringify","finalURL","enableTVStreamingOptionsStepper","vasStepperURL","multiItemPageRedirectionUrl","enableLinecheckOverlay","findHeight","tabIndex","cardsLength","getElementMaximumHeight","maxActiveTimerHeight","timerSections","Array","forEach","_","index","timerSection","document","getElementById","dataset","timerActive","spacer","firstElementChild","targetHeight","parseFloat","style","height","transition","setTimerSectionHeight","combineWithSmartPhone","storyContent","responseData","pegaIntegration","pretopostvalues","msisdn","ratePlan","ratePlanType","promoId","Params","addSmartPhone","buttonLink","productPrice","base","prices","discount","derivedPrice","contractDuration","campaignDuration","pretopostvalue","version","clientDiscountInfo","discountType","note","author","text","extraNotes","URLSearchParams","search","mobileSubscription","mobileSubscriptionPrice","mobileSubscriptionPromo","subGroup","duration","basePrice","withoutPromo","upBenefit","mob_benefit_category","ultimateBundlePromo","ultimateBundlePromotion","isOttFlow","setMobileSummarySession","trackNewDatalayerEvent","GAEVENT","COMBINEDEVICE","getEcomCartInfo","LINETABLEDEVICE","combineWithVasOptions","productName","internetSubscription","internetSubscriptionId","internetSubscriptionPrice","internetSubscriptionPromo","withPromo","_1","ONE_ECOMMERCE_INTERNET_SUMMARY","setFixnetSummarySession","fetchServiceOptions","entitlement","service","enableTV","fetchPrice","pageType","isConfigurator","onetimePrice","int_fmc","mob_fmc","loyaltyPrice","tvOptionsBasePrice","tvOptionsDiscountPrice","tvOptionsBaseToDiscount","isArray","priceType","opt","beneficiaryPrice","recurringPrice","discountPrice","cycle","cycleStart","cycleEnd","relatedPromo","promo","productDetails","priceAlteration","price","priceCategory","bundleContractDuration","offerData","fetchFilteredProducts","toggleState","filteredList","gigaSpeedValue","gigaSpeed","mainArray","res1","res2","res3","multiIndex","productIndex","includes","updatedMultiIndex","split","mIndex","i","TV","Netflix","fetchOttItems","ottCartData","itemType","items","TV_SERVICE_OPTION","RATEPLAN","shogunOfferSharedCache","isShogunOfferResolved","gloxTokenId","results","getShogunSharedOffer","uniqueId","offerEndpoint","Promise","resolve","promise","fetchPromise","fetchShogunOfferData","resp","filterShogunProducts","availableProducts","shogunProductIds","filtered","sort","a","b","aId","bId","indexOf"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../_virtual/_tslib.js";import o,{useState as l,useRef as t,useContext as i,useEffect as n}from"react";import d from"../Dotloader/Dotloader.js";import{createPortal as a}from"react-dom";import s from"../SkeletonLoader/SkeletonLoader.js";import r from"./StaticLineTable.module.scss.js";import c from"../richtext.js";import v from"./StaticProductEntitlement.js";import u from"./StaticBenefit.js";import m from"./DynamicPriceSection.js";import p from"./CheckoutButton.js";import g from"./StaticProductDetails.js";import{LineTableBasicPropConfig as f,AssetPathPropConfig as h}from"../../services/LineTableBasicPropConfig.js";import b from"js-cookie";import{LoginBasicPropConfig as E}from"../../services/LoginBasicPropConfig.js";import w from"../login/LoginModalV2.js";import{isTimerActive as P,fetchServiceOptions as C,fetchPrice as S,findHeight as y,checkGiftOrCashback as k,getTimeUntilNextTimerEvent as T,staticCreateCart as x,combineWithVasOptions as $,combineWithSmartPhone as D}from"./Product.utils.js";import L from"../ProductDetailsV3/GiftConfigV2.js";import N from"../ProductDetailsV3/ChooseGiftV2.js";import{viewport as I,replacePlaceholder as B,getUtcTimestamp as O}from"../../utils/utils.js";import j from"./StaticProductCashback.js";import{trackNewDatalayerEvent as A}from"../../utils/AnalyticsUtils.js";import{CTABUTTONCLICK as U,GAEVENT as V,EXISTINGCUSTOMER as F,LINETABLE as M,DOWNLOADPRODUCT as R}from"../../Analytics/AnalyticsConstants.js";import _ from"./TVChannelModal.js";import G from"../LineCheckV3/LinecheckModal.js";import J from"../BenefitWrapper/BenefitsValidateWrapper.js";import q from"../PretoPost/PreToPostSubsPopup.js";import H from"../LineCheckV3/GenericModal.js";import{fetchSubscriptionData as W,trackPegaEvents as z,validateP2P as K}from"../../services/LineTableService.js";import Q from"./ExsistingSubscriptionModal.js";import{getEcomCartInfo as X}from"../../models/Analytics/items.js";import Y from"../NewLineCheck/CoverageCheckModal.js";import{API_BASE_BASEPOINT as Z}from"../../services/api-constants.js";import{AppContext as ee}from"./StaticLineTableStore/StaticLineTableProvider.js";import oe from"./OttServiceOptions/OttServiceOptionsSmallPopup.js";import le from"./StaticExclusiveBenefit.js";import te from"../UserLoggedPricesToggle/UserLoggedPricesToggle.js";import ie from"../FalconButtonV2/FalconButtonV2.js";import{ONE_ECOMMERCE_INTERNET_SUMMARY as ne}from"../../utils/constants.js";import de from"./StaticLineTabelTimer/StaticLineTabelTimer.js";const ae=({content:ae,offeringData:se,uniqueId:re,storyContent:ce,metadata:ve,tabIndex:ue,cardsLength:me,indexKey:pe,constants:ge,mainContent:fe,address:he,eligibleBundle:be,linecheckSuccessCallBack:Ee,selectedOption:we,fetchOfferData:Pe,basicConfigUrl:Ce,selectedExistingOption:Se,setLoginSuccess:ye,enableP2P:ke,lineCheckCallBack:Te,loginSuccess:xe,setToggleState:$e,toggleState:De,noTabs:Le,deviceFlow:Ne,deviceFlowCallBack:Ie,selectedRP:Be,continueCart:Oe,lineCheckOnClear:je,pegaIntegration:Ae,isProdEnv:Ue,deviceUltimateBundle:Ve,toggleContent:Fe,pricesToggleState:Me,isShogunFlow:Re})=>{var _e,Ge,Je,qe,He,We,ze,Ke,Qe,Xe,Ye,Ze,eo,oo,lo,to,io,no,ao,so,ro,co,vo,uo,mo,po,go,fo,ho,bo,Eo,wo,Po,Co,So,yo,ko,To,xo,$o,Do,Lo,No,Io,Bo,Oo,jo,Ao,Uo,Vo,Fo,Mo,Ro,_o,Go,Jo,qo,Ho,Wo,zo,Ko,Qo,Xo,Yo,Zo,el,ol,ll,tl,il,nl,dl,al,sl,rl,cl,vl,ul,ml,pl,gl,fl,hl,bl;const[El,wl]=l(!1),[Pl,Cl]=l(!1),[Sl,yl]=l({showGift:!1,cashbackAvailable:!1}),[kl,Tl]=l(!0),[xl,$l]=l(!1),[Dl,Ll]=l([]),[Nl,Il]=l(!1),[Bl,Ol]=l(!1),[jl,Al]=l(!1),[Ul,Vl]=l(!1),[Fl,Ml]=l(!1),[Rl,_l]=l(!1),Gl=`${Ce}inf/customer-management/subscriptions`,Jl=`${Ce}inf/resource-management/msisdns/pretopost/validation`,[ql,Hl]=l([]),[Wl,zl]=l(!1),[Kl,Ql]=l(!1),[Xl,Yl]=l(!1),[Zl,et]=l([]),[ot,lt]=l(!1),[tt,it]=l(!1),[nt,dt]=l(!1),[at,st]=l(!1),[rt,ct]=l([]),[vt,ut]=l(0),mt=t(null),pt=`${Ce}inf/${Z.CUSTOMER}`,gt=void 0!==typeof window&&document.getElementById("static-linetable"),ft=0===(null===(_e=Object.keys(ae))||void 0===_e?void 0:_e.length),ht=null===(We=null===(He=null===(qe=null===(Je=null===(Ge=null==ae?void 0:ae.products)||void 0===Ge?void 0:Ge[0])||void 0===Je?void 0:Je.reference)||void 0===qe?void 0:qe.content)||void 0===He?void 0:He.product)||void 0===We?void 0:We[0],bt=null===(Ye=null===(Xe=null===(Qe=null===(Ke=null===(ze=null==ae?void 0:ae.promotion)||void 0===ze?void 0:ze[0])||void 0===Ke?void 0:Ke.reference)||void 0===Qe?void 0:Qe.content)||void 0===Xe?void 0:Xe.promoDescription)||void 0===Ye?void 0:Ye[0],Et=null===(Ze=null==ae?void 0:ae.timer)||void 0===Ze?void 0:Ze[0],wt=null==Et?void 0:Et.enableCounter,[Pt,Ct]=l(!!(wt&&(null==Et?void 0:Et.startTime)&&(null==Et?void 0:Et.endTime))&&P(Et.startTime,Et.endTime)),St=Boolean((null==ae?void 0:ae.highlightText)&&!0!==Me&&!Pt),yt=Boolean((null==bt?void 0:bt.displayText)&&!(null==ae?void 0:ae.notShowPromotionLabel)&&!0!==Me&&!Pt),kt=null==ht?void 0:ht.productId,Tt=null===(eo=null==f?void 0:f.getInstance())||void 0===eo?void 0:eo.getCartUrl(),xt=null===(oo=null==h?void 0:h.getInstance())||void 0===oo?void 0:oo.getAssetPath(),$t="MOBILE"===(null==ce?void 0:ce.pageType),Dt=I(),Lt=i(ee);let Nt;Nt=he&&(null===(lo=null==be?void 0:be.eligibleBundle)||void 0===lo?void 0:lo.includes(kt));const It=null==ae?void 0:ae.enableTVStreamingOptionsPopUp,Bt=null==ae?void 0:ae.enableTVStreamingOptionsStepper,Ot=null==ae?void 0:ae.disableDiscountedPriceToggle,jt=null==ae?void 0:ae.skipAccessoriesPage;E.create({baseURL:null!=Ce?Ce:""});let At=void 0!==typeof window&&b.get("sunriseAuth");At=At&&JSON.parse(At);const Ut=((null==se?void 0:se[re])||[]).filter(e=>(null==e?void 0:e.id)===kt),Vt=e=>{et(e)},Ft=()=>{Il(!0),Vl(!Ul),Ql(!Kl)},Mt=()=>{var e,o,l;if(Cl(!1),ke&&null==At)Vl(!Ul),Ql(!Kl);else if(ke&&(null==At?void 0:At.siteId))Ht();else if(we===F&&(null==Se?void 0:Se.length)>0)Ml(!0);else{!!((null==fe?void 0:fe.enableExistingCustomer)&&null==At||!At&&!0===Me&&(null==Fe?void 0:Fe.enableLoggedInPrice))?Il(!0):Zt()}if(Ae){const t=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],n=i[i.length-1],d={eventTimestamp:O(),eventType:"PageView",pageType:"CartCreated",pageLocation:n,targetProduct:kt};t&&z(pt,d,t)}},Rt=e=>{const o=Dl.findIndex(o=>(null==e?void 0:e.giftGroupId)===(null==o?void 0:o.giftGroupId)),l=Dl;-1===o?l.push(e):l[o]=e,Ll([...l])},_t=new URLSearchParams(null===(to=null===window||void 0===window?void 0:window.location)||void 0===to?void 0:to.search),Gt=null==_t?void 0:_t.get("selectedMsisdn"),Jt=e=>{var o;1===(null==e?void 0:e.length)?(xl?D(ei,ce,Ut,null==e?void 0:e[0],ae,Ae):Zt(null===(o=null==e?void 0:e[0])||void 0===o?void 0:o.msisdn),_l(!1)):(null==e?void 0:e.length)>1?(Hl(e),Yl(!Xl),_l(!1)):(Ql(!Kl),_l(!0),Tl(!0),wl(!1))},qt=(o,l)=>e(void 0,void 0,void 0,function*(){yield K(null==o?void 0:o.msisdn,Jl).then(e=>{e&&l.push(o)}).catch(e=>{console.log("error",e)})}),Ht=()=>{var o;wl(!0);try{null===(o=W("PREPAID",Gl))||void 0===o||o.then(o=>e(void 0,void 0,void 0,function*(){if(204==(null==o?void 0:o.subscriptionData))Ql(!Kl),_l(!0),Tl(!0),wl(!1);else{const l=null==o?void 0:o.subscriptionData,t=l.find(e=>e.msisdn===Gt);if(l){const o=[];Gt?(yield qt(t,o),Jt(o)):yield Promise.all(null==l?void 0:l.map(l=>e(void 0,void 0,void 0,function*(){yield qt(l,o)}))).then(e=>{Jt(o)})}}})).catch(e=>{console.log("error---\x3e",e),wl(!1)})}catch(e){console.log("error---\x3e",e),wl(!1)}zl(!0)},Wt=()=>{Ql(!kl),Vl(!1)},zt=e=>{lt(!1),e&&A(V,U,{headline:"VAS POPUP CLOSE"})},Kt=()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");be=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),he="undefined"!=typeof window&&b.get("chAddressJson"),Al(!jl),"function"==typeof Ee&&Ee(),Zt()},Qt=C(null==ht?void 0:ht.bloks,$t),Xt=null===(io=null==Qt?void 0:Qt[0])||void 0===io?void 0:io.tvProductId,Yt=e=>{var o,l,t,i,n,d,a,s;const r=Ae&&(null===(t=null===(l=null===(o=null==Ut?void 0:Ut[0])||void 0===o?void 0:o.promotionInfo)||void 0===l?void 0:l[0])||void 0===t?void 0:t.id),c=Ae&&(null===(d=null===(n=null===(i=null==Ut?void 0:Ut[0])||void 0===i?void 0:i.promotionInfo)||void 0===n?void 0:n[0])||void 0===d?void 0:d.version),v=Re?{pointsBurnt:null===(s=null===(a=null==Ut?void 0:Ut[0])||void 0===a?void 0:a.rewards)||void 0===s?void 0:s.points}:void 0;Ut&&Ut[0]&&(Ut[0].fromPopup=at),ti("false"),sessionStorage.removeItem("vasPopUp"),it(!1),x(wl,Tt,Dl,Ut,fe,ei,$t,Xt,be,he,Al,jl,Te,ke,null!=Gt?Gt:e,ae,Zl,r,c,v)},Zt=e=>{var o,l,t,i,n,d,a,s,r;st(!1),Cl(!1);let c=void 0!==typeof window&&b.get("sunriseAuth");const v=c&&JSON.parse(c),u=!(!(null==fe?void 0:fe.enableExistingCustomer)||null!=v);if(sessionStorage.removeItem(ne),(null===(o=null==fe?void 0:fe.linecheckData)||void 0===o?void 0:o.length)>0&&!$t&&!Nt){return void(document.getElementById("linecheck")&&Te())}if(Nt&&!$t&&(null===(l=null==fe?void 0:fe.loginData)||void 0===l?void 0:l.length)>0&&u)Il(!0);else if(Bt&&(null===(t=Ut[0])||void 0===t?void 0:t.isBundle)){let o=!1;jt||((null===(i=Ut[0])||void 0===i?void 0:i.isBundle)?null===(d=null===(n=Ut[0])||void 0===n?void 0:n.bundledOffers)||void 0===d||d.map(e=>{var l,t,i;"internet"!==(null===(l=null==e?void 0:e.productType)||void 0===l?void 0:l.toLowerCase())&&"tv"!=(null===(t=null==e?void 0:e.productType)||void 0===t?void 0:t.toLowerCase())||(null==e?void 0:e.recommendAccessory)&&(o=null==e?void 0:e.recommendAccessory),"mobile"!==(null===(i=null==e?void 0:e.productType)||void 0===i?void 0:i.toLowerCase())||(o=!1)}):(null===(a=null==Ut?void 0:Ut[0])||void 0===a?void 0:a.recommendAccessory)&&(o=null===(s=null==Ut?void 0:Ut[0])||void 0===s?void 0:s.recommendAccessory)),$(ei,Ut,ae,Ae,null==ht?void 0:ht.productName,o),Yt(e)}else It&&(null===(r=Ut[0])||void 0===r?void 0:r.isBundle)&&!tt?(lt(!0),it(!0),ti("true"),window.addEventListener("beforeunload",function(e){ti("false"),sessionStorage.removeItem("vasPopUp"),it(!1)})):(ke&&wl(!0),Yt(e))},ei=S(Ut,$t,null==fe?void 0:fe.pageType,!1,Zl,Ae);n(()=>{var e,o;setTimeout(()=>{y(ue,me)},100);const l=k($t?Ut:null!==(o=null===(e=null==Ut?void 0:Ut[0])||void 0===e?void 0:e.bundledOffers)&&void 0!==o?o:Ut);yl(Object.assign({},l))},[se,De,Zl,vt,((null==De?void 0:De.TV)||(null==De?void 0:De.gigaSpeed)||(null==De?void 0:De.Netflix))&&Array.isArray(Ut)&&3===(null===(ao=null===(no=null==Ut?void 0:Ut[0])||void 0===no?void 0:no.bundledOffers)||void 0===ao?void 0:ao.length)]);const oi=()=>{((null==Qt?void 0:Qt.length)>0||It)&&Ol(!0)},li=null===(so=null==fe?void 0:fe.productContainer)||void 0===so?void 0:so[0];n(()=>{xl&&(ke&&null==At?(Vl(!Ul),Ql(!Kl)):ke&&(null==At?void 0:At.siteId)&&Ht())},[xl]),n(()=>{var e;if(Lt){const{store:o}=Lt;(null===(e=null==o?void 0:o.ottOptionsApi)||void 0===e?void 0:e.length)>0&&0===(null==rt?void 0:rt.length)&&ct(null==o?void 0:o.ottOptionsApi)}},[Lt]),n(()=>{if(!wt||!(null==Et?void 0:Et.startTime)||!(null==Et?void 0:Et.endTime))return void Ct(!1);Ct(P(Et.startTime,Et.endTime));const e=T(Et.startTime,Et.endTime);if(e<=0)return;const o=setTimeout(()=>{Ct(P(Et.startTime,Et.endTime))},e);return()=>clearTimeout(o)},[wt,null==Et?void 0:Et.startTime,null==Et?void 0:Et.endTime]),n(()=>{var e;const o=mt.current;if(!o||!(null===(e=null==ae?void 0:ae.timer)||void 0===e?void 0:e.length)||!wt)return void ut(0);const l=()=>{ut(o.clientHeight)};if(l(),"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(l);return t.observe(o),()=>{t.disconnect()}},[null===(ro=null==ae?void 0:ae.timer)||void 0===ro?void 0:ro.length,wt]),n(()=>{nt&&(zt(),dt(!0),ti("false"),sessionStorage.removeItem("vasPopUp"),it(!1),Yt())},[nt]),n(()=>{const e=()=>{const e=sessionStorage.getItem("vasPopUp");it("true"===e)};e();const o=o=>{o.storageArea===sessionStorage&&"vasPopUp"===o.key&&e(),o.storageArea===sessionStorage&&"vasPopUp"===o.key&&null===o.newValue&&it(!1)},l=()=>{e()};return window.addEventListener("storage",o),window.addEventListener("vasPopUpChange",l),()=>{window.removeEventListener("storage",o),window.removeEventListener("vasPopUpChange",l)}},[]);const ti=e=>{sessionStorage.setItem("vasPopUp",e);const o=new Event("vasPopUpChange");window.dispatchEvent(o)};return o.createElement("div",null,El&>&&a(o.createElement(d,{keyParams:"loading"}),gt),ft&&o.createElement("div",{className:"w-75 pb-2"},o.createElement(s,null)),!ft&&be&&ae&&he&&!$t&&o.createElement("div",{className:r.selected},o.createElement("span",{style:{paddingBottom:"10px"}},Nt?o.createElement("span",{className:r.activeicon},o.createElement("img",{src:`${xt}/icons/lineCheck-success.svg`,alt:"",width:24,height:24,className:r.activeicon}),o.createElement("span",null,null==ge?void 0:ge.subscriptionAvalTxt)):o.createElement("span",{className:r.inactiveicon},o.createElement("img",{src:`${xt}/icons/cross_disabled.svg`,alt:"",width:24,height:24,className:r.inactiveicon}),o.createElement("span",null,null==ge?void 0:ge.notSubscriptionTxt)))),o.createElement("div",{className:`${!$t&&!1===Nt&&(null===(co=null==fe?void 0:fe.linecheckData)||void 0===co?void 0:co.length)>0&&"global/coverage-check"!==(null===(mo=null===(uo=null===(vo=null==fe?void 0:fe.linecheckData)||void 0===vo?void 0:vo[0])||void 0===uo?void 0:uo.reference)||void 0===mo?void 0:mo.default_full_slug)?r.overlay:""}\n ${Ve&&!(null===(go=null===(po=null==Ut?void 0:Ut[0])||void 0===po?void 0:po.eligibility)||void 0===go?void 0:go.fpb)?r.disabled:""}\n `,style:{flexDirection:"column"}},o.createElement("div",{className:r.bundleproductcard},o.createElement("div",{id:`timer-section${ue}${pe}`,"data-timer-active":vt>0?"true":"false"},(null===(fo=null==ae?void 0:ae.timer)||void 0===fo?void 0:fo.length)&&wt?o.createElement("div",{style:{height:`${vt}px`,transition:"height 0.3s ease"}}):null),o.createElement("div",{className:`${r.productcontainer} ${St?r.highlightBorder:""}`},St&&o.createElement("div",{className:`${r.highlightText}`},null==ae?void 0:ae.highlightText),yt&&o.createElement("div",{className:`${r.promocontainer}`,style:{background:null==bt?void 0:bt.bestSellerColor}},null==bt?void 0:bt.displayText),o.createElement("div",{ref:mt,className:r.timerContainer},(null===(ho=null==ae?void 0:ae.timer)||void 0===ho?void 0:ho.length)&&wt?o.createElement(de,{content:null===(bo=null==ae?void 0:ae.timer)||void 0===bo?void 0:bo[0],hasHighlightText:St||yt,onTimerChange:e=>{Ct(e)}}):null),o.createElement("div",{className:`${r.detailsection} ${r.imageFullWidthSection}`,id:`detailsectionv3${ue}${pe}`},o.createElement("div",{className:`${r.headersection}`},o.createElement("div",{className:`${r.titlesection}`},o.createElement("div",{className:`${r.productheader}`,id:`titleV3${ue}${pe}`},null==ht?void 0:ht.productName),o.createElement("div",null,(null===(Eo=null==ht?void 0:ht.icon)||void 0===Eo?void 0:Eo.filename)&&o.createElement("img",{className:`${r.imagecontainer}`,src:null===(wo=null==ht?void 0:ht.icon)||void 0===wo?void 0:wo.filename,height:15,width:20,alt:"productIcon"}))),o.createElement("div",{className:`${r.productdescription}`,id:`descriptionV3${ue}${pe}`},o.createElement(c,{content:null==ht?void 0:ht.description})),o.createElement("div",{className:`${r.images}`},(null===(Po=null==ht?void 0:ht.img)||void 0===Po?void 0:Po.filename)&&o.createElement("img",{className:`${r.imagespace} ${(null==ae?void 0:ae.highlightText)&&r.borderimage}`,alt:"cardimg",src:`${null===(Co=null==ht?void 0:ht.img)||void 0===Co?void 0:Co.filename}/m/`}))),o.createElement("div",{className:`${r.productconfig}`,id:`product-configv3${ue}${pe}`},ft?o.createElement(o.Fragment,null,o.createElement("div",{className:r.space}),o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:5}),o.createElement("div",{className:r.space}),o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:5})):o.createElement("div",null,(null==ht?void 0:ht.bloks)&&(null===(So=null==ht?void 0:ht.bloks)||void 0===So?void 0:So.map((e,l)=>o.createElement(v,{content:e,indexKey:l,constants:ge,key:l,showModalPopup:oi,setToggleState:$e,toggleState:De,noTabs:Le,mainContent:fe,enableTVStreamingOptions:null==ae?void 0:ae.enableTVStreamingOptions,metadata:ve,setTvOptionsData:Vt})))))),o.createElement("div",{className:`${r.detailsection}`,id:`benefits-price-section${ue}${pe}`},o.createElement("div",{id:`exclusive-benefits-section${ue}${pe}`},(null===(yo=null==ht?void 0:ht.extraBenefits)||void 0===yo?void 0:yo.length)>0&&o.createElement(le,{content:null===(ko=null==ht?void 0:ht.extraBenefits)||void 0===ko?void 0:ko[0]})),o.createElement("div",{className:`${r.benefitssection}`,id:`benefits-section${ue}${pe}`},(null===(To=null==ht?void 0:ht.benefits)||void 0===To?void 0:To.length)>0&&o.createElement(u,{content:null==ht?void 0:ht.benefits,benefitData:ei,constants:ge,pricesToggleState:Me,togglePriceLabel:null==Fe?void 0:Fe.togglePriceLabel})),o.createElement("br",null),o.createElement("div",{className:`${r.giftsection}`,id:`gift-section${ue}${pe}`},(null==Sl?void 0:Sl.showGift)&&(null===(xo=null==bt?void 0:bt.singleGift)||void 0===xo?void 0:xo.map((e,l)=>o.createElement(L,{content:e,key:l}))),(null==Sl?void 0:Sl.showGift)&&(null===($o=null==bt?void 0:bt.giftConfig)||void 0===$o?void 0:$o.map((e,l)=>o.createElement(N,{content:e,key:l,selectedGiftItem:Rt,parentPoType:$t?"MOBILE":"HOME"}))),o.createElement("div",{className:`${r.giftsection}`,id:`cashback-section${ue}${pe}`},o.createElement(j,{uniqueProductData:Ut,mainContent:fe}))),o.createElement("div",{className:`${r.ordersection}`,id:`order-section${ue}${pe}`},""===(null==ei?void 0:ei.base)?o.createElement("div",null,o.createElement(s,{stylename:r.skeletontittle})):o.createElement("div",{id:`price-section${ue}${pe}`},o.createElement(m,{priceCollection:ei,constants:ge,promoText:null==ht?void 0:ht.promoText,deviceFlow:Ne,content:ae,offeringData:se,uniqueId:re})),!Re&&o.createElement("div",{className:`${r.discountedpricetoggleSection}`,id:`discountedpricetoggle-section${ue}${pe}`},Ot||"INLINE"!==(null==Fe?void 0:Fe.togglePosition)?null:o.createElement(te,{content:ht,index:pe,lineTable:!0,toggleContent:Fe})),ke&&(null==ge?void 0:ge.P2PDiscountLabel)&&o.createElement("div",{className:r.longterm},null==ge?void 0:ge.P2PDiscountLabel),ft?o.createElement(o.Fragment,null,o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:2})):o.createElement("div",{className:`${(null==ce?void 0:ce.swapButton)&&r.swapButton}`},o.createElement("div",{style:{padding:"16px 0 0 0"}},o.createElement(p,{isMobileFlow:$t,createCartCall:(null==Ne?void 0:Ne.isDeviceFlow)?e=>{Cl(!1);Ie({setShowLoader:wl,cartEndPoint:Tt,giftItem:Dl,uniqueProductData:Ut,mainContent:fe,showPrice:ei,isMobileFlow:$t,eligibleBundle:be,address:he,setShowLinecheck:Al,showLinecheck:jl,lineCheckCallBack:Te,enableP2P:ke,msisdnn:null!=Gt?Gt:e,content:ae,selectedRP:Be,continueCart:Oe})}:$t?Mt:Zt,constants:ge,storyContent:ce,showPrice:ei,isAvailable:Nt,address:he,uniqueProductBenefits:null==Ut?void 0:Ut[0],alwaysActive:!Nt&&(null===(Do=null==fe?void 0:fe.linecheckData)||void 0===Do?void 0:Do.length)>0&&"global/coverage-check"===(null===(Io=null===(No=null===(Lo=null==fe?void 0:fe.linecheckData)||void 0===Lo?void 0:Lo[0])||void 0===No?void 0:No.reference)||void 0===Io?void 0:Io.default_full_slug),flexUpgradeFreePopup:null===(Oo=null===(Bo=null==fe?void 0:fe.flexUpgradeFreePopup)||void 0===Bo?void 0:Bo.reference)||void 0===Oo?void 0:Oo.content,content:ae,deviceUltimateBundle:Ve,forceDisabled:Boolean(null===(Ao=null===(jo=null==Ut?void 0:Ut[0])||void 0===jo?void 0:jo.rewards)||void 0===Ao?void 0:Ao.notEligibileReason),notEligibileReason:null===(Vo=null===(Uo=null==Ut?void 0:Ut[0])||void 0===Uo?void 0:Uo.rewards)||void 0===Vo?void 0:Vo.notEligibileReason})),!Re&&(null===(Fo=null==ce?void 0:ce.addSmartPhone)||void 0===Fo?void 0:Fo.length)>0&&!(null==Ne?void 0:Ne.isDeviceFlow)&&o.createElement("div",{style:{textAlign:"center"}},(null==ce?void 0:ce.swapButton)?(null==ce?void 0:ce.ctaLabel)&&o.createElement("div",{style:{padding:"16px 0"}},o.createElement("button",{className:"primarybutton",onClick:()=>D(ei,ce,Ut,"",ae,Ae)},o.createElement("span",{className:r.buttontext},null==ce?void 0:ce.ctaLabel))):!(null==ae?void 0:ae.redirectOnly)&&o.createElement("div",{style:{padding:"12px 0 0 0"}},o.createElement(ie,{content:{buttonType:"Secondary-V1",buttonLabel:(null==ae?void 0:ae.ultimateBundlePromotion)?null==ge?void 0:ge.ultimateBundleLbl:null===(Ro=null===(Mo=null==ce?void 0:ce.addSmartPhone)||void 0===Mo?void 0:Mo[0])||void 0===Ro?void 0:Ro.buttonLabel,buttonIcon:null===(Go=null===(_o=null==ce?void 0:ce.addSmartPhone)||void 0===_o?void 0:_o[0])||void 0===Go?void 0:Go.buttonIcon,buttonAlignment:"left"},wafIdentifier:Ce,style:{width:"100%"},onClick:()=>ke?void $l(!0):D(ei,ce,Ut,"",ae,Ae)}))),o.createElement("div",{className:r.productcontractduration,id:`contract-section${ue}${pe}`,style:{paddingTop:(null===(Jo=null==ce?void 0:ce.addSmartPhone)||void 0===Jo?void 0:Jo.length)>0&&!(null==Ne?void 0:Ne.isDeviceFlow)&&!(null==ce?void 0:ce.swapButton)&&!(null==ae?void 0:ae.redirectOnly)?"8px":void 0}},(null==ei?void 0:ei.contractDuration)>"1"?B(null===(qo=null==ge?void 0:ge.minContractDuration)||void 0===qo?void 0:qo.substring(1),[null==ei?void 0:ei.contractDuration]):null==ge?void 0:ge.noContractDuration)),o.createElement("div",{style:{textAlign:"center",padding:"4px"}},(null===(Ho=null==ht?void 0:ht.productDetails)||void 0===Ho?void 0:Ho.length)>0&&o.createElement("span",{className:r.productdetailslink,onClick:()=>{var e,o,l;Cl(!Pl),A(V,R,X(Ut,"",M));const t=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],n=i[i.length-1],d={eventTimestamp:O(),eventType:"PageView",pageType:"ProductDetails",pageLocation:n,targetProduct:kt};t&&z(pt,d,t)}},null==ge?void 0:ge.productDetailsLink)),Pl&&o.createElement(g,{content:null==ht?void 0:ht.productDetails,showProductDetail:Pl,setShowProductDetail:Cl,constants:ge,showPrice:ei,isMobileFlow:$t,createCartCall:$t?Mt:Zt,storyContent:ce,isAvailable:Nt,address:he,flexUpgradeFreePopup:null===(zo=null===(Wo=null==fe?void 0:fe.flexUpgradeFreePopup)||void 0===Wo?void 0:Wo.reference)||void 0===zo?void 0:zo.content})))))),Ve&&Ut&&!(null===(Qo=null===(Ko=null==Ut?void 0:Ut[0])||void 0===Ko?void 0:Ko.eligibility)||void 0===Qo?void 0:Qo.fpb)&&o.createElement("div",{className:r.disabledInfo},o.createElement(c,{content:null==ge?void 0:ge.fpbNotCompatibleText})),Bl&&(ft?o.createElement(s,null):o.createElement(_,{content:null==Qt?void 0:Qt[0],setShowModal:Ol,showModal:Bl,constants:ge})),Nl&&(null===(Xo=null==fe?void 0:fe.loginData)||void 0===Xo?void 0:Xo.length)>0&>&&a(o.createElement(w,{content:null===(Yo=null==fe?void 0:fe.loginData)||void 0===Yo?void 0:Yo[0],closeLogin:()=>{Il(!1)},metadata:ve,onSuccess:()=>{Il(!1),ye(),sessionStorage.removeItem("vasPopUp"),it(!1),ke?Ht():Zt()},isProdEnv:Ue}),gt),Ul&&ke&&!Nl&&Kl&&o.createElement(H,{modalState:kl,handler:Wt,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(q,{onClose:Ft,content:null===(ol=null===(el=null===(Zo=null==fe?void 0:fe.productContainer)||void 0===Zo?void 0:Zo[0])||void 0===el?void 0:el.p2pBloks)||void 0===ol?void 0:ol[0],prepaid:!1})),ke&&Wl&&Rl&&Kl&&o.createElement(H,{modalState:kl,handler:Wt,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px",id:"table-product"},o.createElement(q,{onClose:Ft,content:null===(il=null===(tl=null===(ll=null==fe?void 0:fe.productContainer)||void 0===ll?void 0:ll[0])||void 0===tl?void 0:tl.p2pBloks)||void 0===il?void 0:il[1],prepaid:!0})),(null==ql?void 0:ql.length)>1&&ke&&Wl&&!Rl&&Xl&&o.createElement(H,{modalState:Xl,handler:()=>{wl(!1),Yl(!Xl)},showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(Q,{onSubmit:e=>{Yl(!Xl),xl?D(ei,ce,Ut,e,ae,Ae):Zt(null==e?void 0:e.msisdn)},exsistingSubscriptionData:ql,updatedContent:li})),jl&&(null==fe?void 0:fe.enableLinecheckOverlay)&&!$t&&(null===(nl=null==fe?void 0:fe.linecheckData)||void 0===nl?void 0:nl.length)>0&&!ke&&"global/new-linecheck-test"===(null===(sl=null===(al=null===(dl=null==fe?void 0:fe.linecheckData)||void 0===dl?void 0:dl[0])||void 0===al?void 0:al.reference)||void 0===sl?void 0:sl.default_full_slug)?o.createElement(G,{content:null===(rl=null==fe?void 0:fe.linecheckData)||void 0===rl?void 0:rl[0],onSuccess:Kt,showModal:jl,setShowModal:Al,productName:null==ht?void 0:ht.productName,productId:null==ht?void 0:ht.productId}):jl&&(null==fe?void 0:fe.enableLinecheckOverlay)&&!$t&&(null===(cl=null==fe?void 0:fe.linecheckData)||void 0===cl?void 0:cl.length)>0&&!ke&&"global/coverage-check"===(null===(ml=null===(ul=null===(vl=null==fe?void 0:fe.linecheckData)||void 0===vl?void 0:vl[0])||void 0===ul?void 0:ul.reference)||void 0===ml?void 0:ml.default_full_slug)?o.createElement(Y,{content:null===(pl=null==fe?void 0:fe.linecheckData)||void 0===pl?void 0:pl[0].reference.content.body[0],overlayIsOpen:!0,externalHandleModal:Al,productName:null==ht?void 0:ht.productName,showModal:jl,setShowModal:Al,onSuccess:()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");be=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),he="undefined"!=typeof window&&b.get("chAddressJson"),"function"==typeof Ee&&Ee()},onCreateCart:Kt,lineCheckOnClear:je,productId:null==ht?void 0:ht.productId}):null,Fl&&$t&&(null===(gl=null==ce?void 0:ce.benefitsValidate)||void 0===gl?void 0:gl.length)>0&&o.createElement(J,{content:null===(fl=null==ce?void 0:ce.benefitsValidate)||void 0===fl?void 0:fl[0],loginContent:null===(hl=null==fe?void 0:fe.loginData)||void 0===hl?void 0:hl[0],metadata:ve,createCartCall:Zt,fetchOfferData:Pe,basicConfigUrl:Ce,selectedExistingOption:Se,setShowBenefit:Ml,setLoginSuccess:ye,isProdEnv:Ue}),ot&&o.createElement(H,{modalState:ot,handler:zt,showFooter:!1,width:"mobile"===Dt?"":"tablet"===Dt?"700px":"990px",fixedWidth:"mobile"===Dt?"":"tablet"===Dt?"700px":"990px",height:"845px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"24px"},o.createElement(oe,{content:null===(bl=null==fe?void 0:fe.optionsPopup)||void 0===bl?void 0:bl[0],addOptionsCallBack:e=>{st(!0),dt(!0),Vt(e)},metadata:ve,constants:ge,mainContent:fe,preSelectedOptions:[],optionsResponse:rt,updateResponseList:ct,showPrice:ei,productData:ht,offeringData:se,uniqueId:re,deviceFlow:Ne})))};export{ae as default};
|
|
1
|
+
import{__awaiter as e}from"../../_virtual/_tslib.js";import o,{useState as l,useRef as t,useContext as i,useEffect as n}from"react";import d from"../Dotloader/Dotloader.js";import{createPortal as a}from"react-dom";import s from"../SkeletonLoader/SkeletonLoader.js";import r from"./StaticLineTable.module.scss.js";import c from"../richtext.js";import v from"./StaticProductEntitlement.js";import u from"./StaticBenefit.js";import m from"./DynamicPriceSection.js";import p from"./CheckoutButton.js";import g from"./StaticProductDetails.js";import{LineTableBasicPropConfig as f,AssetPathPropConfig as h}from"../../services/LineTableBasicPropConfig.js";import b from"js-cookie";import{LoginBasicPropConfig as E}from"../../services/LoginBasicPropConfig.js";import w from"../login/LoginModalV2.js";import{isTimerActive as P,fetchServiceOptions as C,fetchPrice as S,findHeight as y,checkGiftOrCashback as k,getTimeUntilNextTimerEvent as T,staticCreateCart as x,combineWithVasOptions as $,combineWithSmartPhone as D}from"./Product.utils.js";import L from"../ProductDetailsV3/GiftConfigV2.js";import N from"../ProductDetailsV3/ChooseGiftV2.js";import{viewport as I,replacePlaceholder as B,getUtcTimestamp as O}from"../../utils/utils.js";import j from"./StaticProductCashback.js";import{trackNewDatalayerEvent as A}from"../../utils/AnalyticsUtils.js";import{CTABUTTONCLICK as U,GAEVENT as V,EXISTINGCUSTOMER as F,LINETABLE as M,DOWNLOADPRODUCT as R}from"../../Analytics/AnalyticsConstants.js";import _ from"./TVChannelModal.js";import G from"../LineCheckV3/LinecheckModal.js";import J from"../BenefitWrapper/BenefitsValidateWrapper.js";import q from"../PretoPost/PreToPostSubsPopup.js";import H from"../LineCheckV3/GenericModal.js";import{fetchSubscriptionData as W,trackPegaEvents as z,validateP2P as K}from"../../services/LineTableService.js";import Q from"./ExsistingSubscriptionModal.js";import{getEcomCartInfo as X}from"../../models/Analytics/items.js";import Y from"../NewLineCheck/CoverageCheckModal.js";import{API_BASE_BASEPOINT as Z}from"../../services/api-constants.js";import{AppContext as ee}from"./StaticLineTableStore/StaticLineTableProvider.js";import oe from"./OttServiceOptions/OttServiceOptionsSmallPopup.js";import le from"./StaticExclusiveBenefit.js";import te from"../UserLoggedPricesToggle/UserLoggedPricesToggle.js";import ie from"../FalconButtonV2/FalconButtonV2.js";import{ONE_ECOMMERCE_INTERNET_SUMMARY as ne}from"../../utils/constants.js";import de from"./StaticLineTabelTimer/StaticLineTabelTimer.js";const ae=({content:ae,offeringData:se,uniqueId:re,storyContent:ce,metadata:ve,tabIndex:ue,cardsLength:me,indexKey:pe,constants:ge,mainContent:fe,address:he,eligibleBundle:be,linecheckSuccessCallBack:Ee,selectedOption:we,fetchOfferData:Pe,basicConfigUrl:Ce,selectedExistingOption:Se,setLoginSuccess:ye,enableP2P:ke,lineCheckCallBack:Te,loginSuccess:xe,setToggleState:$e,toggleState:De,noTabs:Le,deviceFlow:Ne,deviceFlowCallBack:Ie,selectedRP:Be,continueCart:Oe,lineCheckOnClear:je,pegaIntegration:Ae,isProdEnv:Ue,deviceUltimateBundle:Ve,toggleContent:Fe,pricesToggleState:Me,isShogunFlow:Re,shogunToken:_e})=>{var Ge,Je,qe,He,We,ze,Ke,Qe,Xe,Ye,Ze,eo,oo,lo,to,io,no,ao,so,ro,co,vo,uo,mo,po,go,fo,ho,bo,Eo,wo,Po,Co,So,yo,ko,To,xo,$o,Do,Lo,No,Io,Bo,Oo,jo,Ao,Uo,Vo,Fo,Mo,Ro,_o,Go,Jo,qo,Ho,Wo,zo,Ko,Qo,Xo,Yo,Zo,el,ol,ll,tl,il,nl,dl,al,sl,rl,cl,vl,ul,ml,pl,gl,fl,hl,bl,El;const[wl,Pl]=l(!1),[Cl,Sl]=l(!1),[yl,kl]=l({showGift:!1,cashbackAvailable:!1}),[Tl,xl]=l(!0),[$l,Dl]=l(!1),[Ll,Nl]=l([]),[Il,Bl]=l(!1),[Ol,jl]=l(!1),[Al,Ul]=l(!1),[Vl,Fl]=l(!1),[Ml,Rl]=l(!1),[_l,Gl]=l(!1),Jl=`${Ce}inf/customer-management/subscriptions`,ql=`${Ce}inf/resource-management/msisdns/pretopost/validation`,[Hl,Wl]=l([]),[zl,Kl]=l(!1),[Ql,Xl]=l(!1),[Yl,Zl]=l(!1),[et,ot]=l([]),[lt,tt]=l(!1),[it,nt]=l(!1),[dt,at]=l(!1),[st,rt]=l(!1),[ct,vt]=l([]),[ut,mt]=l(0),pt=t(null),gt=`${Ce}inf/${Z.CUSTOMER}`,ft=void 0!==typeof window&&document.getElementById("static-linetable"),ht=0===(null===(Ge=Object.keys(ae))||void 0===Ge?void 0:Ge.length),bt=null===(ze=null===(We=null===(He=null===(qe=null===(Je=null==ae?void 0:ae.products)||void 0===Je?void 0:Je[0])||void 0===qe?void 0:qe.reference)||void 0===He?void 0:He.content)||void 0===We?void 0:We.product)||void 0===ze?void 0:ze[0],Et=null===(Ze=null===(Ye=null===(Xe=null===(Qe=null===(Ke=null==ae?void 0:ae.promotion)||void 0===Ke?void 0:Ke[0])||void 0===Qe?void 0:Qe.reference)||void 0===Xe?void 0:Xe.content)||void 0===Ye?void 0:Ye.promoDescription)||void 0===Ze?void 0:Ze[0],wt=null===(eo=null==ae?void 0:ae.timer)||void 0===eo?void 0:eo[0],Pt=null==wt?void 0:wt.enableCounter,[Ct,St]=l(!!(Pt&&(null==wt?void 0:wt.startTime)&&(null==wt?void 0:wt.endTime))&&P(wt.startTime,wt.endTime)),yt=Boolean((null==ae?void 0:ae.highlightText)&&!0!==Me&&!Ct),kt=Boolean((null==Et?void 0:Et.displayText)&&!(null==ae?void 0:ae.notShowPromotionLabel)&&!0!==Me&&!Ct),Tt=null==bt?void 0:bt.productId,xt=null===(oo=null==f?void 0:f.getInstance())||void 0===oo?void 0:oo.getCartUrl(),$t=null===(lo=null==h?void 0:h.getInstance())||void 0===lo?void 0:lo.getAssetPath(),Dt="MOBILE"===(null==ce?void 0:ce.pageType),Lt=I(),Nt=i(ee);let It;It=he&&(null===(to=null==be?void 0:be.eligibleBundle)||void 0===to?void 0:to.includes(Tt));const Bt=null==ae?void 0:ae.enableTVStreamingOptionsPopUp,Ot=null==ae?void 0:ae.enableTVStreamingOptionsStepper,jt=null==ae?void 0:ae.disableDiscountedPriceToggle,At=null==ae?void 0:ae.skipAccessoriesPage;E.create({baseURL:null!=Ce?Ce:""});let Ut=void 0!==typeof window&&b.get("sunriseAuth");Ut=Ut&&JSON.parse(Ut);const Vt=((null==se?void 0:se[re])||[]).filter(e=>(null==e?void 0:e.id)===Tt),Ft=e=>{ot(e)},Mt=()=>{Bl(!0),Fl(!Vl),Xl(!Ql)},Rt=()=>{var e,o,l;if(Sl(!1),ke&&null==Ut)Fl(!Vl),Xl(!Ql);else if(ke&&(null==Ut?void 0:Ut.siteId))Wt();else if(we===F&&(null==Se?void 0:Se.length)>0)Rl(!0);else{!!((null==fe?void 0:fe.enableExistingCustomer)&&null==Ut||!Ut&&!0===Me&&(null==Fe?void 0:Fe.enableLoggedInPrice))?Bl(!0):ei()}if(Ae){const t=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],n=i[i.length-1],d={eventTimestamp:O(),eventType:"PageView",pageType:"CartCreated",pageLocation:n,targetProduct:Tt};t&&z(gt,d,t)}},_t=e=>{const o=Ll.findIndex(o=>(null==e?void 0:e.giftGroupId)===(null==o?void 0:o.giftGroupId)),l=Ll;-1===o?l.push(e):l[o]=e,Nl([...l])},Gt=new URLSearchParams(null===(io=null===window||void 0===window?void 0:window.location)||void 0===io?void 0:io.search),Jt=null==Gt?void 0:Gt.get("selectedMsisdn"),qt=e=>{var o;1===(null==e?void 0:e.length)?($l?D(oi,ce,Vt,null==e?void 0:e[0],ae,Ae):ei(null===(o=null==e?void 0:e[0])||void 0===o?void 0:o.msisdn),Gl(!1)):(null==e?void 0:e.length)>1?(Wl(e),Zl(!Yl),Gl(!1)):(Xl(!Ql),Gl(!0),xl(!0),Pl(!1))},Ht=(o,l)=>e(void 0,void 0,void 0,function*(){yield K(null==o?void 0:o.msisdn,ql).then(e=>{e&&l.push(o)}).catch(e=>{console.log("error",e)})}),Wt=()=>{var o;Pl(!0);try{null===(o=W("PREPAID",Jl))||void 0===o||o.then(o=>e(void 0,void 0,void 0,function*(){if(204==(null==o?void 0:o.subscriptionData))Xl(!Ql),Gl(!0),xl(!0),Pl(!1);else{const l=null==o?void 0:o.subscriptionData,t=l.find(e=>e.msisdn===Jt);if(l){const o=[];Jt?(yield Ht(t,o),qt(o)):yield Promise.all(null==l?void 0:l.map(l=>e(void 0,void 0,void 0,function*(){yield Ht(l,o)}))).then(e=>{qt(o)})}}})).catch(e=>{console.log("error---\x3e",e),Pl(!1)})}catch(e){console.log("error---\x3e",e),Pl(!1)}Kl(!0)},zt=()=>{Xl(!Tl),Fl(!1)},Kt=e=>{tt(!1),e&&A(V,U,{headline:"VAS POPUP CLOSE"})},Qt=()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");be=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),he="undefined"!=typeof window&&b.get("chAddressJson"),Ul(!Al),"function"==typeof Ee&&Ee(),ei()},Xt=C(null==bt?void 0:bt.bloks,Dt),Yt=null===(no=null==Xt?void 0:Xt[0])||void 0===no?void 0:no.tvProductId,Zt=e=>{var o,l,t,i,n,d,a,s,r,c;const v=Ae&&(null===(t=null===(l=null===(o=null==Vt?void 0:Vt[0])||void 0===o?void 0:o.promotionInfo)||void 0===l?void 0:l[0])||void 0===t?void 0:t.id),u=Ae&&(null===(d=null===(n=null===(i=null==Vt?void 0:Vt[0])||void 0===i?void 0:i.promotionInfo)||void 0===n?void 0:n[0])||void 0===d?void 0:d.version),m=Re?{pointsBurnt:null===(s=null===(a=null==Vt?void 0:Vt[0])||void 0===a?void 0:a.rewards)||void 0===s?void 0:s.points,rewardOfferId:null===(c=null===(r=null==Vt?void 0:Vt[0])||void 0===r?void 0:r.rewards)||void 0===c?void 0:c.offerId,gloxTokenId:_e}:void 0;Vt&&Vt[0]&&(Vt[0].fromPopup=st),ii("false"),sessionStorage.removeItem("vasPopUp"),nt(!1),x(Pl,xt,Ll,Vt,fe,oi,Dt,Yt,be,he,Ul,Al,Te,ke,null!=Jt?Jt:e,ae,et,v,u,m)},ei=e=>{var o,l,t,i,n,d,a,s,r;rt(!1),Sl(!1);let c=void 0!==typeof window&&b.get("sunriseAuth");const v=c&&JSON.parse(c),u=!(!(null==fe?void 0:fe.enableExistingCustomer)||null!=v);if(sessionStorage.removeItem(ne),(null===(o=null==fe?void 0:fe.linecheckData)||void 0===o?void 0:o.length)>0&&!Dt&&!It){return void(document.getElementById("linecheck")&&Te())}if(It&&!Dt&&(null===(l=null==fe?void 0:fe.loginData)||void 0===l?void 0:l.length)>0&&u)Bl(!0);else if(Ot&&(null===(t=Vt[0])||void 0===t?void 0:t.isBundle)){let o=!1;At||((null===(i=Vt[0])||void 0===i?void 0:i.isBundle)?null===(d=null===(n=Vt[0])||void 0===n?void 0:n.bundledOffers)||void 0===d||d.map(e=>{var l,t,i;"internet"!==(null===(l=null==e?void 0:e.productType)||void 0===l?void 0:l.toLowerCase())&&"tv"!=(null===(t=null==e?void 0:e.productType)||void 0===t?void 0:t.toLowerCase())||(null==e?void 0:e.recommendAccessory)&&(o=null==e?void 0:e.recommendAccessory),"mobile"!==(null===(i=null==e?void 0:e.productType)||void 0===i?void 0:i.toLowerCase())||(o=!1)}):(null===(a=null==Vt?void 0:Vt[0])||void 0===a?void 0:a.recommendAccessory)&&(o=null===(s=null==Vt?void 0:Vt[0])||void 0===s?void 0:s.recommendAccessory)),$(oi,Vt,ae,Ae,null==bt?void 0:bt.productName,o),Zt(e)}else Bt&&(null===(r=Vt[0])||void 0===r?void 0:r.isBundle)&&!it?(tt(!0),nt(!0),ii("true"),window.addEventListener("beforeunload",function(e){ii("false"),sessionStorage.removeItem("vasPopUp"),nt(!1)})):(ke&&Pl(!0),Zt(e))},oi=S(Vt,Dt,null==fe?void 0:fe.pageType,!1,et,Ae);n(()=>{var e,o;setTimeout(()=>{y(ue,me)},100);const l=k(Dt?Vt:null!==(o=null===(e=null==Vt?void 0:Vt[0])||void 0===e?void 0:e.bundledOffers)&&void 0!==o?o:Vt);kl(Object.assign({},l))},[se,De,et,ut,((null==De?void 0:De.TV)||(null==De?void 0:De.gigaSpeed)||(null==De?void 0:De.Netflix))&&Array.isArray(Vt)&&3===(null===(so=null===(ao=null==Vt?void 0:Vt[0])||void 0===ao?void 0:ao.bundledOffers)||void 0===so?void 0:so.length)]);const li=()=>{((null==Xt?void 0:Xt.length)>0||Bt)&&jl(!0)},ti=null===(ro=null==fe?void 0:fe.productContainer)||void 0===ro?void 0:ro[0];n(()=>{$l&&(ke&&null==Ut?(Fl(!Vl),Xl(!Ql)):ke&&(null==Ut?void 0:Ut.siteId)&&Wt())},[$l]),n(()=>{var e;if(Nt){const{store:o}=Nt;(null===(e=null==o?void 0:o.ottOptionsApi)||void 0===e?void 0:e.length)>0&&0===(null==ct?void 0:ct.length)&&vt(null==o?void 0:o.ottOptionsApi)}},[Nt]),n(()=>{if(!Pt||!(null==wt?void 0:wt.startTime)||!(null==wt?void 0:wt.endTime))return void St(!1);St(P(wt.startTime,wt.endTime));const e=T(wt.startTime,wt.endTime);if(e<=0)return;const o=setTimeout(()=>{St(P(wt.startTime,wt.endTime))},e);return()=>clearTimeout(o)},[Pt,null==wt?void 0:wt.startTime,null==wt?void 0:wt.endTime]),n(()=>{var e;const o=pt.current;if(!o||!(null===(e=null==ae?void 0:ae.timer)||void 0===e?void 0:e.length)||!Pt)return void mt(0);const l=()=>{mt(o.clientHeight)};if(l(),"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(l);return t.observe(o),()=>{t.disconnect()}},[null===(co=null==ae?void 0:ae.timer)||void 0===co?void 0:co.length,Pt]),n(()=>{dt&&(Kt(),at(!0),ii("false"),sessionStorage.removeItem("vasPopUp"),nt(!1),Zt())},[dt]),n(()=>{const e=()=>{const e=sessionStorage.getItem("vasPopUp");nt("true"===e)};e();const o=o=>{o.storageArea===sessionStorage&&"vasPopUp"===o.key&&e(),o.storageArea===sessionStorage&&"vasPopUp"===o.key&&null===o.newValue&&nt(!1)},l=()=>{e()};return window.addEventListener("storage",o),window.addEventListener("vasPopUpChange",l),()=>{window.removeEventListener("storage",o),window.removeEventListener("vasPopUpChange",l)}},[]);const ii=e=>{sessionStorage.setItem("vasPopUp",e);const o=new Event("vasPopUpChange");window.dispatchEvent(o)};return o.createElement("div",null,wl&&ft&&a(o.createElement(d,{keyParams:"loading"}),ft),ht&&o.createElement("div",{className:"w-75 pb-2"},o.createElement(s,null)),!ht&&be&&ae&&he&&!Dt&&o.createElement("div",{className:r.selected},o.createElement("span",{style:{paddingBottom:"10px"}},It?o.createElement("span",{className:r.activeicon},o.createElement("img",{src:`${$t}/icons/lineCheck-success.svg`,alt:"",width:24,height:24,className:r.activeicon}),o.createElement("span",null,null==ge?void 0:ge.subscriptionAvalTxt)):o.createElement("span",{className:r.inactiveicon},o.createElement("img",{src:`${$t}/icons/cross_disabled.svg`,alt:"",width:24,height:24,className:r.inactiveicon}),o.createElement("span",null,null==ge?void 0:ge.notSubscriptionTxt)))),o.createElement("div",{className:`${!Dt&&!1===It&&(null===(vo=null==fe?void 0:fe.linecheckData)||void 0===vo?void 0:vo.length)>0&&"global/coverage-check"!==(null===(po=null===(mo=null===(uo=null==fe?void 0:fe.linecheckData)||void 0===uo?void 0:uo[0])||void 0===mo?void 0:mo.reference)||void 0===po?void 0:po.default_full_slug)?r.overlay:""}\n ${Ve&&!(null===(fo=null===(go=null==Vt?void 0:Vt[0])||void 0===go?void 0:go.eligibility)||void 0===fo?void 0:fo.fpb)?r.disabled:""}\n `,style:{flexDirection:"column"}},o.createElement("div",{className:r.bundleproductcard},o.createElement("div",{id:`timer-section${ue}${pe}`,"data-timer-active":ut>0?"true":"false"},(null===(ho=null==ae?void 0:ae.timer)||void 0===ho?void 0:ho.length)&&Pt?o.createElement("div",{style:{height:`${ut}px`,transition:"height 0.3s ease"}}):null),o.createElement("div",{className:`${r.productcontainer} ${yt?r.highlightBorder:""}`},yt&&o.createElement("div",{className:`${r.highlightText}`},null==ae?void 0:ae.highlightText),kt&&o.createElement("div",{className:`${r.promocontainer}`,style:{background:null==Et?void 0:Et.bestSellerColor}},null==Et?void 0:Et.displayText),o.createElement("div",{ref:pt,className:r.timerContainer},(null===(bo=null==ae?void 0:ae.timer)||void 0===bo?void 0:bo.length)&&Pt?o.createElement(de,{content:null===(Eo=null==ae?void 0:ae.timer)||void 0===Eo?void 0:Eo[0],hasHighlightText:yt||kt,onTimerChange:e=>{St(e)}}):null),o.createElement("div",{className:`${r.detailsection} ${r.imageFullWidthSection}`,id:`detailsectionv3${ue}${pe}`},o.createElement("div",{className:`${r.headersection}`},o.createElement("div",{className:`${r.titlesection}`},o.createElement("div",{className:`${r.productheader}`,id:`titleV3${ue}${pe}`},null==bt?void 0:bt.productName),o.createElement("div",null,(null===(wo=null==bt?void 0:bt.icon)||void 0===wo?void 0:wo.filename)&&o.createElement("img",{className:`${r.imagecontainer}`,src:null===(Po=null==bt?void 0:bt.icon)||void 0===Po?void 0:Po.filename,height:15,width:20,alt:"productIcon"}))),o.createElement("div",{className:`${r.productdescription}`,id:`descriptionV3${ue}${pe}`},o.createElement(c,{content:null==bt?void 0:bt.description})),o.createElement("div",{className:`${r.images}`},(null===(Co=null==bt?void 0:bt.img)||void 0===Co?void 0:Co.filename)&&o.createElement("img",{className:`${r.imagespace} ${(null==ae?void 0:ae.highlightText)&&r.borderimage}`,alt:"cardimg",src:`${null===(So=null==bt?void 0:bt.img)||void 0===So?void 0:So.filename}/m/`}))),o.createElement("div",{className:`${r.productconfig}`,id:`product-configv3${ue}${pe}`},ht?o.createElement(o.Fragment,null,o.createElement("div",{className:r.space}),o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:5}),o.createElement("div",{className:r.space}),o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:5})):o.createElement("div",null,(null==bt?void 0:bt.bloks)&&(null===(yo=null==bt?void 0:bt.bloks)||void 0===yo?void 0:yo.map((e,l)=>o.createElement(v,{content:e,indexKey:l,constants:ge,key:l,showModalPopup:li,setToggleState:$e,toggleState:De,noTabs:Le,mainContent:fe,enableTVStreamingOptions:null==ae?void 0:ae.enableTVStreamingOptions,metadata:ve,setTvOptionsData:Ft})))))),o.createElement("div",{className:`${r.detailsection}`,id:`benefits-price-section${ue}${pe}`},o.createElement("div",{id:`exclusive-benefits-section${ue}${pe}`},(null===(ko=null==bt?void 0:bt.extraBenefits)||void 0===ko?void 0:ko.length)>0&&o.createElement(le,{content:null===(To=null==bt?void 0:bt.extraBenefits)||void 0===To?void 0:To[0]})),o.createElement("div",{className:`${r.benefitssection}`,id:`benefits-section${ue}${pe}`},(null===(xo=null==bt?void 0:bt.benefits)||void 0===xo?void 0:xo.length)>0&&o.createElement(u,{content:null==bt?void 0:bt.benefits,benefitData:oi,constants:ge,pricesToggleState:Me,togglePriceLabel:null==Fe?void 0:Fe.togglePriceLabel})),o.createElement("br",null),o.createElement("div",{className:`${r.giftsection}`,id:`gift-section${ue}${pe}`},(null==yl?void 0:yl.showGift)&&(null===($o=null==Et?void 0:Et.singleGift)||void 0===$o?void 0:$o.map((e,l)=>o.createElement(L,{content:e,key:l}))),(null==yl?void 0:yl.showGift)&&(null===(Do=null==Et?void 0:Et.giftConfig)||void 0===Do?void 0:Do.map((e,l)=>o.createElement(N,{content:e,key:l,selectedGiftItem:_t,parentPoType:Dt?"MOBILE":"HOME"}))),o.createElement("div",{className:`${r.giftsection}`,id:`cashback-section${ue}${pe}`},o.createElement(j,{uniqueProductData:Vt,mainContent:fe}))),o.createElement("div",{className:`${r.ordersection}`,id:`order-section${ue}${pe}`},""===(null==oi?void 0:oi.base)?o.createElement("div",null,o.createElement(s,{stylename:r.skeletontittle})):o.createElement("div",{id:`price-section${ue}${pe}`},o.createElement(m,{priceCollection:oi,constants:ge,promoText:null==bt?void 0:bt.promoText,deviceFlow:Ne,content:ae,offeringData:se,uniqueId:re})),!Re&&o.createElement("div",{className:`${r.discountedpricetoggleSection}`,id:`discountedpricetoggle-section${ue}${pe}`},jt||"INLINE"!==(null==Fe?void 0:Fe.togglePosition)?null:o.createElement(te,{content:bt,index:pe,lineTable:!0,toggleContent:Fe})),ke&&(null==ge?void 0:ge.P2PDiscountLabel)&&o.createElement("div",{className:r.longterm},null==ge?void 0:ge.P2PDiscountLabel),ht?o.createElement(o.Fragment,null,o.createElement(s,{stylename:r.skeletontittle,count:1}),o.createElement(s,{stylename:r.skeletonline,count:2})):o.createElement("div",{className:`${(null==ce?void 0:ce.swapButton)&&r.swapButton}`},o.createElement("div",{style:{padding:"16px 0 0 0"}},o.createElement(p,{isMobileFlow:Dt,createCartCall:(null==Ne?void 0:Ne.isDeviceFlow)?e=>{Sl(!1);Ie({setShowLoader:Pl,cartEndPoint:xt,giftItem:Ll,uniqueProductData:Vt,mainContent:fe,showPrice:oi,isMobileFlow:Dt,eligibleBundle:be,address:he,setShowLinecheck:Ul,showLinecheck:Al,lineCheckCallBack:Te,enableP2P:ke,msisdnn:null!=Jt?Jt:e,content:ae,selectedRP:Be,continueCart:Oe})}:Dt?Rt:ei,constants:ge,storyContent:ce,showPrice:oi,isAvailable:It,address:he,uniqueProductBenefits:null==Vt?void 0:Vt[0],alwaysActive:!It&&(null===(Lo=null==fe?void 0:fe.linecheckData)||void 0===Lo?void 0:Lo.length)>0&&"global/coverage-check"===(null===(Bo=null===(Io=null===(No=null==fe?void 0:fe.linecheckData)||void 0===No?void 0:No[0])||void 0===Io?void 0:Io.reference)||void 0===Bo?void 0:Bo.default_full_slug),flexUpgradeFreePopup:null===(jo=null===(Oo=null==fe?void 0:fe.flexUpgradeFreePopup)||void 0===Oo?void 0:Oo.reference)||void 0===jo?void 0:jo.content,content:ae,deviceUltimateBundle:Ve,forceDisabled:Boolean(null===(Uo=null===(Ao=null==Vt?void 0:Vt[0])||void 0===Ao?void 0:Ao.rewards)||void 0===Uo?void 0:Uo.notEligibileReason),notEligibileReason:null===(Fo=null===(Vo=null==Vt?void 0:Vt[0])||void 0===Vo?void 0:Vo.rewards)||void 0===Fo?void 0:Fo.notEligibileReason})),!Re&&(null===(Mo=null==ce?void 0:ce.addSmartPhone)||void 0===Mo?void 0:Mo.length)>0&&!(null==Ne?void 0:Ne.isDeviceFlow)&&o.createElement("div",{style:{textAlign:"center"}},(null==ce?void 0:ce.swapButton)?(null==ce?void 0:ce.ctaLabel)&&o.createElement("div",{style:{padding:"16px 0"}},o.createElement("button",{className:"primarybutton",onClick:()=>D(oi,ce,Vt,"",ae,Ae)},o.createElement("span",{className:r.buttontext},null==ce?void 0:ce.ctaLabel))):!(null==ae?void 0:ae.redirectOnly)&&o.createElement("div",{style:{padding:"12px 0 0 0"}},o.createElement(ie,{content:{buttonType:"Secondary-V1",buttonLabel:(null==ae?void 0:ae.ultimateBundlePromotion)?null==ge?void 0:ge.ultimateBundleLbl:null===(_o=null===(Ro=null==ce?void 0:ce.addSmartPhone)||void 0===Ro?void 0:Ro[0])||void 0===_o?void 0:_o.buttonLabel,buttonIcon:null===(Jo=null===(Go=null==ce?void 0:ce.addSmartPhone)||void 0===Go?void 0:Go[0])||void 0===Jo?void 0:Jo.buttonIcon,buttonAlignment:"left"},wafIdentifier:Ce,style:{width:"100%"},onClick:()=>ke?void Dl(!0):D(oi,ce,Vt,"",ae,Ae)}))),o.createElement("div",{className:r.productcontractduration,id:`contract-section${ue}${pe}`,style:{paddingTop:(null===(qo=null==ce?void 0:ce.addSmartPhone)||void 0===qo?void 0:qo.length)>0&&!(null==Ne?void 0:Ne.isDeviceFlow)&&!(null==ce?void 0:ce.swapButton)&&!(null==ae?void 0:ae.redirectOnly)?"8px":void 0}},(null==oi?void 0:oi.contractDuration)>"1"?B(null===(Ho=null==ge?void 0:ge.minContractDuration)||void 0===Ho?void 0:Ho.substring(1),[null==oi?void 0:oi.contractDuration]):null==ge?void 0:ge.noContractDuration)),o.createElement("div",{style:{textAlign:"center",padding:"4px"}},(null===(Wo=null==bt?void 0:bt.productDetails)||void 0===Wo?void 0:Wo.length)>0&&o.createElement("span",{className:r.productdetailslink,onClick:()=>{var e,o,l;Sl(!Cl),A(V,R,X(Vt,"",M));const t=localStorage.getItem("prospectId"),i=null!==(l=null===(o=null===(e=null===window||void 0===window?void 0:window.location)||void 0===e?void 0:e.pathname)||void 0===o?void 0:o.split("/"))&&void 0!==l?l:[],n=i[i.length-1],d={eventTimestamp:O(),eventType:"PageView",pageType:"ProductDetails",pageLocation:n,targetProduct:Tt};t&&z(gt,d,t)}},null==ge?void 0:ge.productDetailsLink)),Cl&&o.createElement(g,{content:null==bt?void 0:bt.productDetails,showProductDetail:Cl,setShowProductDetail:Sl,constants:ge,showPrice:oi,isMobileFlow:Dt,createCartCall:Dt?Rt:ei,storyContent:ce,isAvailable:It,address:he,flexUpgradeFreePopup:null===(Ko=null===(zo=null==fe?void 0:fe.flexUpgradeFreePopup)||void 0===zo?void 0:zo.reference)||void 0===Ko?void 0:Ko.content})))))),Ve&&Vt&&!(null===(Xo=null===(Qo=null==Vt?void 0:Vt[0])||void 0===Qo?void 0:Qo.eligibility)||void 0===Xo?void 0:Xo.fpb)&&o.createElement("div",{className:r.disabledInfo},o.createElement(c,{content:null==ge?void 0:ge.fpbNotCompatibleText})),Ol&&(ht?o.createElement(s,null):o.createElement(_,{content:null==Xt?void 0:Xt[0],setShowModal:jl,showModal:Ol,constants:ge})),Il&&(null===(Yo=null==fe?void 0:fe.loginData)||void 0===Yo?void 0:Yo.length)>0&&ft&&a(o.createElement(w,{content:null===(Zo=null==fe?void 0:fe.loginData)||void 0===Zo?void 0:Zo[0],closeLogin:()=>{Bl(!1)},metadata:ve,onSuccess:()=>{Bl(!1),ye(),sessionStorage.removeItem("vasPopUp"),nt(!1),ke?Wt():ei()},isProdEnv:Ue}),ft),Vl&&ke&&!Il&&Ql&&o.createElement(H,{modalState:Tl,handler:zt,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(q,{onClose:Mt,content:null===(ll=null===(ol=null===(el=null==fe?void 0:fe.productContainer)||void 0===el?void 0:el[0])||void 0===ol?void 0:ol.p2pBloks)||void 0===ll?void 0:ll[0],prepaid:!1})),ke&&zl&&_l&&Ql&&o.createElement(H,{modalState:Tl,handler:zt,showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px",id:"table-product"},o.createElement(q,{onClose:Mt,content:null===(nl=null===(il=null===(tl=null==fe?void 0:fe.productContainer)||void 0===tl?void 0:tl[0])||void 0===il?void 0:il.p2pBloks)||void 0===nl?void 0:nl[1],prepaid:!0})),(null==Hl?void 0:Hl.length)>1&&ke&&zl&&!_l&&Yl&&o.createElement(H,{modalState:Yl,handler:()=>{Pl(!1),Zl(!Yl)},showFooter:!1,width:"628px",height:"280px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"16px"},o.createElement(Q,{onSubmit:e=>{Zl(!Yl),$l?D(oi,ce,Vt,e,ae,Ae):ei(null==e?void 0:e.msisdn)},exsistingSubscriptionData:Hl,updatedContent:ti})),Al&&(null==fe?void 0:fe.enableLinecheckOverlay)&&!Dt&&(null===(dl=null==fe?void 0:fe.linecheckData)||void 0===dl?void 0:dl.length)>0&&!ke&&"global/new-linecheck-test"===(null===(rl=null===(sl=null===(al=null==fe?void 0:fe.linecheckData)||void 0===al?void 0:al[0])||void 0===sl?void 0:sl.reference)||void 0===rl?void 0:rl.default_full_slug)?o.createElement(G,{content:null===(cl=null==fe?void 0:fe.linecheckData)||void 0===cl?void 0:cl[0],onSuccess:Qt,showModal:Al,setShowModal:Ul,productName:null==bt?void 0:bt.productName,productId:null==bt?void 0:bt.productId}):Al&&(null==fe?void 0:fe.enableLinecheckOverlay)&&!Dt&&(null===(vl=null==fe?void 0:fe.linecheckData)||void 0===vl?void 0:vl.length)>0&&!ke&&"global/coverage-check"===(null===(pl=null===(ml=null===(ul=null==fe?void 0:fe.linecheckData)||void 0===ul?void 0:ul[0])||void 0===ml?void 0:ml.reference)||void 0===pl?void 0:pl.default_full_slug)?o.createElement(Y,{content:null===(gl=null==fe?void 0:fe.linecheckData)||void 0===gl?void 0:gl[0].reference.content.body[0],overlayIsOpen:!0,externalHandleModal:Ul,productName:null==bt?void 0:bt.productName,showModal:Al,setShowModal:Ul,onSuccess:()=>{let e="undefined"!=typeof window&&localStorage.getItem("lineCheckResponse");be=e&&(null===JSON||void 0===JSON?void 0:JSON.parse(e)),he="undefined"!=typeof window&&b.get("chAddressJson"),"function"==typeof Ee&&Ee()},onCreateCart:Qt,lineCheckOnClear:je,productId:null==bt?void 0:bt.productId}):null,Ml&&Dt&&(null===(fl=null==ce?void 0:ce.benefitsValidate)||void 0===fl?void 0:fl.length)>0&&o.createElement(J,{content:null===(hl=null==ce?void 0:ce.benefitsValidate)||void 0===hl?void 0:hl[0],loginContent:null===(bl=null==fe?void 0:fe.loginData)||void 0===bl?void 0:bl[0],metadata:ve,createCartCall:ei,fetchOfferData:Pe,basicConfigUrl:Ce,selectedExistingOption:Se,setShowBenefit:Rl,setLoginSuccess:ye,isProdEnv:Ue}),lt&&o.createElement(H,{modalState:lt,handler:Kt,showFooter:!1,width:"mobile"===Lt?"":"tablet"===Lt?"700px":"990px",fixedWidth:"mobile"===Lt?"":"tablet"===Lt?"700px":"990px",height:"845px",backgroundColor:"#f7f6f5",noCloseButton:!1,backDrop:!0,bodyPadding:"24px"},o.createElement(oe,{content:null===(El=null==fe?void 0:fe.optionsPopup)||void 0===El?void 0:El[0],addOptionsCallBack:e=>{rt(!0),at(!0),Ft(e)},metadata:ve,constants:ge,mainContent:fe,preSelectedOptions:[],optionsResponse:ct,updateResponseList:vt,showPrice:oi,productData:bt,offeringData:se,uniqueId:re,deviceFlow:Ne})))};export{ae as default};
|
|
2
2
|
//# sourceMappingURL=StaticProduct.js.map
|