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