@sunrise-upc/mobile-prod-card 11.12.6 → 11.12.7
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.
|
@@ -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,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};
|
|
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.notEligibleReason),notEligibileReason:null===(Fo=null===(Vo=null==Vt?void 0:Vt[0])||void 0===Vo?void 0:Vo.rewards)||void 0===Fo?void 0:Fo.notEligibleReason})),!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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticProduct.js","sources":["../../../../src/components/StaticLineTable/StaticProduct.tsx"],"sourcesContent":["import React, { FC, useContext, useEffect, useRef, useState } from 'react';\r\nimport Dotloader from '../Dotloader/Dotloader';\r\nimport { createPortal } from 'react-dom';\r\nimport SkeletonLoader from '../SkeletonLoader/SkeletonLoader';\r\nimport Styles from './StaticLineTable.module.scss';\r\nimport RichText from '../richtext';\r\nimport StaticProductEntitlement from './StaticProductEntitlement';\r\nimport StaticBenefit from './StaticBenefit';\r\nimport DynamicPriceSection from './DynamicPriceSection';\r\nimport CheckoutButton from './CheckoutButton';\r\nimport StaticProductDetails from './StaticProductDetails';\r\nimport { StaticProductSchema } from './StaticProductDatatypes';\r\nimport {\r\n AssetPathPropConfig,\r\n LineTableBasicPropConfig\r\n} from '../../services/LineTableBasicPropConfig';\r\nimport Cookies from 'js-cookie';\r\nimport { LoginBasicPropConfig } from '../../services/LoginBasicPropConfig';\r\nimport LoginModalV2 from '../login/LoginModalV2';\r\nimport {\r\n checkGiftOrCashback,\r\n combineWithSmartPhone,\r\n combineWithVasOptions,\r\n fetchPrice,\r\n fetchServiceOptions,\r\n findHeight,\r\n isTimerActive,\r\n getTimeUntilNextTimerEvent,\r\n staticCreateCart\r\n} from './Product.utils';\r\nimport GiftConfigV2 from '../ProductDetailsV3/GiftConfigV2';\r\nimport ChooseGiftV2 from '../ProductDetailsV3/ChooseGiftV2';\r\nimport { replacePlaceholder, viewport, getUtcTimestamp } from '../../utils/utils';\r\nimport StaticProductCashback from './StaticProductCashback';\r\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\r\nimport {\r\n CTABUTTONCLICK,\r\n DOWNLOADPRODUCT,\r\n EXISTINGCUSTOMER,\r\n GAEVENT,\r\n LINETABLE\r\n} from '../../Analytics/AnalyticsConstants';\r\nimport TVChannelModal from './TVChannelModal';\r\nimport LinecheckModal from '../LineCheckV3/LinecheckModal';\r\nimport BenefitsValidateWrapper from '../BenefitWrapper/BenefitsValidateWrapper';\r\nimport PreToPostSubsPopup from '../PretoPost/PreToPostSubsPopup';\r\nimport GenericModal from '../LineCheckV3/GenericModal';\r\nimport {\r\n fetchSubscriptionData,\r\n trackPegaEvents,\r\n validateP2P\r\n} from '../../services/LineTableService';\r\nimport ExsistingSubscriptionModal from './ExsistingSubscriptionModal';\r\nimport { getEcomCartInfo } from '../../models/Analytics/items';\r\nimport CoverageCheckModal from '../NewLineCheck/CoverageCheckModal';\r\n\r\nimport { API_BASE_BASEPOINT } from '../../services/api-constants';\r\nimport { AppContext } from './StaticLineTableStore/StaticLineTableProvider';\r\nimport OttServiceOptionsSmallPopup from './OttServiceOptions/OttServiceOptionsSmallPopup';\r\nimport StaticExclusiveBenefit from './StaticExclusiveBenefit';\r\n// US_312953\r\nimport UserLoggedPricesToggle from '../UserLoggedPricesToggle/UserLoggedPricesToggle';\r\nimport FalconButtonV2 from '../FalconButtonV2/FalconButtonV2';\r\nimport { ONE_ECOMMERCE_INTERNET_SUMMARY } from '../../utils/constants';\r\nimport StaticLineTabelTimer from './StaticLineTabelTimer/StaticLineTabelTimer';\r\n\r\nconst StaticProduct: FC<StaticProductSchema> = ({\r\n content,\r\n offeringData,\r\n uniqueId,\r\n storyContent,\r\n metadata,\r\n tabIndex,\r\n cardsLength,\r\n indexKey,\r\n constants,\r\n mainContent,\r\n address,\r\n eligibleBundle,\r\n linecheckSuccessCallBack,\r\n selectedOption,\r\n fetchOfferData,\r\n basicConfigUrl,\r\n selectedExistingOption,\r\n setLoginSuccess,\r\n enableP2P,\r\n lineCheckCallBack,\r\n loginSuccess,\r\n setToggleState,\r\n toggleState,\r\n noTabs,\r\n deviceFlow,\r\n deviceFlowCallBack,\r\n selectedRP,\r\n continueCart,\r\n lineCheckOnClear,\r\n pegaIntegration,\r\n isProdEnv,\r\n deviceUltimateBundle,\r\n //US_31295\r\n toggleContent,\r\n pricesToggleState,\r\n isShogunFlow,\r\n shogunToken\r\n}) => {\r\n const [showLoader, setShowLoader] = useState<boolean>(false);\r\n const [showProductDetail, setShowProductDetail] = useState(false);\r\n const [showGiftOrCashback, setShowGiftOrCashback] = useState({\r\n showGift: false,\r\n cashbackAvailable: false\r\n });\r\n const [modalClick, updateModalClick] = useState(true);\r\n const [combine, setCombine] = useState(false);\r\n const [giftItem, setGiftItem] = useState<any>([]);\r\n const [showLogin, setShowLogin] = useState<boolean>(false);\r\n const [showOptions, setShowOptions] = useState<boolean>(false);\r\n const [showLinecheck, setShowLinecheck] = useState<boolean>(false);\r\n const [showP2P, setShowP2P] = useState<boolean>(false);\r\n const [showBenefit, setShowBenefit] = useState<boolean>(false);\r\n const [subscriptionFailure, setSubscriptionFailure] = useState(false);\r\n const endpoint = `${basicConfigUrl}inf/customer-management/subscriptions`;\r\n const validateEndpoint = `${basicConfigUrl}inf/resource-management/msisdns/pretopost/validation`;\r\n const [userSubscriptionData, setUserSubscriptionData] = useState<any>([]);\r\n const [afterLogin, setAfterLogin] = useState<boolean>(false);\r\n const [popUPClick, setModalClick] = useState<boolean>(false);\r\n const [p2pModal, setP2pModal] = useState<boolean>(false);\r\n const [tvOptions, setTvOptions] = useState<any[] | undefined>([]);\r\n const [displayTvOptionsPopUp, setDisplayTvOptionsPopUp] = useState<boolean>(false);\r\n const [alreadyShowedTvOptionsPopUp, setAlreadyShowedTvOptionsPopUp] = useState<boolean>(false);\r\n const [tvOptionsPopUpChanged, setTvOptionsPopUpChanged] = useState<boolean>(false);\r\n const [tvOptionsPopUpAddToCart, setTvOptionsPopUpAddToCart] = useState<boolean>(false);\r\n const [responseList, setResponseList] = useState([]);\r\n const [timerSpaceHeight, setTimerSpaceHeight] = useState(0);\r\n const timerContainerRef = useRef<HTMLDivElement | null>(null);\r\n const pegaEndpoint = `${basicConfigUrl}inf/${API_BASE_BASEPOINT.CUSTOMER}`;\r\n\r\n /*the portal position for the the dotloader*/\r\n const portalPosition: any =\r\n typeof window !== undefined && document.getElementById('static-linetable');\r\n const isSkeletonLoading = Object.keys(content)?.length === 0;\r\n const productData = content?.products?.[0]?.reference?.content?.product?.[0];\r\n const promotionData = content?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n const timerContent = content?.timer?.[0];\r\n const isCounterEnabled = timerContent?.enableCounter;\r\n const [timerIsActive, setTimerIsActive] = useState(\r\n isCounterEnabled && timerContent?.startTime && timerContent?.endTime\r\n ? isTimerActive(timerContent.startTime, timerContent.endTime)\r\n : false\r\n );\r\n const showHighlightText = Boolean(\r\n content?.highlightText && pricesToggleState !== true && !timerIsActive\r\n );\r\n const showPromoContainer = Boolean(\r\n promotionData?.displayText &&\r\n !content?.notShowPromotionLabel &&\r\n pricesToggleState !== true &&\r\n !timerIsActive\r\n );\r\n const id = productData?.productId;\r\n const cartEndPoint = LineTableBasicPropConfig?.getInstance()?.getCartUrl();\r\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n const isMobileFlow = storyContent?.pageType === 'MOBILE';\r\n const viewPortType = viewport();\r\n const context = useContext(AppContext);\r\n let isAvailable: boolean | undefined = undefined;\r\n isAvailable = address && eligibleBundle?.eligibleBundle?.includes(id);\r\n const enableTVStreamingOptionsPopUp = content?.enableTVStreamingOptionsPopUp;\r\n const enableTVStreamingOptionsStepper = content?.enableTVStreamingOptionsStepper;\r\n const disableDiscountedPriceToggle = content?.disableDiscountedPriceToggle;\r\n const skipAccessoriesPage = content?.skipAccessoriesPage;\r\n\r\n LoginBasicPropConfig.create({ baseURL: basicConfigUrl ?? '' });\r\n\r\n //sunrise auth data\r\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\r\n AuthData = AuthData && JSON.parse(AuthData);\r\n //offer data wrt to tab\r\n const uniqueProductData: any = (offeringData?.[uniqueId] || []).filter(\r\n (product: any) => product?.id === id\r\n );\r\n\r\n const setTvOptionsData = (options: any) => {\r\n setTvOptions(options);\r\n };\r\n\r\n const handleP2PClick = () => {\r\n setShowLogin(true);\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n };\r\n\r\n //creacart function or login pop up\r\n const createCart = () => {\r\n setShowProductDetail(false);\r\n if (enableP2P && AuthData == undefined) {\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n } else if (enableP2P && AuthData?.siteId) {\r\n fetchPrepaidData();\r\n } else if (selectedOption === EXISTINGCUSTOMER && selectedExistingOption?.length > 0) {\r\n setShowBenefit(true);\r\n } else {\r\n //US_31295\r\n const setLoginCookie =\r\n (mainContent?.enableExistingCustomer && AuthData == undefined) ||\r\n (!AuthData && pricesToggleState === true && toggleContent?.enableLoggedInPrice)\r\n ? true\r\n : false;\r\n setLoginCookie ? setShowLogin(true) : createCartCall();\r\n }\r\n if (pegaIntegration) {\r\n const prospectId = localStorage.getItem('prospectId');\r\n const url = window?.location?.pathname?.split('/') ?? [];\r\n const pathname = url[url.length - 1];\r\n const payload = {\r\n eventTimestamp: getUtcTimestamp(),\r\n eventType: 'PageView',\r\n pageType: 'CartCreated',\r\n pageLocation: pathname,\r\n // deviceType: viewPortType,#TODO - fix this values, isn't working for tablet\r\n targetProduct: id\r\n };\r\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\r\n }\r\n };\r\n\r\n //setting the selected gift from choose gift section\r\n const selectedGiftItem = (item: any) => {\r\n const itemValue = giftItem.findIndex((gift: any) => item?.giftGroupId === gift?.giftGroupId);\r\n const temp = giftItem;\r\n if (itemValue === -1) temp.push(item);\r\n else temp[itemValue] = item;\r\n setGiftItem([...temp]);\r\n };\r\n //queryParam for MySunrise P2P flow\r\n const params = new URLSearchParams(window?.location?.search);\r\n const queryParams = params?.get('selectedMsisdn');\r\n const validateNumberFcn = (value: any) => {\r\n // once all the prepaid numbers are validated\r\n if (value?.length === 1) {\r\n combine\r\n ? combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n value?.[0],\r\n content,\r\n pegaIntegration\r\n )\r\n : createCartCall(value?.[0]?.msisdn);\r\n setSubscriptionFailure(false);\r\n } else if (value?.length > 1) {\r\n setUserSubscriptionData(value);\r\n setP2pModal(!p2pModal);\r\n setSubscriptionFailure(false);\r\n } else {\r\n setModalClick(!popUPClick);\r\n setSubscriptionFailure(true);\r\n updateModalClick(true);\r\n setShowLoader(false);\r\n }\r\n };\r\n const validateFcn = async (value: any, validPrepaidNumbers: any) => {\r\n await validateP2P(value?.msisdn, validateEndpoint)\r\n .then((res) => {\r\n if (res) {\r\n validPrepaidNumbers.push(value);\r\n }\r\n })\r\n .catch((e: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log('error', e);\r\n });\r\n };\r\n //prepaid subscription api and validating those for conversion\r\n const fetchPrepaidData = () => {\r\n setShowLoader(true);\r\n try {\r\n fetchSubscriptionData('PREPAID', endpoint)\r\n ?.then(async (resp: any) => {\r\n if (resp?.subscriptionData == 204) {\r\n setModalClick(!popUPClick);\r\n setSubscriptionFailure(true);\r\n updateModalClick(true);\r\n setShowLoader(false);\r\n } else {\r\n const responseData = resp?.subscriptionData;\r\n const queryData = responseData.find((entry: any) => entry.msisdn === queryParams);\r\n if (responseData) {\r\n const validPrepaidNumbers: any = [];\r\n if (queryParams) {\r\n await validateFcn(queryData, validPrepaidNumbers);\r\n validateNumberFcn(validPrepaidNumbers);\r\n } else {\r\n await Promise.all(\r\n responseData?.map(async (data: any) => {\r\n await validateFcn(data, validPrepaidNumbers);\r\n })\r\n ).then((succ) => {\r\n validateNumberFcn(validPrepaidNumbers);\r\n });\r\n }\r\n }\r\n }\r\n })\r\n .catch((error: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log('error--->', error);\r\n setShowLoader(false);\r\n });\r\n } catch (err: any) {\r\n // eslint-disable-next-line no-console\r\n console.log('error--->', err);\r\n setShowLoader(false);\r\n }\r\n setAfterLogin(true);\r\n };\r\n\r\n // on login success\r\n const onLoginSuccess = () => {\r\n setShowLogin(false);\r\n setLoginSuccess();\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n if (enableP2P) {\r\n fetchPrepaidData();\r\n } else {\r\n createCartCall();\r\n }\r\n };\r\n\r\n // to close the pop up of P2P\r\n const handleClick = () => {\r\n setModalClick(!modalClick);\r\n setShowP2P(false);\r\n };\r\n\r\n // to close the pop up of P2P for success prepiad\r\n const handlePrepaidClick = () => {\r\n setShowLoader(false);\r\n setP2pModal(!p2pModal);\r\n };\r\n\r\n const closeTVOptionsModal = (event?: any) => {\r\n setDisplayTvOptionsPopUp(false);\r\n\r\n if (event) {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n headline: 'VAS POPUP CLOSE'\r\n });\r\n }\r\n };\r\n\r\n //once linecheck success set linecheck pop up false and proceed to checkout section\r\n const linecheckSuccess = () => {\r\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\r\n eligibleBundle = bundle && JSON?.parse(bundle);\r\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\r\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\r\n };\r\n\r\n //once linecheck success set linecheck pop up false and proceed to checkout section\r\n const linecheckSuccessAndCart = () => {\r\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\r\n eligibleBundle = bundle && JSON?.parse(bundle);\r\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\r\n setShowLinecheck(!showLinecheck);\r\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\r\n createCartCall();\r\n };\r\n\r\n //service Option set for TV\r\n\r\n const serviceOption = fetchServiceOptions(productData?.bloks, isMobileFlow);\r\n\r\n const radioValue = serviceOption?.[0]?.tvProductId;\r\n\r\n const createCartCallAction = (msisdn?: string) => {\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n\r\n // Shogun / rewards (loyalty) flow: attach the pointsBurnt note so the\r\n // backend can settle the loyalty burn during cart creation. The value\r\n // comes from the offer response under `rewards.points`.\r\n const rewardsInfo = isShogunFlow\r\n ? { pointsBurnt: uniqueProductData?.[0]?.rewards?.points, rewardOfferId: uniqueProductData?.[0]?.rewards?.offerId, gloxTokenId: shogunToken }\r\n : undefined;\r\n\r\n // US 317400- vas options pop tracking\r\n if (uniqueProductData && uniqueProductData[0]) {\r\n uniqueProductData[0].fromPopup = tvOptionsPopUpAddToCart;\r\n }\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n\r\n staticCreateCart(\r\n setShowLoader,\r\n cartEndPoint,\r\n giftItem,\r\n uniqueProductData,\r\n mainContent,\r\n showPrice,\r\n isMobileFlow,\r\n radioValue,\r\n eligibleBundle,\r\n address,\r\n setShowLinecheck,\r\n showLinecheck,\r\n lineCheckCallBack,\r\n enableP2P,\r\n queryParams ?? msisdn,\r\n content,\r\n tvOptions,\r\n discountRef,\r\n discountVersion,\r\n rewardsInfo\r\n );\r\n };\r\n //cart creation\r\n const createCartCall = (msisdn?: string) => {\r\n setTvOptionsPopUpAddToCart(false);\r\n setShowProductDetail(false);\r\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\r\n const AuthDataNew = AuthData && JSON.parse(AuthData);\r\n const setLoginCookie =\r\n mainContent?.enableExistingCustomer && AuthDataNew == undefined ? true : false;\r\n sessionStorage.removeItem(ONE_ECOMMERCE_INTERNET_SUMMARY);\r\n if (mainContent?.linecheckData?.length > 0 && !isMobileFlow && !isAvailable) {\r\n // setShowLinecheck(true);\r\n const lineCheckElement = document.getElementById('linecheck');\r\n if (lineCheckElement) {\r\n lineCheckCallBack();\r\n }\r\n return;\r\n } else if (\r\n isAvailable &&\r\n !isMobileFlow &&\r\n mainContent?.loginData?.length > 0 &&\r\n setLoginCookie\r\n ) {\r\n setShowLogin(true);\r\n } else if (enableTVStreamingOptionsStepper && uniqueProductData[0]?.isBundle) {\r\n let recommendAccessory = false;\r\n\r\n if (!skipAccessoriesPage) {\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 }\r\n\r\n combineWithVasOptions(\r\n showPrice,\r\n uniqueProductData,\r\n content,\r\n pegaIntegration,\r\n productData?.productName,\r\n recommendAccessory\r\n );\r\n createCartCallAction(msisdn);\r\n } else if (\r\n enableTVStreamingOptionsPopUp &&\r\n uniqueProductData[0]?.isBundle &&\r\n !alreadyShowedTvOptionsPopUp\r\n ) {\r\n setDisplayTvOptionsPopUp(true);\r\n setAlreadyShowedTvOptionsPopUp(true);\r\n updateVasPopUp('true');\r\n\r\n window.addEventListener('beforeunload', function (event) {\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n });\r\n } else {\r\n //for mobile p2p\r\n if (enableP2P) {\r\n setShowLoader(true);\r\n }\r\n createCartCallAction(msisdn);\r\n }\r\n };\r\n\r\n //cart creation callback For device first flow\r\n const deviceFirstFlowCreateCartCallback = (msisdn?: string) => {\r\n setShowProductDetail(false);\r\n const msisdnn = queryParams ?? msisdn;\r\n const deviceFirstFlowCartObj = {\r\n setShowLoader,\r\n cartEndPoint,\r\n giftItem,\r\n uniqueProductData,\r\n mainContent,\r\n showPrice,\r\n isMobileFlow,\r\n eligibleBundle,\r\n address,\r\n setShowLinecheck,\r\n showLinecheck,\r\n lineCheckCallBack,\r\n enableP2P,\r\n msisdnn,\r\n content,\r\n selectedRP,\r\n continueCart\r\n };\r\n deviceFlowCallBack(deviceFirstFlowCartObj);\r\n };\r\n\r\n // after 1 prepaid numbers selection from existingp2pmodal\r\n const onSelectSubscriptionPreToPost = (value: any) => {\r\n setP2pModal(!p2pModal);\r\n combine\r\n ? combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n value,\r\n content,\r\n pegaIntegration\r\n )\r\n : createCartCall(value?.msisdn);\r\n };\r\n //show price calculation\r\n const showPrice = fetchPrice(\r\n uniqueProductData,\r\n isMobileFlow,\r\n mainContent?.pageType,\r\n false,\r\n tvOptions,\r\n pegaIntegration\r\n );\r\n\r\n //card height calculation and gift & cashback check on change of offer data\r\n //to calculate the height when the tvOptions is added and removed\r\n useEffect(() => {\r\n setTimeout(() => {\r\n findHeight(tabIndex, cardsLength);\r\n }, 100);\r\n const result = checkGiftOrCashback(\r\n isMobileFlow\r\n ? uniqueProductData\r\n : (uniqueProductData?.[0]?.bundledOffers ?? uniqueProductData)\r\n );\r\n setShowGiftOrCashback({ ...result });\r\n }, [\r\n offeringData,\r\n toggleState,\r\n tvOptions,\r\n timerSpaceHeight,\r\n (toggleState?.TV || toggleState?.gigaSpeed || toggleState?.Netflix) &&\r\n Array.isArray(uniqueProductData) &&\r\n uniqueProductData?.[0]?.bundledOffers?.length === 3\r\n ]);\r\n\r\n //product details pop up\r\n const showDetailsModal = () => {\r\n setShowProductDetail(!showProductDetail);\r\n //Analytics Product Details tracking\r\n let offerData = uniqueProductData;\r\n trackNewDatalayerEvent(GAEVENT, DOWNLOADPRODUCT, getEcomCartInfo(offerData, '', LINETABLE));\r\n const prospectId = localStorage.getItem('prospectId');\r\n const url = window?.location?.pathname?.split('/') ?? [];\r\n const pathname = url[url.length - 1];\r\n const payload = {\r\n eventTimestamp: getUtcTimestamp(),\r\n eventType: 'PageView',\r\n pageType: 'ProductDetails',\r\n pageLocation: pathname,\r\n // deviceType: viewPortType, #TODO - fix this values, isn't working for tablet\r\n targetProduct: id\r\n };\r\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\r\n };\r\n\r\n //TV service option\r\n const showModalPopup = () => {\r\n if (serviceOption?.length > 0 || enableTVStreamingOptionsPopUp) {\r\n setShowOptions(true);\r\n }\r\n };\r\n const updatedContent = mainContent?.productContainer?.[0];\r\n\r\n // set the combine to true for p2p\r\n const combineP2P = () => {\r\n setCombine(true);\r\n };\r\n\r\n // to trigger on click of combinewith smartphone\r\n useEffect(() => {\r\n if (combine) {\r\n if (enableP2P && AuthData == undefined) {\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n } else if (enableP2P && AuthData?.siteId) {\r\n fetchPrepaidData();\r\n }\r\n }\r\n }, [combine]);\r\n\r\n useEffect(() => {\r\n if (context) {\r\n const { store } = context;\r\n if (store?.ottOptionsApi?.length > 0 && responseList?.length === 0) {\r\n setResponseList(store?.ottOptionsApi);\r\n }\r\n }\r\n }, [context]);\r\n\r\n useEffect(() => {\r\n if (!isCounterEnabled || !timerContent?.startTime || !timerContent?.endTime) {\r\n setTimerIsActive(false);\r\n return;\r\n }\r\n\r\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\r\n\r\n const delay = getTimeUntilNextTimerEvent(timerContent.startTime, timerContent.endTime);\r\n if (delay <= 0) return;\r\n\r\n const timeout = setTimeout(() => {\r\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\r\n }, delay);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isCounterEnabled, timerContent?.startTime, timerContent?.endTime]);\r\n\r\n useEffect(() => {\r\n const timerElement = timerContainerRef.current;\r\n if (!timerElement || !content?.timer?.length || !isCounterEnabled) {\r\n setTimerSpaceHeight(0);\r\n return;\r\n }\r\n\r\n const updateTimerSpaceHeight = () => {\r\n setTimerSpaceHeight(timerElement.clientHeight);\r\n };\r\n\r\n updateTimerSpaceHeight();\r\n\r\n if (typeof ResizeObserver === 'undefined') {\r\n return;\r\n }\r\n\r\n const resizeObserver = new ResizeObserver(updateTimerSpaceHeight);\r\n resizeObserver.observe(timerElement);\r\n\r\n return () => {\r\n resizeObserver.disconnect();\r\n };\r\n }, [content?.timer?.length, isCounterEnabled]);\r\n\r\n // to trigger on click tv option pop up closed\r\n useEffect(() => {\r\n if (tvOptionsPopUpChanged) {\r\n closeTVOptionsModal();\r\n setTvOptionsPopUpChanged(true);\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n createCartCallAction();\r\n }\r\n }, [tvOptionsPopUpChanged]);\r\n\r\n //US 314008 - only show vas pop up for first time user clicked order now\r\n useEffect(() => {\r\n const checkVasPopUp = () => {\r\n const vasPopUp = sessionStorage.getItem('vasPopUp');\r\n\r\n setAlreadyShowedTvOptionsPopUp(vasPopUp === 'true');\r\n };\r\n\r\n checkVasPopUp();\r\n\r\n const handleStorageChange = (event: StorageEvent) => {\r\n if (event.storageArea === sessionStorage && event.key === 'vasPopUp') {\r\n checkVasPopUp();\r\n }\r\n // If vasPopUp is removed (deleted)\r\n if (\r\n event.storageArea === sessionStorage &&\r\n event.key === 'vasPopUp' &&\r\n event.newValue === null\r\n ) {\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n }\r\n };\r\n\r\n const handleCustomEvent = () => {\r\n checkVasPopUp();\r\n };\r\n\r\n window.addEventListener('storage', handleStorageChange);\r\n window.addEventListener('vasPopUpChange', handleCustomEvent);\r\n\r\n return () => {\r\n window.removeEventListener('storage', handleStorageChange);\r\n window.removeEventListener('vasPopUpChange', handleCustomEvent);\r\n };\r\n }, []);\r\n\r\n const updateVasPopUp = (value: string) => {\r\n sessionStorage.setItem('vasPopUp', value);\r\n const event = new Event('vasPopUpChange');\r\n window.dispatchEvent(event);\r\n };\r\n\r\n return (\r\n <div>\r\n {showLoader &&\r\n portalPosition &&\r\n createPortal(<Dotloader keyParams='loading' />, portalPosition)}\r\n {isSkeletonLoading && (\r\n <div className='w-75 pb-2'>\r\n <SkeletonLoader />\r\n </div>\r\n )}\r\n {!isSkeletonLoading && eligibleBundle && content && address && !isMobileFlow && (\r\n <div className={Styles.selected}>\r\n <span style={{ paddingBottom: '10px' }}>\r\n {!isAvailable ? (\r\n <span className={Styles.inactiveicon}>\r\n <img\r\n src={`${assetPath}/icons/cross_disabled.svg`}\r\n alt=''\r\n width={24}\r\n height={24}\r\n className={Styles.inactiveicon}\r\n />\r\n <span>{constants?.notSubscriptionTxt}</span>\r\n </span>\r\n ) : (\r\n <span className={Styles.activeicon}>\r\n <img\r\n src={`${assetPath}/icons/lineCheck-success.svg`}\r\n alt=''\r\n width={24}\r\n height={24}\r\n className={Styles.activeicon}\r\n />\r\n <span>{constants?.subscriptionAvalTxt}</span>\r\n </span>\r\n )}\r\n </span>\r\n </div>\r\n )}\r\n\r\n <div\r\n className={`${\r\n !isMobileFlow &&\r\n isAvailable === false &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug !== 'global/coverage-check'\r\n ? Styles.overlay\r\n : ''\r\n }\r\n ${deviceUltimateBundle && !uniqueProductData?.[0]?.eligibility?.fpb ? Styles.disabled : ''}\r\n `}\r\n style={{ flexDirection: 'column' }}\r\n >\r\n <div className={Styles.bundleproductcard}>\r\n <div\r\n id={`timer-section${tabIndex}${indexKey}`}\r\n data-timer-active={timerSpaceHeight > 0 ? 'true' : 'false'}\r\n >\r\n {content?.timer?.length && isCounterEnabled ? (\r\n <div style={{ height: `${timerSpaceHeight}px`, transition: 'height 0.3s ease' }} />\r\n ) : null}\r\n </div>\r\n <div\r\n className={`${Styles.productcontainer} ${\r\n showHighlightText ? Styles.highlightBorder : ''\r\n }`}\r\n >\r\n {showHighlightText && (\r\n <div className={`${Styles.highlightText}`}>{content?.highlightText}</div>\r\n )}\r\n\r\n {showPromoContainer && (\r\n <div\r\n className={`${Styles.promocontainer}`}\r\n style={{\r\n background: promotionData?.bestSellerColor\r\n }}\r\n >\r\n {promotionData?.displayText}\r\n </div>\r\n )}\r\n <div ref={timerContainerRef} className={Styles.timerContainer}>\r\n {content?.timer?.length && isCounterEnabled ? (\r\n <StaticLineTabelTimer\r\n content={content?.timer?.[0]}\r\n hasHighlightText={showHighlightText || showPromoContainer}\r\n onTimerChange={(active) => {\r\n setTimerIsActive(active);\r\n }}\r\n />\r\n ) : null}\r\n </div>\r\n <div\r\n className={`${Styles.detailsection} ${Styles.imageFullWidthSection}`}\r\n id={`detailsectionv3${tabIndex}${indexKey}`}\r\n >\r\n <div className={`${Styles.headersection}`}>\r\n <div className={`${Styles.titlesection}`}>\r\n <div className={`${Styles.productheader}`} id={`titleV3${tabIndex}${indexKey}`}>\r\n {productData?.productName}\r\n </div>\r\n <div>\r\n {productData?.icon?.filename && (\r\n <img\r\n className={`${Styles.imagecontainer}`}\r\n src={productData?.icon?.filename}\r\n height={15}\r\n width={20}\r\n alt='productIcon'\r\n />\r\n )}\r\n </div>\r\n </div>\r\n <div\r\n className={`${Styles.productdescription}`}\r\n id={`descriptionV3${tabIndex}${indexKey}`}\r\n >\r\n <RichText content={productData?.description} />\r\n </div>\r\n {/* Image(map) */}\r\n <div className={`${Styles.images}`}>\r\n {productData?.img?.filename && (\r\n <img\r\n className={`${Styles.imagespace} ${\r\n content?.highlightText && Styles.borderimage\r\n }`}\r\n alt='cardimg'\r\n src={`${productData?.img?.filename}/m/`}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n {/* product entitlement section */}\r\n <div\r\n className={`${Styles.productconfig}`}\r\n id={`product-configv3${tabIndex}${indexKey}`}\r\n >\r\n {isSkeletonLoading ? (\r\n <>\r\n <div className={Styles.space}></div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\r\n <div className={Styles.space}></div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\r\n </>\r\n ) : (\r\n <div>\r\n {productData?.bloks &&\r\n productData?.bloks?.map((entitle: any, index: number) => {\r\n return (\r\n <StaticProductEntitlement\r\n content={entitle}\r\n indexKey={index}\r\n constants={constants}\r\n key={index}\r\n showModalPopup={showModalPopup}\r\n setToggleState={setToggleState}\r\n toggleState={toggleState}\r\n noTabs={noTabs}\r\n mainContent={mainContent}\r\n enableTVStreamingOptions={content?.enableTVStreamingOptions}\r\n metadata={metadata}\r\n setTvOptionsData={setTvOptionsData}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {/* benefits section */}\r\n <div\r\n className={`${Styles.detailsection}`}\r\n id={`benefits-price-section${tabIndex}${indexKey}`}\r\n >\r\n <div id={`exclusive-benefits-section${tabIndex}${indexKey}`}>\r\n {productData?.extraBenefits?.length > 0 && (\r\n <StaticExclusiveBenefit content={productData?.extraBenefits?.[0]} />\r\n )}\r\n </div>\r\n <div\r\n className={`${Styles.benefitssection}`}\r\n id={`benefits-section${tabIndex}${indexKey}`}\r\n >\r\n {productData?.benefits?.length > 0 && (\r\n <StaticBenefit\r\n content={productData?.benefits}\r\n benefitData={showPrice}\r\n constants={constants}\r\n //US_31295\r\n pricesToggleState={pricesToggleState}\r\n togglePriceLabel={toggleContent?.togglePriceLabel}\r\n />\r\n )}\r\n </div>\r\n <br />\r\n\r\n {/* gift or cashback section */}\r\n <div className={`${Styles.giftsection}`} id={`gift-section${tabIndex}${indexKey}`}>\r\n {showGiftOrCashback?.showGift &&\r\n promotionData?.singleGift?.map((item: any, index: number) => {\r\n return <GiftConfigV2 content={item} key={index} />;\r\n })}\r\n {showGiftOrCashback?.showGift &&\r\n promotionData?.giftConfig?.map((item: any, index: number) => {\r\n return (\r\n <ChooseGiftV2\r\n content={item}\r\n key={index}\r\n selectedGiftItem={selectedGiftItem}\r\n parentPoType={isMobileFlow ? 'MOBILE' : 'HOME'}\r\n />\r\n );\r\n })}\r\n <div\r\n className={`${Styles.giftsection}`}\r\n id={`cashback-section${tabIndex}${indexKey}`}\r\n >\r\n <StaticProductCashback\r\n uniqueProductData={uniqueProductData}\r\n mainContent={mainContent}\r\n />\r\n </div>\r\n </div>\r\n {/* price section */}\r\n <div className={`${Styles.ordersection}`} id={`order-section${tabIndex}${indexKey}`}>\r\n {showPrice?.base === '' ? (\r\n <div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} />\r\n </div>\r\n ) : (\r\n <div id={`price-section${tabIndex}${indexKey}`}>\r\n <DynamicPriceSection\r\n priceCollection={showPrice}\r\n constants={constants}\r\n promoText={productData?.promoText}\r\n deviceFlow={deviceFlow}\r\n content={content}\r\n offeringData={offeringData}\r\n uniqueId={uniqueId}\r\n />\r\n </div>\r\n )}\r\n\r\n {/* US_312953 */}\r\n {!isShogunFlow && (\r\n <div\r\n className={`${Styles.discountedpricetoggleSection}`}\r\n id={`discountedpricetoggle-section${tabIndex}${indexKey}`}\r\n >\r\n {!disableDiscountedPriceToggle && toggleContent?.togglePosition === 'INLINE' ? (\r\n <UserLoggedPricesToggle\r\n content={productData}\r\n index={indexKey}\r\n lineTable={true}\r\n toggleContent={toggleContent}\r\n />\r\n ) : null}\r\n </div>\r\n )}\r\n {/*END US_312953 */}\r\n\r\n {/* Longterm text */}\r\n {enableP2P && constants?.P2PDiscountLabel && (\r\n <div className={Styles.longterm}>{constants?.P2PDiscountLabel}</div>\r\n )}\r\n {/* proceed to checkout section */}\r\n {isSkeletonLoading ? (\r\n <>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={2} />\r\n </>\r\n ) : (\r\n <div className={`${storyContent?.swapButton && Styles.swapButton}`}>\r\n <div style={{ padding: '16px 0 0 0' }}>\r\n <CheckoutButton\r\n isMobileFlow={isMobileFlow}\r\n createCartCall={\r\n deviceFlow?.isDeviceFlow\r\n ? deviceFirstFlowCreateCartCallback\r\n : isMobileFlow\r\n ? createCart\r\n : createCartCall\r\n }\r\n constants={constants}\r\n storyContent={storyContent}\r\n showPrice={showPrice}\r\n isAvailable={isAvailable}\r\n address={address}\r\n uniqueProductBenefits={uniqueProductData?.[0]}\r\n alwaysActive={\r\n !isAvailable &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/coverage-check'\r\n }\r\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\r\n content={content}\r\n deviceUltimateBundle={deviceUltimateBundle}\r\n forceDisabled={Boolean(uniqueProductData?.[0]?.rewards?.notEligibileReason)}\r\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibileReason}\r\n />\r\n </div>\r\n {/* combined with smartphone section */}\r\n {!isShogunFlow && storyContent?.addSmartPhone?.length > 0 && !deviceFlow?.isDeviceFlow && (\r\n <div style={{ textAlign: 'center' }}>\r\n {storyContent?.swapButton\r\n ? storyContent?.ctaLabel && (\r\n <div style={{ padding: '16px 0' }}>\r\n <button\r\n className={`primarybutton`}\r\n onClick={() =>\r\n combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n '',\r\n content,\r\n pegaIntegration\r\n )\r\n }\r\n >\r\n <span className={Styles.buttontext}>\r\n {storyContent?.ctaLabel}\r\n </span>\r\n </button>\r\n </div>\r\n )\r\n : !content?.redirectOnly && (\r\n <div style={{ padding: '12px 0 0 0' }}>\r\n <FalconButtonV2\r\n content={{\r\n buttonType: 'Secondary-V1',\r\n buttonLabel: content?.ultimateBundlePromotion\r\n ? constants?.ultimateBundleLbl\r\n : storyContent?.addSmartPhone?.[0]?.buttonLabel,\r\n buttonIcon: storyContent?.addSmartPhone?.[0]?.buttonIcon,\r\n buttonAlignment: 'left'\r\n }}\r\n wafIdentifier={basicConfigUrl}\r\n style={{ width: '100%' }}\r\n onClick={() =>\r\n enableP2P\r\n ? combineP2P()\r\n : combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n '',\r\n content,\r\n pegaIntegration\r\n )\r\n }\r\n />\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className={Styles.productcontractduration}\r\n id={`contract-section${tabIndex}${indexKey}`}\r\n style={{\r\n paddingTop:\r\n storyContent?.addSmartPhone?.length > 0 &&\r\n !deviceFlow?.isDeviceFlow &&\r\n !storyContent?.swapButton &&\r\n !content?.redirectOnly\r\n ? '8px'\r\n : undefined\r\n }}\r\n >\r\n {showPrice?.contractDuration > '1'\r\n ? replacePlaceholder(constants?.minContractDuration?.substring(1), [\r\n showPrice?.contractDuration\r\n ])\r\n : constants?.noContractDuration}\r\n </div>\r\n </div>\r\n )}\r\n {/* product details section */}\r\n <div style={{ textAlign: 'center', padding: '4px' }}>\r\n {productData?.productDetails?.length > 0 && (\r\n <span className={Styles.productdetailslink} onClick={showDetailsModal}>\r\n {constants?.productDetailsLink}\r\n </span>\r\n )}\r\n </div>\r\n {showProductDetail && (\r\n <StaticProductDetails\r\n content={productData?.productDetails}\r\n showProductDetail={showProductDetail}\r\n setShowProductDetail={setShowProductDetail}\r\n constants={constants}\r\n showPrice={showPrice}\r\n isMobileFlow={isMobileFlow}\r\n createCartCall={isMobileFlow ? createCart : createCartCall}\r\n storyContent={storyContent}\r\n isAvailable={isAvailable}\r\n address={address}\r\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {deviceUltimateBundle && uniqueProductData && !uniqueProductData?.[0]?.eligibility?.fpb && (\r\n <div className={Styles.disabledInfo}>\r\n <RichText content={constants?.fpbNotCompatibleText} />\r\n </div>\r\n )}\r\n\r\n {showOptions &&\r\n (isSkeletonLoading ? (\r\n <SkeletonLoader />\r\n ) : (\r\n <TVChannelModal\r\n content={serviceOption?.[0]}\r\n setShowModal={setShowOptions}\r\n showModal={showOptions}\r\n constants={constants}\r\n />\r\n ))}\r\n\r\n {/* login pop up existing customer benefit without login on click of proceed to checkout */}\r\n {showLogin &&\r\n mainContent?.loginData?.length > 0 &&\r\n portalPosition &&\r\n createPortal(\r\n <LoginModalV2\r\n content={mainContent?.loginData?.[0]}\r\n closeLogin={() => {\r\n setShowLogin(false);\r\n }}\r\n metadata={metadata}\r\n onSuccess={onLoginSuccess}\r\n isProdEnv={isProdEnv}\r\n />,\r\n portalPosition\r\n )}\r\n\r\n {/* P2P flow first screen to select login */}\r\n {showP2P && enableP2P && !showLogin && popUPClick && (\r\n <GenericModal\r\n modalState={modalClick}\r\n handler={handleClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <PreToPostSubsPopup\r\n onClose={handleP2PClick}\r\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[0]}\r\n prepaid={false}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* P2P flow error screen if the customer is not prepaid customer */}\r\n {enableP2P && afterLogin && subscriptionFailure && popUPClick && (\r\n <GenericModal\r\n modalState={modalClick}\r\n handler={handleClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n id='table-product'\r\n >\r\n <PreToPostSubsPopup\r\n onClose={handleP2PClick}\r\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[1]}\r\n prepaid={true}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* p2p flow after successfully logged in prepaid customer to select a number for P2P*/}\r\n {userSubscriptionData?.length > 1 &&\r\n enableP2P &&\r\n afterLogin &&\r\n !subscriptionFailure &&\r\n p2pModal && (\r\n <GenericModal\r\n modalState={p2pModal}\r\n handler={handlePrepaidClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <ExsistingSubscriptionModal\r\n onSubmit={onSelectSubscriptionPreToPost}\r\n exsistingSubscriptionData={userSubscriptionData}\r\n updatedContent={updatedContent}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* lincheck modal */}\r\n {showLinecheck &&\r\n mainContent?.enableLinecheckOverlay &&\r\n !isMobileFlow &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n !enableP2P &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/new-linecheck-test' ? (\r\n <LinecheckModal\r\n content={mainContent?.linecheckData?.[0]}\r\n onSuccess={linecheckSuccessAndCart}\r\n showModal={showLinecheck}\r\n setShowModal={setShowLinecheck}\r\n productName={productData?.productName}\r\n productId={productData?.productId}\r\n />\r\n ) : showLinecheck &&\r\n mainContent?.enableLinecheckOverlay &&\r\n !isMobileFlow &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n !enableP2P &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/coverage-check' ? (\r\n <CoverageCheckModal\r\n content={mainContent?.linecheckData?.[0].reference.content.body[0]}\r\n overlayIsOpen={true}\r\n externalHandleModal={setShowLinecheck}\r\n productName={productData?.productName}\r\n showModal={showLinecheck}\r\n setShowModal={setShowLinecheck}\r\n onSuccess={linecheckSuccess}\r\n onCreateCart={linecheckSuccessAndCart}\r\n lineCheckOnClear={lineCheckOnClear}\r\n productId={productData?.productId}\r\n />\r\n ) : null}\r\n {/* benefit validate */}\r\n {showBenefit && isMobileFlow && storyContent?.benefitsValidate?.length > 0 && (\r\n <BenefitsValidateWrapper\r\n content={storyContent?.benefitsValidate?.[0]}\r\n loginContent={mainContent?.loginData?.[0]}\r\n metadata={metadata}\r\n createCartCall={createCartCall}\r\n fetchOfferData={fetchOfferData}\r\n basicConfigUrl={basicConfigUrl}\r\n selectedExistingOption={selectedExistingOption}\r\n setShowBenefit={setShowBenefit}\r\n setLoginSuccess={setLoginSuccess}\r\n isProdEnv={isProdEnv}\r\n />\r\n )}\r\n\r\n {/* Display tv options on pop up after clicking order now button*/}\r\n {displayTvOptionsPopUp && (\r\n <GenericModal\r\n modalState={displayTvOptionsPopUp}\r\n handler={closeTVOptionsModal}\r\n showFooter={false}\r\n width={viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'}\r\n fixedWidth={\r\n viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'\r\n }\r\n height='845px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='24px'\r\n >\r\n <OttServiceOptionsSmallPopup\r\n content={mainContent?.optionsPopup?.[0]}\r\n addOptionsCallBack={(val: any) => {\r\n setTvOptionsPopUpAddToCart(true);\r\n setTvOptionsPopUpChanged(true);\r\n setTvOptionsData(val);\r\n }}\r\n metadata={metadata}\r\n constants={constants}\r\n mainContent={mainContent}\r\n preSelectedOptions={[]}\r\n optionsResponse={responseList}\r\n updateResponseList={setResponseList}\r\n showPrice={showPrice}\r\n productData={productData}\r\n offeringData={offeringData}\r\n uniqueId={uniqueId}\r\n deviceFlow={deviceFlow}\r\n />\r\n </GenericModal>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StaticProduct;\r\n"],"names":["StaticProduct","content","offeringData","uniqueId","storyContent","metadata","tabIndex","cardsLength","indexKey","constants","mainContent","address","eligibleBundle","linecheckSuccessCallBack","selectedOption","fetchOfferData","basicConfigUrl","selectedExistingOption","setLoginSuccess","enableP2P","lineCheckCallBack","loginSuccess","setToggleState","toggleState","noTabs","deviceFlow","deviceFlowCallBack","selectedRP","continueCart","lineCheckOnClear","pegaIntegration","isProdEnv","deviceUltimateBundle","toggleContent","pricesToggleState","isShogunFlow","shogunToken","showLoader","setShowLoader","useState","showProductDetail","setShowProductDetail","showGiftOrCashback","setShowGiftOrCashback","showGift","cashbackAvailable","modalClick","updateModalClick","combine","setCombine","giftItem","setGiftItem","showLogin","setShowLogin","showOptions","setShowOptions","showLinecheck","setShowLinecheck","showP2P","setShowP2P","showBenefit","setShowBenefit","subscriptionFailure","setSubscriptionFailure","endpoint","validateEndpoint","userSubscriptionData","setUserSubscriptionData","afterLogin","setAfterLogin","popUPClick","setModalClick","p2pModal","setP2pModal","tvOptions","setTvOptions","displayTvOptionsPopUp","setDisplayTvOptionsPopUp","alreadyShowedTvOptionsPopUp","setAlreadyShowedTvOptionsPopUp","tvOptionsPopUpChanged","setTvOptionsPopUpChanged","tvOptionsPopUpAddToCart","setTvOptionsPopUpAddToCart","responseList","setResponseList","timerSpaceHeight","setTimerSpaceHeight","timerContainerRef","useRef","pegaEndpoint","API_BASE_BASEPOINT","CUSTOMER","portalPosition","undefined","window","document","getElementById","isSkeletonLoading","_a","Object","keys","length","productData","_f","_e","_d","_c","_b","products","reference","product","promotionData","_l","_k","_j","_h","_g","promotion","promoDescription","timerContent","_m","timer","isCounterEnabled","enableCounter","timerIsActive","setTimerIsActive","startTime","endTime","isTimerActive","showHighlightText","Boolean","highlightText","showPromoContainer","displayText","notShowPromotionLabel","id","productId","cartEndPoint","_o","LineTableBasicPropConfig","getInstance","getCartUrl","assetPath","_p","AssetPathPropConfig","getAssetPath","isMobileFlow","pageType","viewPortType","viewport","context","useContext","AppContext","isAvailable","_q","includes","enableTVStreamingOptionsPopUp","enableTVStreamingOptionsStepper","disableDiscountedPriceToggle","skipAccessoriesPage","LoginBasicPropConfig","create","baseURL","AuthData","Cookies","get","JSON","parse","uniqueProductData","filter","setTvOptionsData","options","handleP2PClick","createCart","siteId","fetchPrepaidData","EXISTINGCUSTOMER","enableExistingCustomer","enableLoggedInPrice","createCartCall","prospectId","localStorage","getItem","url","location","pathname","split","payload","eventTimestamp","getUtcTimestamp","eventType","pageLocation","targetProduct","trackPegaEvents","selectedGiftItem","item","itemValue","findIndex","gift","giftGroupId","temp","push","params","URLSearchParams","_r","search","queryParams","validateNumberFcn","value","combineWithSmartPhone","showPrice","msisdn","validateFcn","validPrepaidNumbers","__awaiter","validateP2P","then","res","catch","e","console","log","fetchSubscriptionData","resp","subscriptionData","responseData","queryData","find","entry","Promise","all","map","data","succ","error","err","handleClick","closeTVOptionsModal","event","trackNewDatalayerEvent","GAEVENT","CTABUTTONCLICK","headline","linecheckSuccessAndCart","bundle","serviceOption","fetchServiceOptions","bloks","radioValue","_s","tvProductId","createCartCallAction","discountRef","promotionInfo","discountVersion","version","rewardsInfo","pointsBurnt","rewards","points","rewardOfferId","offerId","gloxTokenId","fromPopup","updateVasPopUp","sessionStorage","removeItem","staticCreateCart","AuthDataNew","setLoginCookie","ONE_ECOMMERCE_INTERNET_SUMMARY","linecheckData","loginData","isBundle","recommendAccessory","bundledOffers","productType","toLowerCase","combineWithVasOptions","productName","addEventListener","fetchPrice","useEffect","setTimeout","findHeight","result","checkGiftOrCashback","assign","TV","gigaSpeed","Netflix","Array","isArray","_u","_t","showModalPopup","updatedContent","_v","productContainer","store","ottOptionsApi","delay","getTimeUntilNextTimerEvent","timeout","clearTimeout","timerElement","current","updateTimerSpaceHeight","clientHeight","ResizeObserver","resizeObserver","observe","disconnect","_w","checkVasPopUp","vasPopUp","handleStorageChange","storageArea","key","newValue","handleCustomEvent","removeEventListener","setItem","Event","dispatchEvent","React","createElement","createPortal","Dotloader","keyParams","className","SkeletonLoader","Styles","selected","style","paddingBottom","activeicon","src","alt","width","height","subscriptionAvalTxt","inactiveicon","notSubscriptionTxt","_x","_z","_y","_0","default_full_slug","overlay","_2","_1","eligibility","fpb","disabled","flexDirection","bundleproductcard","_3","transition","productcontainer","highlightBorder","promocontainer","background","bestSellerColor","ref","timerContainer","_4","StaticLineTabelTimer","_5","hasHighlightText","onTimerChange","active","detailsection","imageFullWidthSection","headersection","titlesection","productheader","icon","_6","filename","imagecontainer","_7","productdescription","RichText","description","images","_8","img","imagespace","borderimage","_9","productconfig","Fragment","space","stylename","skeletontittle","count","skeletonline","_10","entitle","index","StaticProductEntitlement","enableTVStreamingOptions","_11","extraBenefits","StaticExclusiveBenefit","_12","benefitssection","_13","benefits","StaticBenefit","benefitData","togglePriceLabel","giftsection","_14","singleGift","GiftConfigV2","_15","giftConfig","ChooseGiftV2","parentPoType","StaticProductCashback","ordersection","base","DynamicPriceSection","priceCollection","promoText","discountedpricetoggleSection","togglePosition","UserLoggedPricesToggle","lineTable","P2PDiscountLabel","longterm","swapButton","padding","CheckoutButton","isDeviceFlow","msisdnn","uniqueProductBenefits","alwaysActive","_16","_18","_17","flexUpgradeFreePopup","_21","_20","forceDisabled","_23","_22","notEligibileReason","_25","_24","_26","addSmartPhone","textAlign","ctaLabel","onClick","buttontext","redirectOnly","FalconButtonV2","buttonType","buttonLabel","ultimateBundlePromotion","ultimateBundleLbl","_28","_27","buttonIcon","_30","_29","buttonAlignment","wafIdentifier","productcontractduration","paddingTop","_31","contractDuration","replacePlaceholder","_32","minContractDuration","substring","noContractDuration","productDetails","_33","productdetailslink","DOWNLOADPRODUCT","getEcomCartInfo","LINETABLE","productDetailsLink","StaticProductDetails","_35","_34","_37","_36","disabledInfo","fpbNotCompatibleText","TVChannelModal","setShowModal","showModal","_38","LoginModalV2","_39","closeLogin","onSuccess","GenericModal","modalState","handler","showFooter","backgroundColor","noCloseButton","backDrop","bodyPadding","PreToPostSubsPopup","onClose","_42","_41","_40","p2pBloks","prepaid","_45","_44","_43","ExsistingSubscriptionModal","onSubmit","exsistingSubscriptionData","enableLinecheckOverlay","_46","_48","_47","LinecheckModal","_50","_51","_53","_52","CoverageCheckModal","_55","body","overlayIsOpen","externalHandleModal","onCreateCart","_56","benefitsValidate","BenefitsValidateWrapper","_57","loginContent","_58","fixedWidth","OttServiceOptionsSmallPopup","optionsPopup","_59","addOptionsCallBack","val","preSelectedOptions","optionsResponse","updateResponseList"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StaticProduct.js","sources":["../../../../src/components/StaticLineTable/StaticProduct.tsx"],"sourcesContent":["import React, { FC, useContext, useEffect, useRef, useState } from 'react';\r\nimport Dotloader from '../Dotloader/Dotloader';\r\nimport { createPortal } from 'react-dom';\r\nimport SkeletonLoader from '../SkeletonLoader/SkeletonLoader';\r\nimport Styles from './StaticLineTable.module.scss';\r\nimport RichText from '../richtext';\r\nimport StaticProductEntitlement from './StaticProductEntitlement';\r\nimport StaticBenefit from './StaticBenefit';\r\nimport DynamicPriceSection from './DynamicPriceSection';\r\nimport CheckoutButton from './CheckoutButton';\r\nimport StaticProductDetails from './StaticProductDetails';\r\nimport { StaticProductSchema } from './StaticProductDatatypes';\r\nimport {\r\n AssetPathPropConfig,\r\n LineTableBasicPropConfig\r\n} from '../../services/LineTableBasicPropConfig';\r\nimport Cookies from 'js-cookie';\r\nimport { LoginBasicPropConfig } from '../../services/LoginBasicPropConfig';\r\nimport LoginModalV2 from '../login/LoginModalV2';\r\nimport {\r\n checkGiftOrCashback,\r\n combineWithSmartPhone,\r\n combineWithVasOptions,\r\n fetchPrice,\r\n fetchServiceOptions,\r\n findHeight,\r\n isTimerActive,\r\n getTimeUntilNextTimerEvent,\r\n staticCreateCart\r\n} from './Product.utils';\r\nimport GiftConfigV2 from '../ProductDetailsV3/GiftConfigV2';\r\nimport ChooseGiftV2 from '../ProductDetailsV3/ChooseGiftV2';\r\nimport { replacePlaceholder, viewport, getUtcTimestamp } from '../../utils/utils';\r\nimport StaticProductCashback from './StaticProductCashback';\r\nimport { trackNewDatalayerEvent } from '../../utils/AnalyticsUtils';\r\nimport {\r\n CTABUTTONCLICK,\r\n DOWNLOADPRODUCT,\r\n EXISTINGCUSTOMER,\r\n GAEVENT,\r\n LINETABLE\r\n} from '../../Analytics/AnalyticsConstants';\r\nimport TVChannelModal from './TVChannelModal';\r\nimport LinecheckModal from '../LineCheckV3/LinecheckModal';\r\nimport BenefitsValidateWrapper from '../BenefitWrapper/BenefitsValidateWrapper';\r\nimport PreToPostSubsPopup from '../PretoPost/PreToPostSubsPopup';\r\nimport GenericModal from '../LineCheckV3/GenericModal';\r\nimport {\r\n fetchSubscriptionData,\r\n trackPegaEvents,\r\n validateP2P\r\n} from '../../services/LineTableService';\r\nimport ExsistingSubscriptionModal from './ExsistingSubscriptionModal';\r\nimport { getEcomCartInfo } from '../../models/Analytics/items';\r\nimport CoverageCheckModal from '../NewLineCheck/CoverageCheckModal';\r\n\r\nimport { API_BASE_BASEPOINT } from '../../services/api-constants';\r\nimport { AppContext } from './StaticLineTableStore/StaticLineTableProvider';\r\nimport OttServiceOptionsSmallPopup from './OttServiceOptions/OttServiceOptionsSmallPopup';\r\nimport StaticExclusiveBenefit from './StaticExclusiveBenefit';\r\n// US_312953\r\nimport UserLoggedPricesToggle from '../UserLoggedPricesToggle/UserLoggedPricesToggle';\r\nimport FalconButtonV2 from '../FalconButtonV2/FalconButtonV2';\r\nimport { ONE_ECOMMERCE_INTERNET_SUMMARY } from '../../utils/constants';\r\nimport StaticLineTabelTimer from './StaticLineTabelTimer/StaticLineTabelTimer';\r\n\r\nconst StaticProduct: FC<StaticProductSchema> = ({\r\n content,\r\n offeringData,\r\n uniqueId,\r\n storyContent,\r\n metadata,\r\n tabIndex,\r\n cardsLength,\r\n indexKey,\r\n constants,\r\n mainContent,\r\n address,\r\n eligibleBundle,\r\n linecheckSuccessCallBack,\r\n selectedOption,\r\n fetchOfferData,\r\n basicConfigUrl,\r\n selectedExistingOption,\r\n setLoginSuccess,\r\n enableP2P,\r\n lineCheckCallBack,\r\n loginSuccess,\r\n setToggleState,\r\n toggleState,\r\n noTabs,\r\n deviceFlow,\r\n deviceFlowCallBack,\r\n selectedRP,\r\n continueCart,\r\n lineCheckOnClear,\r\n pegaIntegration,\r\n isProdEnv,\r\n deviceUltimateBundle,\r\n //US_31295\r\n toggleContent,\r\n pricesToggleState,\r\n isShogunFlow,\r\n shogunToken\r\n}) => {\r\n const [showLoader, setShowLoader] = useState<boolean>(false);\r\n const [showProductDetail, setShowProductDetail] = useState(false);\r\n const [showGiftOrCashback, setShowGiftOrCashback] = useState({\r\n showGift: false,\r\n cashbackAvailable: false\r\n });\r\n const [modalClick, updateModalClick] = useState(true);\r\n const [combine, setCombine] = useState(false);\r\n const [giftItem, setGiftItem] = useState<any>([]);\r\n const [showLogin, setShowLogin] = useState<boolean>(false);\r\n const [showOptions, setShowOptions] = useState<boolean>(false);\r\n const [showLinecheck, setShowLinecheck] = useState<boolean>(false);\r\n const [showP2P, setShowP2P] = useState<boolean>(false);\r\n const [showBenefit, setShowBenefit] = useState<boolean>(false);\r\n const [subscriptionFailure, setSubscriptionFailure] = useState(false);\r\n const endpoint = `${basicConfigUrl}inf/customer-management/subscriptions`;\r\n const validateEndpoint = `${basicConfigUrl}inf/resource-management/msisdns/pretopost/validation`;\r\n const [userSubscriptionData, setUserSubscriptionData] = useState<any>([]);\r\n const [afterLogin, setAfterLogin] = useState<boolean>(false);\r\n const [popUPClick, setModalClick] = useState<boolean>(false);\r\n const [p2pModal, setP2pModal] = useState<boolean>(false);\r\n const [tvOptions, setTvOptions] = useState<any[] | undefined>([]);\r\n const [displayTvOptionsPopUp, setDisplayTvOptionsPopUp] = useState<boolean>(false);\r\n const [alreadyShowedTvOptionsPopUp, setAlreadyShowedTvOptionsPopUp] = useState<boolean>(false);\r\n const [tvOptionsPopUpChanged, setTvOptionsPopUpChanged] = useState<boolean>(false);\r\n const [tvOptionsPopUpAddToCart, setTvOptionsPopUpAddToCart] = useState<boolean>(false);\r\n const [responseList, setResponseList] = useState([]);\r\n const [timerSpaceHeight, setTimerSpaceHeight] = useState(0);\r\n const timerContainerRef = useRef<HTMLDivElement | null>(null);\r\n const pegaEndpoint = `${basicConfigUrl}inf/${API_BASE_BASEPOINT.CUSTOMER}`;\r\n\r\n /*the portal position for the the dotloader*/\r\n const portalPosition: any =\r\n typeof window !== undefined && document.getElementById('static-linetable');\r\n const isSkeletonLoading = Object.keys(content)?.length === 0;\r\n const productData = content?.products?.[0]?.reference?.content?.product?.[0];\r\n const promotionData = content?.promotion?.[0]?.reference?.content?.promoDescription?.[0];\r\n const timerContent = content?.timer?.[0];\r\n const isCounterEnabled = timerContent?.enableCounter;\r\n const [timerIsActive, setTimerIsActive] = useState(\r\n isCounterEnabled && timerContent?.startTime && timerContent?.endTime\r\n ? isTimerActive(timerContent.startTime, timerContent.endTime)\r\n : false\r\n );\r\n const showHighlightText = Boolean(\r\n content?.highlightText && pricesToggleState !== true && !timerIsActive\r\n );\r\n const showPromoContainer = Boolean(\r\n promotionData?.displayText &&\r\n !content?.notShowPromotionLabel &&\r\n pricesToggleState !== true &&\r\n !timerIsActive\r\n );\r\n const id = productData?.productId;\r\n const cartEndPoint = LineTableBasicPropConfig?.getInstance()?.getCartUrl();\r\n const assetPath = AssetPathPropConfig?.getInstance()?.getAssetPath();\r\n const isMobileFlow = storyContent?.pageType === 'MOBILE';\r\n const viewPortType = viewport();\r\n const context = useContext(AppContext);\r\n let isAvailable: boolean | undefined = undefined;\r\n isAvailable = address && eligibleBundle?.eligibleBundle?.includes(id);\r\n const enableTVStreamingOptionsPopUp = content?.enableTVStreamingOptionsPopUp;\r\n const enableTVStreamingOptionsStepper = content?.enableTVStreamingOptionsStepper;\r\n const disableDiscountedPriceToggle = content?.disableDiscountedPriceToggle;\r\n const skipAccessoriesPage = content?.skipAccessoriesPage;\r\n\r\n LoginBasicPropConfig.create({ baseURL: basicConfigUrl ?? '' });\r\n\r\n //sunrise auth data\r\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\r\n AuthData = AuthData && JSON.parse(AuthData);\r\n //offer data wrt to tab\r\n const uniqueProductData: any = (offeringData?.[uniqueId] || []).filter(\r\n (product: any) => product?.id === id\r\n );\r\n\r\n const setTvOptionsData = (options: any) => {\r\n setTvOptions(options);\r\n };\r\n\r\n const handleP2PClick = () => {\r\n setShowLogin(true);\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n };\r\n\r\n //creacart function or login pop up\r\n const createCart = () => {\r\n setShowProductDetail(false);\r\n if (enableP2P && AuthData == undefined) {\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n } else if (enableP2P && AuthData?.siteId) {\r\n fetchPrepaidData();\r\n } else if (selectedOption === EXISTINGCUSTOMER && selectedExistingOption?.length > 0) {\r\n setShowBenefit(true);\r\n } else {\r\n //US_31295\r\n const setLoginCookie =\r\n (mainContent?.enableExistingCustomer && AuthData == undefined) ||\r\n (!AuthData && pricesToggleState === true && toggleContent?.enableLoggedInPrice)\r\n ? true\r\n : false;\r\n setLoginCookie ? setShowLogin(true) : createCartCall();\r\n }\r\n if (pegaIntegration) {\r\n const prospectId = localStorage.getItem('prospectId');\r\n const url = window?.location?.pathname?.split('/') ?? [];\r\n const pathname = url[url.length - 1];\r\n const payload = {\r\n eventTimestamp: getUtcTimestamp(),\r\n eventType: 'PageView',\r\n pageType: 'CartCreated',\r\n pageLocation: pathname,\r\n // deviceType: viewPortType,#TODO - fix this values, isn't working for tablet\r\n targetProduct: id\r\n };\r\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\r\n }\r\n };\r\n\r\n //setting the selected gift from choose gift section\r\n const selectedGiftItem = (item: any) => {\r\n const itemValue = giftItem.findIndex((gift: any) => item?.giftGroupId === gift?.giftGroupId);\r\n const temp = giftItem;\r\n if (itemValue === -1) temp.push(item);\r\n else temp[itemValue] = item;\r\n setGiftItem([...temp]);\r\n };\r\n //queryParam for MySunrise P2P flow\r\n const params = new URLSearchParams(window?.location?.search);\r\n const queryParams = params?.get('selectedMsisdn');\r\n const validateNumberFcn = (value: any) => {\r\n // once all the prepaid numbers are validated\r\n if (value?.length === 1) {\r\n combine\r\n ? combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n value?.[0],\r\n content,\r\n pegaIntegration\r\n )\r\n : createCartCall(value?.[0]?.msisdn);\r\n setSubscriptionFailure(false);\r\n } else if (value?.length > 1) {\r\n setUserSubscriptionData(value);\r\n setP2pModal(!p2pModal);\r\n setSubscriptionFailure(false);\r\n } else {\r\n setModalClick(!popUPClick);\r\n setSubscriptionFailure(true);\r\n updateModalClick(true);\r\n setShowLoader(false);\r\n }\r\n };\r\n const validateFcn = async (value: any, validPrepaidNumbers: any) => {\r\n await validateP2P(value?.msisdn, validateEndpoint)\r\n .then((res) => {\r\n if (res) {\r\n validPrepaidNumbers.push(value);\r\n }\r\n })\r\n .catch((e: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log('error', e);\r\n });\r\n };\r\n //prepaid subscription api and validating those for conversion\r\n const fetchPrepaidData = () => {\r\n setShowLoader(true);\r\n try {\r\n fetchSubscriptionData('PREPAID', endpoint)\r\n ?.then(async (resp: any) => {\r\n if (resp?.subscriptionData == 204) {\r\n setModalClick(!popUPClick);\r\n setSubscriptionFailure(true);\r\n updateModalClick(true);\r\n setShowLoader(false);\r\n } else {\r\n const responseData = resp?.subscriptionData;\r\n const queryData = responseData.find((entry: any) => entry.msisdn === queryParams);\r\n if (responseData) {\r\n const validPrepaidNumbers: any = [];\r\n if (queryParams) {\r\n await validateFcn(queryData, validPrepaidNumbers);\r\n validateNumberFcn(validPrepaidNumbers);\r\n } else {\r\n await Promise.all(\r\n responseData?.map(async (data: any) => {\r\n await validateFcn(data, validPrepaidNumbers);\r\n })\r\n ).then((succ) => {\r\n validateNumberFcn(validPrepaidNumbers);\r\n });\r\n }\r\n }\r\n }\r\n })\r\n .catch((error: any) => {\r\n // eslint-disable-next-line no-console\r\n console.log('error--->', error);\r\n setShowLoader(false);\r\n });\r\n } catch (err: any) {\r\n // eslint-disable-next-line no-console\r\n console.log('error--->', err);\r\n setShowLoader(false);\r\n }\r\n setAfterLogin(true);\r\n };\r\n\r\n // on login success\r\n const onLoginSuccess = () => {\r\n setShowLogin(false);\r\n setLoginSuccess();\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n if (enableP2P) {\r\n fetchPrepaidData();\r\n } else {\r\n createCartCall();\r\n }\r\n };\r\n\r\n // to close the pop up of P2P\r\n const handleClick = () => {\r\n setModalClick(!modalClick);\r\n setShowP2P(false);\r\n };\r\n\r\n // to close the pop up of P2P for success prepiad\r\n const handlePrepaidClick = () => {\r\n setShowLoader(false);\r\n setP2pModal(!p2pModal);\r\n };\r\n\r\n const closeTVOptionsModal = (event?: any) => {\r\n setDisplayTvOptionsPopUp(false);\r\n\r\n if (event) {\r\n trackNewDatalayerEvent(GAEVENT, CTABUTTONCLICK, {\r\n headline: 'VAS POPUP CLOSE'\r\n });\r\n }\r\n };\r\n\r\n //once linecheck success set linecheck pop up false and proceed to checkout section\r\n const linecheckSuccess = () => {\r\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\r\n eligibleBundle = bundle && JSON?.parse(bundle);\r\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\r\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\r\n };\r\n\r\n //once linecheck success set linecheck pop up false and proceed to checkout section\r\n const linecheckSuccessAndCart = () => {\r\n let bundle = typeof window !== 'undefined' && localStorage.getItem('lineCheckResponse');\r\n eligibleBundle = bundle && JSON?.parse(bundle);\r\n address = typeof window !== 'undefined' && Cookies.get('chAddressJson');\r\n setShowLinecheck(!showLinecheck);\r\n typeof linecheckSuccessCallBack == 'function' && linecheckSuccessCallBack();\r\n createCartCall();\r\n };\r\n\r\n //service Option set for TV\r\n\r\n const serviceOption = fetchServiceOptions(productData?.bloks, isMobileFlow);\r\n\r\n const radioValue = serviceOption?.[0]?.tvProductId;\r\n\r\n const createCartCallAction = (msisdn?: string) => {\r\n const discountRef = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.id;\r\n const discountVersion = pegaIntegration && uniqueProductData?.[0]?.promotionInfo?.[0]?.version;\r\n\r\n // Shogun / rewards (loyalty) flow: attach the pointsBurnt note so the\r\n // backend can settle the loyalty burn during cart creation. The value\r\n // comes from the offer response under `rewards.points`.\r\n const rewardsInfo = isShogunFlow\r\n ? { pointsBurnt: uniqueProductData?.[0]?.rewards?.points, rewardOfferId: uniqueProductData?.[0]?.rewards?.offerId, gloxTokenId: shogunToken }\r\n : undefined;\r\n\r\n // US 317400- vas options pop tracking\r\n if (uniqueProductData && uniqueProductData[0]) {\r\n uniqueProductData[0].fromPopup = tvOptionsPopUpAddToCart;\r\n }\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n\r\n staticCreateCart(\r\n setShowLoader,\r\n cartEndPoint,\r\n giftItem,\r\n uniqueProductData,\r\n mainContent,\r\n showPrice,\r\n isMobileFlow,\r\n radioValue,\r\n eligibleBundle,\r\n address,\r\n setShowLinecheck,\r\n showLinecheck,\r\n lineCheckCallBack,\r\n enableP2P,\r\n queryParams ?? msisdn,\r\n content,\r\n tvOptions,\r\n discountRef,\r\n discountVersion,\r\n rewardsInfo\r\n );\r\n };\r\n //cart creation\r\n const createCartCall = (msisdn?: string) => {\r\n setTvOptionsPopUpAddToCart(false);\r\n setShowProductDetail(false);\r\n let AuthData: any = typeof window !== undefined && Cookies.get('sunriseAuth');\r\n const AuthDataNew = AuthData && JSON.parse(AuthData);\r\n const setLoginCookie =\r\n mainContent?.enableExistingCustomer && AuthDataNew == undefined ? true : false;\r\n sessionStorage.removeItem(ONE_ECOMMERCE_INTERNET_SUMMARY);\r\n if (mainContent?.linecheckData?.length > 0 && !isMobileFlow && !isAvailable) {\r\n // setShowLinecheck(true);\r\n const lineCheckElement = document.getElementById('linecheck');\r\n if (lineCheckElement) {\r\n lineCheckCallBack();\r\n }\r\n return;\r\n } else if (\r\n isAvailable &&\r\n !isMobileFlow &&\r\n mainContent?.loginData?.length > 0 &&\r\n setLoginCookie\r\n ) {\r\n setShowLogin(true);\r\n } else if (enableTVStreamingOptionsStepper && uniqueProductData[0]?.isBundle) {\r\n let recommendAccessory = false;\r\n\r\n if (!skipAccessoriesPage) {\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 }\r\n\r\n combineWithVasOptions(\r\n showPrice,\r\n uniqueProductData,\r\n content,\r\n pegaIntegration,\r\n productData?.productName,\r\n recommendAccessory\r\n );\r\n createCartCallAction(msisdn);\r\n } else if (\r\n enableTVStreamingOptionsPopUp &&\r\n uniqueProductData[0]?.isBundle &&\r\n !alreadyShowedTvOptionsPopUp\r\n ) {\r\n setDisplayTvOptionsPopUp(true);\r\n setAlreadyShowedTvOptionsPopUp(true);\r\n updateVasPopUp('true');\r\n\r\n window.addEventListener('beforeunload', function (event) {\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n });\r\n } else {\r\n //for mobile p2p\r\n if (enableP2P) {\r\n setShowLoader(true);\r\n }\r\n createCartCallAction(msisdn);\r\n }\r\n };\r\n\r\n //cart creation callback For device first flow\r\n const deviceFirstFlowCreateCartCallback = (msisdn?: string) => {\r\n setShowProductDetail(false);\r\n const msisdnn = queryParams ?? msisdn;\r\n const deviceFirstFlowCartObj = {\r\n setShowLoader,\r\n cartEndPoint,\r\n giftItem,\r\n uniqueProductData,\r\n mainContent,\r\n showPrice,\r\n isMobileFlow,\r\n eligibleBundle,\r\n address,\r\n setShowLinecheck,\r\n showLinecheck,\r\n lineCheckCallBack,\r\n enableP2P,\r\n msisdnn,\r\n content,\r\n selectedRP,\r\n continueCart\r\n };\r\n deviceFlowCallBack(deviceFirstFlowCartObj);\r\n };\r\n\r\n // after 1 prepaid numbers selection from existingp2pmodal\r\n const onSelectSubscriptionPreToPost = (value: any) => {\r\n setP2pModal(!p2pModal);\r\n combine\r\n ? combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n value,\r\n content,\r\n pegaIntegration\r\n )\r\n : createCartCall(value?.msisdn);\r\n };\r\n //show price calculation\r\n const showPrice = fetchPrice(\r\n uniqueProductData,\r\n isMobileFlow,\r\n mainContent?.pageType,\r\n false,\r\n tvOptions,\r\n pegaIntegration\r\n );\r\n\r\n //card height calculation and gift & cashback check on change of offer data\r\n //to calculate the height when the tvOptions is added and removed\r\n useEffect(() => {\r\n setTimeout(() => {\r\n findHeight(tabIndex, cardsLength);\r\n }, 100);\r\n const result = checkGiftOrCashback(\r\n isMobileFlow\r\n ? uniqueProductData\r\n : (uniqueProductData?.[0]?.bundledOffers ?? uniqueProductData)\r\n );\r\n setShowGiftOrCashback({ ...result });\r\n }, [\r\n offeringData,\r\n toggleState,\r\n tvOptions,\r\n timerSpaceHeight,\r\n (toggleState?.TV || toggleState?.gigaSpeed || toggleState?.Netflix) &&\r\n Array.isArray(uniqueProductData) &&\r\n uniqueProductData?.[0]?.bundledOffers?.length === 3\r\n ]);\r\n\r\n //product details pop up\r\n const showDetailsModal = () => {\r\n setShowProductDetail(!showProductDetail);\r\n //Analytics Product Details tracking\r\n let offerData = uniqueProductData;\r\n trackNewDatalayerEvent(GAEVENT, DOWNLOADPRODUCT, getEcomCartInfo(offerData, '', LINETABLE));\r\n const prospectId = localStorage.getItem('prospectId');\r\n const url = window?.location?.pathname?.split('/') ?? [];\r\n const pathname = url[url.length - 1];\r\n const payload = {\r\n eventTimestamp: getUtcTimestamp(),\r\n eventType: 'PageView',\r\n pageType: 'ProductDetails',\r\n pageLocation: pathname,\r\n // deviceType: viewPortType, #TODO - fix this values, isn't working for tablet\r\n targetProduct: id\r\n };\r\n prospectId && trackPegaEvents(pegaEndpoint, payload, prospectId);\r\n };\r\n\r\n //TV service option\r\n const showModalPopup = () => {\r\n if (serviceOption?.length > 0 || enableTVStreamingOptionsPopUp) {\r\n setShowOptions(true);\r\n }\r\n };\r\n const updatedContent = mainContent?.productContainer?.[0];\r\n\r\n // set the combine to true for p2p\r\n const combineP2P = () => {\r\n setCombine(true);\r\n };\r\n\r\n // to trigger on click of combinewith smartphone\r\n useEffect(() => {\r\n if (combine) {\r\n if (enableP2P && AuthData == undefined) {\r\n setShowP2P(!showP2P);\r\n setModalClick(!popUPClick);\r\n } else if (enableP2P && AuthData?.siteId) {\r\n fetchPrepaidData();\r\n }\r\n }\r\n }, [combine]);\r\n\r\n useEffect(() => {\r\n if (context) {\r\n const { store } = context;\r\n if (store?.ottOptionsApi?.length > 0 && responseList?.length === 0) {\r\n setResponseList(store?.ottOptionsApi);\r\n }\r\n }\r\n }, [context]);\r\n\r\n useEffect(() => {\r\n if (!isCounterEnabled || !timerContent?.startTime || !timerContent?.endTime) {\r\n setTimerIsActive(false);\r\n return;\r\n }\r\n\r\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\r\n\r\n const delay = getTimeUntilNextTimerEvent(timerContent.startTime, timerContent.endTime);\r\n if (delay <= 0) return;\r\n\r\n const timeout = setTimeout(() => {\r\n setTimerIsActive(isTimerActive(timerContent.startTime, timerContent.endTime));\r\n }, delay);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isCounterEnabled, timerContent?.startTime, timerContent?.endTime]);\r\n\r\n useEffect(() => {\r\n const timerElement = timerContainerRef.current;\r\n if (!timerElement || !content?.timer?.length || !isCounterEnabled) {\r\n setTimerSpaceHeight(0);\r\n return;\r\n }\r\n\r\n const updateTimerSpaceHeight = () => {\r\n setTimerSpaceHeight(timerElement.clientHeight);\r\n };\r\n\r\n updateTimerSpaceHeight();\r\n\r\n if (typeof ResizeObserver === 'undefined') {\r\n return;\r\n }\r\n\r\n const resizeObserver = new ResizeObserver(updateTimerSpaceHeight);\r\n resizeObserver.observe(timerElement);\r\n\r\n return () => {\r\n resizeObserver.disconnect();\r\n };\r\n }, [content?.timer?.length, isCounterEnabled]);\r\n\r\n // to trigger on click tv option pop up closed\r\n useEffect(() => {\r\n if (tvOptionsPopUpChanged) {\r\n closeTVOptionsModal();\r\n setTvOptionsPopUpChanged(true);\r\n updateVasPopUp('false');\r\n sessionStorage.removeItem('vasPopUp');\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n createCartCallAction();\r\n }\r\n }, [tvOptionsPopUpChanged]);\r\n\r\n //US 314008 - only show vas pop up for first time user clicked order now\r\n useEffect(() => {\r\n const checkVasPopUp = () => {\r\n const vasPopUp = sessionStorage.getItem('vasPopUp');\r\n\r\n setAlreadyShowedTvOptionsPopUp(vasPopUp === 'true');\r\n };\r\n\r\n checkVasPopUp();\r\n\r\n const handleStorageChange = (event: StorageEvent) => {\r\n if (event.storageArea === sessionStorage && event.key === 'vasPopUp') {\r\n checkVasPopUp();\r\n }\r\n // If vasPopUp is removed (deleted)\r\n if (\r\n event.storageArea === sessionStorage &&\r\n event.key === 'vasPopUp' &&\r\n event.newValue === null\r\n ) {\r\n setAlreadyShowedTvOptionsPopUp(false);\r\n }\r\n };\r\n\r\n const handleCustomEvent = () => {\r\n checkVasPopUp();\r\n };\r\n\r\n window.addEventListener('storage', handleStorageChange);\r\n window.addEventListener('vasPopUpChange', handleCustomEvent);\r\n\r\n return () => {\r\n window.removeEventListener('storage', handleStorageChange);\r\n window.removeEventListener('vasPopUpChange', handleCustomEvent);\r\n };\r\n }, []);\r\n\r\n const updateVasPopUp = (value: string) => {\r\n sessionStorage.setItem('vasPopUp', value);\r\n const event = new Event('vasPopUpChange');\r\n window.dispatchEvent(event);\r\n };\r\n\r\n return (\r\n <div>\r\n {showLoader &&\r\n portalPosition &&\r\n createPortal(<Dotloader keyParams='loading' />, portalPosition)}\r\n {isSkeletonLoading && (\r\n <div className='w-75 pb-2'>\r\n <SkeletonLoader />\r\n </div>\r\n )}\r\n {!isSkeletonLoading && eligibleBundle && content && address && !isMobileFlow && (\r\n <div className={Styles.selected}>\r\n <span style={{ paddingBottom: '10px' }}>\r\n {!isAvailable ? (\r\n <span className={Styles.inactiveicon}>\r\n <img\r\n src={`${assetPath}/icons/cross_disabled.svg`}\r\n alt=''\r\n width={24}\r\n height={24}\r\n className={Styles.inactiveicon}\r\n />\r\n <span>{constants?.notSubscriptionTxt}</span>\r\n </span>\r\n ) : (\r\n <span className={Styles.activeicon}>\r\n <img\r\n src={`${assetPath}/icons/lineCheck-success.svg`}\r\n alt=''\r\n width={24}\r\n height={24}\r\n className={Styles.activeicon}\r\n />\r\n <span>{constants?.subscriptionAvalTxt}</span>\r\n </span>\r\n )}\r\n </span>\r\n </div>\r\n )}\r\n\r\n <div\r\n className={`${\r\n !isMobileFlow &&\r\n isAvailable === false &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug !== 'global/coverage-check'\r\n ? Styles.overlay\r\n : ''\r\n }\r\n ${deviceUltimateBundle && !uniqueProductData?.[0]?.eligibility?.fpb ? Styles.disabled : ''}\r\n `}\r\n style={{ flexDirection: 'column' }}\r\n >\r\n <div className={Styles.bundleproductcard}>\r\n <div\r\n id={`timer-section${tabIndex}${indexKey}`}\r\n data-timer-active={timerSpaceHeight > 0 ? 'true' : 'false'}\r\n >\r\n {content?.timer?.length && isCounterEnabled ? (\r\n <div style={{ height: `${timerSpaceHeight}px`, transition: 'height 0.3s ease' }} />\r\n ) : null}\r\n </div>\r\n <div\r\n className={`${Styles.productcontainer} ${\r\n showHighlightText ? Styles.highlightBorder : ''\r\n }`}\r\n >\r\n {showHighlightText && (\r\n <div className={`${Styles.highlightText}`}>{content?.highlightText}</div>\r\n )}\r\n\r\n {showPromoContainer && (\r\n <div\r\n className={`${Styles.promocontainer}`}\r\n style={{\r\n background: promotionData?.bestSellerColor\r\n }}\r\n >\r\n {promotionData?.displayText}\r\n </div>\r\n )}\r\n <div ref={timerContainerRef} className={Styles.timerContainer}>\r\n {content?.timer?.length && isCounterEnabled ? (\r\n <StaticLineTabelTimer\r\n content={content?.timer?.[0]}\r\n hasHighlightText={showHighlightText || showPromoContainer}\r\n onTimerChange={(active) => {\r\n setTimerIsActive(active);\r\n }}\r\n />\r\n ) : null}\r\n </div>\r\n <div\r\n className={`${Styles.detailsection} ${Styles.imageFullWidthSection}`}\r\n id={`detailsectionv3${tabIndex}${indexKey}`}\r\n >\r\n <div className={`${Styles.headersection}`}>\r\n <div className={`${Styles.titlesection}`}>\r\n <div className={`${Styles.productheader}`} id={`titleV3${tabIndex}${indexKey}`}>\r\n {productData?.productName}\r\n </div>\r\n <div>\r\n {productData?.icon?.filename && (\r\n <img\r\n className={`${Styles.imagecontainer}`}\r\n src={productData?.icon?.filename}\r\n height={15}\r\n width={20}\r\n alt='productIcon'\r\n />\r\n )}\r\n </div>\r\n </div>\r\n <div\r\n className={`${Styles.productdescription}`}\r\n id={`descriptionV3${tabIndex}${indexKey}`}\r\n >\r\n <RichText content={productData?.description} />\r\n </div>\r\n {/* Image(map) */}\r\n <div className={`${Styles.images}`}>\r\n {productData?.img?.filename && (\r\n <img\r\n className={`${Styles.imagespace} ${\r\n content?.highlightText && Styles.borderimage\r\n }`}\r\n alt='cardimg'\r\n src={`${productData?.img?.filename}/m/`}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n {/* product entitlement section */}\r\n <div\r\n className={`${Styles.productconfig}`}\r\n id={`product-configv3${tabIndex}${indexKey}`}\r\n >\r\n {isSkeletonLoading ? (\r\n <>\r\n <div className={Styles.space}></div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\r\n <div className={Styles.space}></div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={5} />\r\n </>\r\n ) : (\r\n <div>\r\n {productData?.bloks &&\r\n productData?.bloks?.map((entitle: any, index: number) => {\r\n return (\r\n <StaticProductEntitlement\r\n content={entitle}\r\n indexKey={index}\r\n constants={constants}\r\n key={index}\r\n showModalPopup={showModalPopup}\r\n setToggleState={setToggleState}\r\n toggleState={toggleState}\r\n noTabs={noTabs}\r\n mainContent={mainContent}\r\n enableTVStreamingOptions={content?.enableTVStreamingOptions}\r\n metadata={metadata}\r\n setTvOptionsData={setTvOptionsData}\r\n />\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n {/* benefits section */}\r\n <div\r\n className={`${Styles.detailsection}`}\r\n id={`benefits-price-section${tabIndex}${indexKey}`}\r\n >\r\n <div id={`exclusive-benefits-section${tabIndex}${indexKey}`}>\r\n {productData?.extraBenefits?.length > 0 && (\r\n <StaticExclusiveBenefit content={productData?.extraBenefits?.[0]} />\r\n )}\r\n </div>\r\n <div\r\n className={`${Styles.benefitssection}`}\r\n id={`benefits-section${tabIndex}${indexKey}`}\r\n >\r\n {productData?.benefits?.length > 0 && (\r\n <StaticBenefit\r\n content={productData?.benefits}\r\n benefitData={showPrice}\r\n constants={constants}\r\n //US_31295\r\n pricesToggleState={pricesToggleState}\r\n togglePriceLabel={toggleContent?.togglePriceLabel}\r\n />\r\n )}\r\n </div>\r\n <br />\r\n\r\n {/* gift or cashback section */}\r\n <div className={`${Styles.giftsection}`} id={`gift-section${tabIndex}${indexKey}`}>\r\n {showGiftOrCashback?.showGift &&\r\n promotionData?.singleGift?.map((item: any, index: number) => {\r\n return <GiftConfigV2 content={item} key={index} />;\r\n })}\r\n {showGiftOrCashback?.showGift &&\r\n promotionData?.giftConfig?.map((item: any, index: number) => {\r\n return (\r\n <ChooseGiftV2\r\n content={item}\r\n key={index}\r\n selectedGiftItem={selectedGiftItem}\r\n parentPoType={isMobileFlow ? 'MOBILE' : 'HOME'}\r\n />\r\n );\r\n })}\r\n <div\r\n className={`${Styles.giftsection}`}\r\n id={`cashback-section${tabIndex}${indexKey}`}\r\n >\r\n <StaticProductCashback\r\n uniqueProductData={uniqueProductData}\r\n mainContent={mainContent}\r\n />\r\n </div>\r\n </div>\r\n {/* price section */}\r\n <div className={`${Styles.ordersection}`} id={`order-section${tabIndex}${indexKey}`}>\r\n {showPrice?.base === '' ? (\r\n <div>\r\n <SkeletonLoader stylename={Styles.skeletontittle} />\r\n </div>\r\n ) : (\r\n <div id={`price-section${tabIndex}${indexKey}`}>\r\n <DynamicPriceSection\r\n priceCollection={showPrice}\r\n constants={constants}\r\n promoText={productData?.promoText}\r\n deviceFlow={deviceFlow}\r\n content={content}\r\n offeringData={offeringData}\r\n uniqueId={uniqueId}\r\n />\r\n </div>\r\n )}\r\n\r\n {/* US_312953 */}\r\n {!isShogunFlow && (\r\n <div\r\n className={`${Styles.discountedpricetoggleSection}`}\r\n id={`discountedpricetoggle-section${tabIndex}${indexKey}`}\r\n >\r\n {!disableDiscountedPriceToggle && toggleContent?.togglePosition === 'INLINE' ? (\r\n <UserLoggedPricesToggle\r\n content={productData}\r\n index={indexKey}\r\n lineTable={true}\r\n toggleContent={toggleContent}\r\n />\r\n ) : null}\r\n </div>\r\n )}\r\n {/*END US_312953 */}\r\n\r\n {/* Longterm text */}\r\n {enableP2P && constants?.P2PDiscountLabel && (\r\n <div className={Styles.longterm}>{constants?.P2PDiscountLabel}</div>\r\n )}\r\n {/* proceed to checkout section */}\r\n {isSkeletonLoading ? (\r\n <>\r\n <SkeletonLoader stylename={Styles.skeletontittle} count={1} />\r\n <SkeletonLoader stylename={Styles.skeletonline} count={2} />\r\n </>\r\n ) : (\r\n <div className={`${storyContent?.swapButton && Styles.swapButton}`}>\r\n <div style={{ padding: '16px 0 0 0' }}>\r\n <CheckoutButton\r\n isMobileFlow={isMobileFlow}\r\n createCartCall={\r\n deviceFlow?.isDeviceFlow\r\n ? deviceFirstFlowCreateCartCallback\r\n : isMobileFlow\r\n ? createCart\r\n : createCartCall\r\n }\r\n constants={constants}\r\n storyContent={storyContent}\r\n showPrice={showPrice}\r\n isAvailable={isAvailable}\r\n address={address}\r\n uniqueProductBenefits={uniqueProductData?.[0]}\r\n alwaysActive={\r\n !isAvailable &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/coverage-check'\r\n }\r\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\r\n content={content}\r\n deviceUltimateBundle={deviceUltimateBundle}\r\n forceDisabled={Boolean(uniqueProductData?.[0]?.rewards?.notEligibleReason)}\r\n notEligibileReason={uniqueProductData?.[0]?.rewards?.notEligibleReason}\r\n />\r\n </div>\r\n {/* combined with smartphone section */}\r\n {!isShogunFlow && storyContent?.addSmartPhone?.length > 0 && !deviceFlow?.isDeviceFlow && (\r\n <div style={{ textAlign: 'center' }}>\r\n {storyContent?.swapButton\r\n ? storyContent?.ctaLabel && (\r\n <div style={{ padding: '16px 0' }}>\r\n <button\r\n className={`primarybutton`}\r\n onClick={() =>\r\n combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n '',\r\n content,\r\n pegaIntegration\r\n )\r\n }\r\n >\r\n <span className={Styles.buttontext}>\r\n {storyContent?.ctaLabel}\r\n </span>\r\n </button>\r\n </div>\r\n )\r\n : !content?.redirectOnly && (\r\n <div style={{ padding: '12px 0 0 0' }}>\r\n <FalconButtonV2\r\n content={{\r\n buttonType: 'Secondary-V1',\r\n buttonLabel: content?.ultimateBundlePromotion\r\n ? constants?.ultimateBundleLbl\r\n : storyContent?.addSmartPhone?.[0]?.buttonLabel,\r\n buttonIcon: storyContent?.addSmartPhone?.[0]?.buttonIcon,\r\n buttonAlignment: 'left'\r\n }}\r\n wafIdentifier={basicConfigUrl}\r\n style={{ width: '100%' }}\r\n onClick={() =>\r\n enableP2P\r\n ? combineP2P()\r\n : combineWithSmartPhone(\r\n showPrice,\r\n storyContent,\r\n uniqueProductData,\r\n '',\r\n content,\r\n pegaIntegration\r\n )\r\n }\r\n />\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n <div\r\n className={Styles.productcontractduration}\r\n id={`contract-section${tabIndex}${indexKey}`}\r\n style={{\r\n paddingTop:\r\n storyContent?.addSmartPhone?.length > 0 &&\r\n !deviceFlow?.isDeviceFlow &&\r\n !storyContent?.swapButton &&\r\n !content?.redirectOnly\r\n ? '8px'\r\n : undefined\r\n }}\r\n >\r\n {showPrice?.contractDuration > '1'\r\n ? replacePlaceholder(constants?.minContractDuration?.substring(1), [\r\n showPrice?.contractDuration\r\n ])\r\n : constants?.noContractDuration}\r\n </div>\r\n </div>\r\n )}\r\n {/* product details section */}\r\n <div style={{ textAlign: 'center', padding: '4px' }}>\r\n {productData?.productDetails?.length > 0 && (\r\n <span className={Styles.productdetailslink} onClick={showDetailsModal}>\r\n {constants?.productDetailsLink}\r\n </span>\r\n )}\r\n </div>\r\n {showProductDetail && (\r\n <StaticProductDetails\r\n content={productData?.productDetails}\r\n showProductDetail={showProductDetail}\r\n setShowProductDetail={setShowProductDetail}\r\n constants={constants}\r\n showPrice={showPrice}\r\n isMobileFlow={isMobileFlow}\r\n createCartCall={isMobileFlow ? createCart : createCartCall}\r\n storyContent={storyContent}\r\n isAvailable={isAvailable}\r\n address={address}\r\n flexUpgradeFreePopup={mainContent?.flexUpgradeFreePopup?.reference?.content}\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {deviceUltimateBundle && uniqueProductData && !uniqueProductData?.[0]?.eligibility?.fpb && (\r\n <div className={Styles.disabledInfo}>\r\n <RichText content={constants?.fpbNotCompatibleText} />\r\n </div>\r\n )}\r\n\r\n {showOptions &&\r\n (isSkeletonLoading ? (\r\n <SkeletonLoader />\r\n ) : (\r\n <TVChannelModal\r\n content={serviceOption?.[0]}\r\n setShowModal={setShowOptions}\r\n showModal={showOptions}\r\n constants={constants}\r\n />\r\n ))}\r\n\r\n {/* login pop up existing customer benefit without login on click of proceed to checkout */}\r\n {showLogin &&\r\n mainContent?.loginData?.length > 0 &&\r\n portalPosition &&\r\n createPortal(\r\n <LoginModalV2\r\n content={mainContent?.loginData?.[0]}\r\n closeLogin={() => {\r\n setShowLogin(false);\r\n }}\r\n metadata={metadata}\r\n onSuccess={onLoginSuccess}\r\n isProdEnv={isProdEnv}\r\n />,\r\n portalPosition\r\n )}\r\n\r\n {/* P2P flow first screen to select login */}\r\n {showP2P && enableP2P && !showLogin && popUPClick && (\r\n <GenericModal\r\n modalState={modalClick}\r\n handler={handleClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <PreToPostSubsPopup\r\n onClose={handleP2PClick}\r\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[0]}\r\n prepaid={false}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* P2P flow error screen if the customer is not prepaid customer */}\r\n {enableP2P && afterLogin && subscriptionFailure && popUPClick && (\r\n <GenericModal\r\n modalState={modalClick}\r\n handler={handleClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n id='table-product'\r\n >\r\n <PreToPostSubsPopup\r\n onClose={handleP2PClick}\r\n content={mainContent?.productContainer?.[0]?.p2pBloks?.[1]}\r\n prepaid={true}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* p2p flow after successfully logged in prepaid customer to select a number for P2P*/}\r\n {userSubscriptionData?.length > 1 &&\r\n enableP2P &&\r\n afterLogin &&\r\n !subscriptionFailure &&\r\n p2pModal && (\r\n <GenericModal\r\n modalState={p2pModal}\r\n handler={handlePrepaidClick}\r\n showFooter={false}\r\n width={'628px'}\r\n height='280px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='16px'\r\n >\r\n <ExsistingSubscriptionModal\r\n onSubmit={onSelectSubscriptionPreToPost}\r\n exsistingSubscriptionData={userSubscriptionData}\r\n updatedContent={updatedContent}\r\n />\r\n </GenericModal>\r\n )}\r\n\r\n {/* lincheck modal */}\r\n {showLinecheck &&\r\n mainContent?.enableLinecheckOverlay &&\r\n !isMobileFlow &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n !enableP2P &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/new-linecheck-test' ? (\r\n <LinecheckModal\r\n content={mainContent?.linecheckData?.[0]}\r\n onSuccess={linecheckSuccessAndCart}\r\n showModal={showLinecheck}\r\n setShowModal={setShowLinecheck}\r\n productName={productData?.productName}\r\n productId={productData?.productId}\r\n />\r\n ) : showLinecheck &&\r\n mainContent?.enableLinecheckOverlay &&\r\n !isMobileFlow &&\r\n mainContent?.linecheckData?.length > 0 &&\r\n !enableP2P &&\r\n mainContent?.linecheckData?.[0]?.reference?.default_full_slug ===\r\n 'global/coverage-check' ? (\r\n <CoverageCheckModal\r\n content={mainContent?.linecheckData?.[0].reference.content.body[0]}\r\n overlayIsOpen={true}\r\n externalHandleModal={setShowLinecheck}\r\n productName={productData?.productName}\r\n showModal={showLinecheck}\r\n setShowModal={setShowLinecheck}\r\n onSuccess={linecheckSuccess}\r\n onCreateCart={linecheckSuccessAndCart}\r\n lineCheckOnClear={lineCheckOnClear}\r\n productId={productData?.productId}\r\n />\r\n ) : null}\r\n {/* benefit validate */}\r\n {showBenefit && isMobileFlow && storyContent?.benefitsValidate?.length > 0 && (\r\n <BenefitsValidateWrapper\r\n content={storyContent?.benefitsValidate?.[0]}\r\n loginContent={mainContent?.loginData?.[0]}\r\n metadata={metadata}\r\n createCartCall={createCartCall}\r\n fetchOfferData={fetchOfferData}\r\n basicConfigUrl={basicConfigUrl}\r\n selectedExistingOption={selectedExistingOption}\r\n setShowBenefit={setShowBenefit}\r\n setLoginSuccess={setLoginSuccess}\r\n isProdEnv={isProdEnv}\r\n />\r\n )}\r\n\r\n {/* Display tv options on pop up after clicking order now button*/}\r\n {displayTvOptionsPopUp && (\r\n <GenericModal\r\n modalState={displayTvOptionsPopUp}\r\n handler={closeTVOptionsModal}\r\n showFooter={false}\r\n width={viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'}\r\n fixedWidth={\r\n viewPortType === 'mobile' ? '' : viewPortType === 'tablet' ? '700px' : '990px'\r\n }\r\n height='845px'\r\n backgroundColor='#f7f6f5'\r\n noCloseButton={false}\r\n backDrop={true}\r\n bodyPadding='24px'\r\n >\r\n <OttServiceOptionsSmallPopup\r\n content={mainContent?.optionsPopup?.[0]}\r\n addOptionsCallBack={(val: any) => {\r\n setTvOptionsPopUpAddToCart(true);\r\n setTvOptionsPopUpChanged(true);\r\n setTvOptionsData(val);\r\n }}\r\n metadata={metadata}\r\n constants={constants}\r\n mainContent={mainContent}\r\n preSelectedOptions={[]}\r\n optionsResponse={responseList}\r\n updateResponseList={setResponseList}\r\n showPrice={showPrice}\r\n productData={productData}\r\n offeringData={offeringData}\r\n uniqueId={uniqueId}\r\n deviceFlow={deviceFlow}\r\n />\r\n </GenericModal>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StaticProduct;\r\n"],"names":["StaticProduct","content","offeringData","uniqueId","storyContent","metadata","tabIndex","cardsLength","indexKey","constants","mainContent","address","eligibleBundle","linecheckSuccessCallBack","selectedOption","fetchOfferData","basicConfigUrl","selectedExistingOption","setLoginSuccess","enableP2P","lineCheckCallBack","loginSuccess","setToggleState","toggleState","noTabs","deviceFlow","deviceFlowCallBack","selectedRP","continueCart","lineCheckOnClear","pegaIntegration","isProdEnv","deviceUltimateBundle","toggleContent","pricesToggleState","isShogunFlow","shogunToken","showLoader","setShowLoader","useState","showProductDetail","setShowProductDetail","showGiftOrCashback","setShowGiftOrCashback","showGift","cashbackAvailable","modalClick","updateModalClick","combine","setCombine","giftItem","setGiftItem","showLogin","setShowLogin","showOptions","setShowOptions","showLinecheck","setShowLinecheck","showP2P","setShowP2P","showBenefit","setShowBenefit","subscriptionFailure","setSubscriptionFailure","endpoint","validateEndpoint","userSubscriptionData","setUserSubscriptionData","afterLogin","setAfterLogin","popUPClick","setModalClick","p2pModal","setP2pModal","tvOptions","setTvOptions","displayTvOptionsPopUp","setDisplayTvOptionsPopUp","alreadyShowedTvOptionsPopUp","setAlreadyShowedTvOptionsPopUp","tvOptionsPopUpChanged","setTvOptionsPopUpChanged","tvOptionsPopUpAddToCart","setTvOptionsPopUpAddToCart","responseList","setResponseList","timerSpaceHeight","setTimerSpaceHeight","timerContainerRef","useRef","pegaEndpoint","API_BASE_BASEPOINT","CUSTOMER","portalPosition","undefined","window","document","getElementById","isSkeletonLoading","_a","Object","keys","length","productData","_f","_e","_d","_c","_b","products","reference","product","promotionData","_l","_k","_j","_h","_g","promotion","promoDescription","timerContent","_m","timer","isCounterEnabled","enableCounter","timerIsActive","setTimerIsActive","startTime","endTime","isTimerActive","showHighlightText","Boolean","highlightText","showPromoContainer","displayText","notShowPromotionLabel","id","productId","cartEndPoint","_o","LineTableBasicPropConfig","getInstance","getCartUrl","assetPath","_p","AssetPathPropConfig","getAssetPath","isMobileFlow","pageType","viewPortType","viewport","context","useContext","AppContext","isAvailable","_q","includes","enableTVStreamingOptionsPopUp","enableTVStreamingOptionsStepper","disableDiscountedPriceToggle","skipAccessoriesPage","LoginBasicPropConfig","create","baseURL","AuthData","Cookies","get","JSON","parse","uniqueProductData","filter","setTvOptionsData","options","handleP2PClick","createCart","siteId","fetchPrepaidData","EXISTINGCUSTOMER","enableExistingCustomer","enableLoggedInPrice","createCartCall","prospectId","localStorage","getItem","url","location","pathname","split","payload","eventTimestamp","getUtcTimestamp","eventType","pageLocation","targetProduct","trackPegaEvents","selectedGiftItem","item","itemValue","findIndex","gift","giftGroupId","temp","push","params","URLSearchParams","_r","search","queryParams","validateNumberFcn","value","combineWithSmartPhone","showPrice","msisdn","validateFcn","validPrepaidNumbers","__awaiter","validateP2P","then","res","catch","e","console","log","fetchSubscriptionData","resp","subscriptionData","responseData","queryData","find","entry","Promise","all","map","data","succ","error","err","handleClick","closeTVOptionsModal","event","trackNewDatalayerEvent","GAEVENT","CTABUTTONCLICK","headline","linecheckSuccessAndCart","bundle","serviceOption","fetchServiceOptions","bloks","radioValue","_s","tvProductId","createCartCallAction","discountRef","promotionInfo","discountVersion","version","rewardsInfo","pointsBurnt","rewards","points","rewardOfferId","offerId","gloxTokenId","fromPopup","updateVasPopUp","sessionStorage","removeItem","staticCreateCart","AuthDataNew","setLoginCookie","ONE_ECOMMERCE_INTERNET_SUMMARY","linecheckData","loginData","isBundle","recommendAccessory","bundledOffers","productType","toLowerCase","combineWithVasOptions","productName","addEventListener","fetchPrice","useEffect","setTimeout","findHeight","result","checkGiftOrCashback","assign","TV","gigaSpeed","Netflix","Array","isArray","_u","_t","showModalPopup","updatedContent","_v","productContainer","store","ottOptionsApi","delay","getTimeUntilNextTimerEvent","timeout","clearTimeout","timerElement","current","updateTimerSpaceHeight","clientHeight","ResizeObserver","resizeObserver","observe","disconnect","_w","checkVasPopUp","vasPopUp","handleStorageChange","storageArea","key","newValue","handleCustomEvent","removeEventListener","setItem","Event","dispatchEvent","React","createElement","createPortal","Dotloader","keyParams","className","SkeletonLoader","Styles","selected","style","paddingBottom","activeicon","src","alt","width","height","subscriptionAvalTxt","inactiveicon","notSubscriptionTxt","_x","_z","_y","_0","default_full_slug","overlay","_2","_1","eligibility","fpb","disabled","flexDirection","bundleproductcard","_3","transition","productcontainer","highlightBorder","promocontainer","background","bestSellerColor","ref","timerContainer","_4","StaticLineTabelTimer","_5","hasHighlightText","onTimerChange","active","detailsection","imageFullWidthSection","headersection","titlesection","productheader","icon","_6","filename","imagecontainer","_7","productdescription","RichText","description","images","_8","img","imagespace","borderimage","_9","productconfig","Fragment","space","stylename","skeletontittle","count","skeletonline","_10","entitle","index","StaticProductEntitlement","enableTVStreamingOptions","_11","extraBenefits","StaticExclusiveBenefit","_12","benefitssection","_13","benefits","StaticBenefit","benefitData","togglePriceLabel","giftsection","_14","singleGift","GiftConfigV2","_15","giftConfig","ChooseGiftV2","parentPoType","StaticProductCashback","ordersection","base","DynamicPriceSection","priceCollection","promoText","discountedpricetoggleSection","togglePosition","UserLoggedPricesToggle","lineTable","P2PDiscountLabel","longterm","swapButton","padding","CheckoutButton","isDeviceFlow","msisdnn","uniqueProductBenefits","alwaysActive","_16","_18","_17","flexUpgradeFreePopup","_21","_20","forceDisabled","_23","_22","notEligibleReason","notEligibileReason","_25","_24","_26","addSmartPhone","textAlign","ctaLabel","onClick","buttontext","redirectOnly","FalconButtonV2","buttonType","buttonLabel","ultimateBundlePromotion","ultimateBundleLbl","_28","_27","buttonIcon","_30","_29","buttonAlignment","wafIdentifier","productcontractduration","paddingTop","_31","contractDuration","replacePlaceholder","_32","minContractDuration","substring","noContractDuration","productDetails","_33","productdetailslink","DOWNLOADPRODUCT","getEcomCartInfo","LINETABLE","productDetailsLink","StaticProductDetails","_35","_34","_37","_36","disabledInfo","fpbNotCompatibleText","TVChannelModal","setShowModal","showModal","_38","LoginModalV2","_39","closeLogin","onSuccess","GenericModal","modalState","handler","showFooter","backgroundColor","noCloseButton","backDrop","bodyPadding","PreToPostSubsPopup","onClose","_42","_41","_40","p2pBloks","prepaid","_45","_44","_43","ExsistingSubscriptionModal","onSubmit","exsistingSubscriptionData","enableLinecheckOverlay","_46","_48","_47","LinecheckModal","_50","_51","_53","_52","CoverageCheckModal","_55","body","overlayIsOpen","externalHandleModal","onCreateCart","_56","benefitsValidate","BenefitsValidateWrapper","_57","loginContent","_58","fixedWidth","OttServiceOptionsSmallPopup","optionsPopup","_59","addOptionsCallBack","val","preSelectedOptions","optionsResponse","updateResponseList"],"mappings":"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"}
|