import{a as H,b as Q}from"./chunk-ZUAASFBQ.js";import{c as V,e as J}from"./chunk-NCIXXIP4.js";import{e as j,h as u}from"./chunk-KRMR2HNP.js";import{a as g}from"./chunk-2HGKJJN5.js";import{a as p,b as A,c as k,d as $,e as _,f as L,g as D}from"./chunk-VHX2MOBG.js";import{a as G}from"./chunk-H24LMGDB.js";import{a as F}from"./chunk-5L2Z4GZW.js";import{c as y,d as B,r as O}from"./chunk-5LCR2OJC.js";import{a as c,d as v}from"./chunk-PQG2P4LG.js";import{a as f}from"./chunk-JWAFQ6PQ.js";import{f as S,h as R,i as s}from"./chunk-UZOHO7NA.js";import{a as U}from"./chunk-RVQPLMRF.js";import{f as q}from"./chunk-767ZUJWF.js";import{D as P}from"./chunk-QUA65JBC.js";import{Fa as x,Ma as I,Pa as T,Ra as K,Sa as l,Vd as N,Xd as b,a as h}from"./chunk-NRAZ4AKM.js";var W=new T("Key to specify the feature to search in storage"),w=new T("Configuration for compare feature");var d=function(t){return t[t.None=0]="None",t[t.Entities=1]="Entities",t[t.Both=2]="Both",t}(d||{});function X(t){return t?.idKey??"id"}function M(t){let e=t?.collection,a=e===void 0?"entityMap":`${e}EntityMap`,o=e===void 0?"ids":`${e}Ids`,r=e===void 0?"entities":`${e}Entities`;return{entityMapKey:a,idsKey:o,entitiesKey:r}}function z(t,e){return{entityMap:h({},t[e.entityMapKey]),ids:[...t[e.idsKey]]}}function Y(t,e,a){switch(a){case d.Both:return{[e.entityMapKey]:t.entityMap,[e.idsKey]:t.ids};case d.Entities:return{[e.entityMapKey]:t.entityMap};default:return{}}}function pt(t,e,a){let o=e[a];return t.entityMap[o]?d.None:(t.entityMap[o]=e,t.ids.push(o),d.Both)}function dt(t,e,a){let o=e[a];return t.entityMap[o]?(t.entityMap[o]=e,d.Entities):(t.entityMap[o]=e,t.ids.push(o),d.Both)}function lt(t,e,a){let o=d.None;for(let r of e){let i=dt(t,r,a);o!==d.Both&&(o=i)}return o}function ft(t,e){let a=Array.isArray(e)?e:t.ids.filter(r=>e(t.entityMap[r])),o=d.None;for(let r of a)t.entityMap[r]&&(delete t.entityMap[r],o=d.Both);return o===d.Both&&(t.ids=t.ids.filter(r=>r in t.entityMap)),o}function Z(t,e){let a=X(e),o=M(e);return r=>{let i=z(r,o),n=pt(i,t,a);return Y(i,o,n)}}function tt(t,e){let a=M(e);return o=>{let r=z(o,a),i=ft(r,[t]);return Y(r,a,i)}}function et(t,e){let a=X(e),o=M(e);return()=>{let r={entityMap:{},ids:[]};return lt(r,t,a),{[o.entityMapKey]:r.entityMap,[o.idsKey]:r.ids}}}function rt(t){let{entityMapKey:e,idsKey:a,entitiesKey:o}=M(t);return k(D({[e]:{},[a]:[]}),$(r=>({[o]:N(()=>{let i=r[e]();return r[a]().map(m=>i[m])})})))}var Pt=s` fragment SpotlightParamDetail on SpotlightParamDetail { value id __typename } `,Ct=s` fragment ProductComparisonSpotlightParam on ProductComparisonSpotlightParam { icon param details { ...SpotlightParamDetail } __typename } ${Pt}`,ht=s` fragment PictureNew on PictureNew { href rel } `,It=s` fragment CarouselPicture on CarouselPicture { displayOrder pictures { ...PictureNew } } ${ht}`,St=s` fragment ProductCompareImageItem on ProductCompareImageItem { id values { ...CarouselPicture } } ${It}`,Dt=s` fragment CompareProductsImages on CompareProductsImages { items { ...ProductCompareImageItem } } ${St}`,vt=s` fragment Rating on Rating { reviews value } `,Mt=s` fragment ProductCompareRatingItem on ProductCompareRatingItem { id values { ...Rating } } ${vt}`,Et=s` fragment CompareProductsRatings on CompareProductsRatings { items { ...ProductCompareRatingItem } } ${Mt}`,Tt=s` fragment DisplayDetails on DisplayDetails { brand shortName } `,bt=s` fragment ProductCompareDisplayDetailsItem on ProductCompareDisplayDetailsItem { id values { ...DisplayDetails } } ${Tt}`,wt=s` fragment CompareProductsDisplayDetails on CompareProductsDisplayDetails { items { ...ProductCompareDisplayDetailsItem } } ${bt}`,xt=s` fragment SpotlightParam on SpotlightParam { icon value param } `,Xt=s` fragment ProductCompareSpotlightItem on ProductCompareSpotlightItem { id values { ...SpotlightParam } } ${xt}`,Kt=s` fragment ProductComparisonCharacteristicItemDetail on ProductComparisonCharacteristicItemDetail { value id variants } `,Nt=s` fragment ProductComparisonCharacteristicItem on ProductComparisonCharacteristicItem { name checkbox differences details { ...ProductComparisonCharacteristicItemDetail } } ${Kt}`,Rt=s` fragment ProductComparisonCharacteristicGroup on ProductComparisonCharacteristicGroup { name icon items { ...ProductComparisonCharacteristicItem } } ${Nt}`,qt=s` fragment ProductComparisonHrefDetails on ProductComparisonHrefDetails { id href } `,At=s` query GetProductComparisonDetails($request: ProductComparisonDetailsRequest) { getProductComparisonDetailsResponse(request: $request) { images { ...CompareProductsImages } ratings { ...CompareProductsRatings } displayDetails { ...CompareProductsDisplayDetails } spotlightParams { ...ProductComparisonSpotlightParam } characteristics { ...ProductComparisonCharacteristicGroup } hrefDetails { ...ProductComparisonHrefDetails } productIds } } ${Dt} ${Et} ${wt} ${Ct} ${Rt} ${qt}`,ot=(()=>{let e=class e extends R{constructor(o){super(o),this.document=At}};e.\u0275fac=function(r){return new(r||e)(K(S))},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var it=(()=>{let e=class e{constructor(){this.apollo=l(S),this.getProductComparisonDetailsGQL=new ot(this.apollo),this.getProductComparisonDetailsGQL.client=F}getCompareProductsDetails(o){return this.getProductComparisonDetailsGQL.fetch({request:{productIds:o.map(r=>Number(r))}})}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function at(t){return t.productIds?.map((e,a)=>kt(e,t,a))||[]}function kt(t,e,a){let o=U.getHrefAndFallbackFromCarousel({carouselPictures:e.images?.items?.find(r=>r?.id===t)?.values,relType:"300x300"});return{abonamentAtasat:null,availability:void 0,base_price:void 0,brand:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.brand||u.brand,category:"telefoane",color:e.characteristics?.flatMap(r=>r?.items).find(r=>r?.name.toLowerCase()==="culoare")?.details?.find(r=>r?.id===t)?.value,file:"compare-products-to-product-impression.tracking.ts",id:u.id,img_url:o.href||o.fallback,installments:0,item_name_full:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.shortName||u.name,list:"compare",memory:e.characteristics?.flatMap(r=>r?.items).find(r=>r?.name.toLowerCase()==="capacitate")?.details?.find(r=>r?.id===t)?.value,name:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.shortName.toLowerCase()||u.name,period:1,position:a,price:void 0,promotion_name:void 0,retail_price:void 0,reviews:e.ratings?.items?.find(r=>r?.id===t)?.values?.value||null,transactionType:void 0,transactionSubType:void 0}}var $t={compareResponse:void 0,status:P.initial,comparePageIds:[]},Se=A(D($t),rt({entity:void 0,collection:"compare"}),L(t=>{let e=l(Storage),a=l(W),o=l(w),r=l(it);return{load(){let i=e.getItem(a);if(!i)return;let n=JSON.parse(i);n&&p(t,et(n,{collection:"compare"}))},persist(){e.setItem(a,JSON.stringify(t.compareEntities()))},itemAlreadyInState(i){return i?t.compareIds().includes(i):!1},addItemToCompare(i){let n=o();if(n&&t.compareIds().length>=n.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");p(t,Z(i,{collection:"compare"})),this.persist()},removeFromCompare(i){p(t,tt(i,{collection:"compare"})),this.persist()},getItemById(i){return t.compareEntityMap()?.[i]},getCompare(i){return p(t,n=>({status:P.loading})),r.getCompareProductsDetails(i).pipe(x(n=>n.data.getProductComparisonDetailsResponse&&!n.errors?this.writeResponse(n):this.detailsError()))},responseIds(){return t.compareResponse()?.data.getProductComparisonDetailsResponse?.displayDetails?.items?.map(i=>i?.id)},writeResponse(i){p(t,n=>({compareResponse:h({},i),status:P.success})),p(t,n=>({comparePageIds:q(i.data.getProductComparisonDetailsResponse?.productIds?.map(m=>Number(m)))}))},detailsError(){p(t,i=>({status:P.error})),p(t,i=>({comparePageIds:[]}))},setComparePageIds(i){p(t,n=>({comparePageIds:[...i]}))},addIdToComparePage(i){let n=o();if(n&&t.comparePageIds().length>=n.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");let m=t.comparePageIds();m.push(i),p(t,E=>({comparePageIds:[...m]}))},removeIdFromComparePage(i){let n=t.comparePageIds().filter(m=>m!==i);p(t,m=>({comparePageIds:[...n]}))}}}),_({onInit:t=>{let e=l(w);t.load(),b(()=>{let a=e()?.maxNumberOfProductsSupported;a&&a<t.compareIds().length&&t.removeFromCompare(t.compareIds()[t.compareIds().length-1])},{allowSignalWrites:!0}),b(()=>{let a=t.compareResponse()?.data.getProductComparisonDetailsResponse;if(a){let o={event:O.productImpression,page_type:Q.listing,page_section:H.main_offer,shop_type:"B2C",ecommerce:{currencyCode:f.EUR,impressions:{products:at(a)}}};G.analyticsPush(o)}})},onDestroy:t=>t.persist()}));function _t(t){if(!t)return"out-of-stock";let e=Lt(t.acquisition);return`${t.installment===v.None?"fara-rate":"in-rate"}-${e}`}function Lt(t){switch(t){case c.Acquisition:case c.AcquisitionPortIn:case c.AcquisitionPrepayToPostpaid:return"acquisition";case c.Loyalty:return"loyalty";case c.Standard:return"standard"}}function xe(t){switch(t){case c.Acquisition:return"New Subscription";case c.AcquisitionPrepayToPostpaid:return"Prepay New Subscription";case c.Loyalty:return"Renew Subscription";case c.Standard:return"Standard"}}function Ft(t){return t?.variants?.find(e=>e.code===t.code)?.capacity||t?.subTitle?.find(e=>e.toLowerCase().includes("gb"))?.replace(" ","").toUpperCase()||null}function Bt(t){return t.acquisition===c.Loyalty?t.installment===v.Oro?y.installment:y.subscription:t.acquisition===c.Standard?y.standard:t.acquisition===c.BudgetAcquisition?y.standard:y.acquisition}function Ot(t){switch(t){case c.Acquisition:return"acquisition_new_package";case c.AcquisitionPrepayToPostpaid:return"acquisition_ppy2ppd_package";case c.BudgetAcquisition:return"standard_budget";case c.Standard:return"standard_standard";default:return null}}function Ke({option:t,saleProductDetailsFragment:e,listingName:a,tbiInstallment:o,index:r,file:i}){{let n,m=j;if(t&&t.discriminator.acquisition!==c.Standard&&t.discriminator.acquisition!==c.BudgetAcquisition){let C;t.package?.agrTermPrices&&(C=t.package?.agrTermPrices[0]?.price?.value);let mt=t.package?.price?.value&&C?t.package?.price?.value!==C:!1;n={base_price:t.package?.price?.value||0,id:t.package?.ref||u.id,name:t.package?.displayName||u.name,period:Number(t.discriminator.agrTerm),price:C||0,discounted_subscription:mt}}else n=null;t?.discriminator.acquisition===c.Loyalty&&t.discriminator.installment===v.Oro&&t.price.installmentPeriod&&(m=t.price.installmentPeriod),o&&(m=o.months);let E=sessionStorage.getItem(e.code||u.id),nt=E||`${a}-${_t(t?.discriminator).toLowerCase()}-${V()}`,st=t?Bt(t.discriminator):void 0,ct=!t?.price.discount&&o?g(o.totalAmount,f.EUR):g(t?.price.referenceAmount,f.EUR),ut=o?g(o.totalAmount,f.EUR):g(t?.price.amount,f.EUR);return{abonamentAtasat:n,base_price:ct?.value,brand:e.brand?.toLocaleLowerCase()||u.brand,category:e.category?.name?.toLocaleLowerCase()||u.category,color:e.color?.name?.toLocaleLowerCase(),file:i,id:e.code||u.id,img_url:e?e.carouselPictures[0]:null,installments:m,item_name_full:e.displayName||u.name,list:nt,memory:Ft(e),name:e.displayName?.toLowerCase()||u.name,period:t?Number(t.discriminator.agrTerm):void 0,position:r,price:ut?.value,promotion_name:t?.price.discount?.offerName||null,transactionSubType:t?Ot(t.discriminator.acquisition):void 0,transactionType:st,availability:e.stockState?J(e.stockState):B.outOfStock,retail_price:g(e.priceVariants?.standardPrice.referenceAmount,f.EUR)?.value||void 0,reviews:e.rating?.reviews||null}}}export{W as a,w as b,Se as c,_t as d,Lt as e,xe as f,Ft as g,Ot as h,Ke as i};