import{a as Q}from"./chunk-PR62ZVYK.js";import{e as K}from"./chunk-LMTFYFBP.js";import{a as E,b as d}from"./chunk-UBPC4FNO.js";import{a as V}from"./chunk-2QDNDRJH.js";import{b as Y}from"./chunk-355LM6CR.js";import{a as h,d as I,k as T}from"./chunk-XXHI3I2Z.js";import{R as W}from"./chunk-HMS3LRP2.js";import{a as _}from"./chunk-JWAFQ6PQ.js";import{i as P}from"./chunk-PQ4LRPD5.js";import{a as X}from"./chunk-O7K2RE33.js";import{l as w,n as j}from"./chunk-MGYJOL7Z.js";import{D as q,d as c,e as i,s as M,v as u,w as $}from"./chunk-QYQ7WNYU.js";import{Ba as N,La as F,O as x,Qa as U,Z as L,s as G}from"./chunk-HC2G7LSI.js";var o=function(e){return e.GET_SMALL_RELATED_PRODUCTS="[Recommendation] Get small related products",e.GET_SMALL_RELATED_PRODUCTS_ERROR="[Recommendation] Get small related products [Error]",e.GET_SMALL_RELATED_PRODUCTS_SUCCESS="[Recommendation] Get small related products [Success]",e.SET_RELATED_PRODUCTS_SLIDER="[Recommendation] Set related slider products",e.FILTER_RELATED_PRODUCTS_SLIDER="[Recommendation] Filter related slider products",e.GET_RELATED_PRODUCTS_SLIDER_PRICE="[Recommendation] Get related slider price",e.GET_RELATED_PRODUCTS_SLIDER_PRICE_ERROR="[Recommendation] Get related slider price [Error]",e.GET_RELATED_PRODUCTS_SLIDER_PRICE_SUCCESS="[Recommendation] Get related slider price [Success]",e.FILTER_BOUGHT_TOGETHER="[Recommendation] Filter bought together",e.GET_BOUGHT_TOGETHER="[Recommendation] Get bought together",e.GET_BOUGHT_TOGETHER_ERROR="[Recommendation] Get bought together [Error]",e.GET_BOUGHT_TOGETHER_SUCCESS="[Recommendation] Get bought together [Success]",e.SET_BOUGHT_TOGETHER_ALL_PRICE="[Recommendation] Get bought together all price",e.GET_BOUGHT_TOGETHER_PRICE="[Recommendation] Get bought together price",e.GET_BOUGHT_TOGETHER_PRICE_ERROR="[Recommendation] Get bought together price [Error]",e.GET_BOUGHT_TOGETHER_PRICE_SUCCESS="[Recommendation] Get bought together price [Success]",e.LOAD_MORE_BOUGHT_TOGETHER_PRODUCTS="[Recommendation] Load more bought together products",e.LOAD_MORE_BOUGHT_TOGETHER_PRODUCTS_SUCCESS="[Recommendation] Load more bought together products [Success]",e.SET_DISPLAYED_COUNT_BOUGHT_TOGETHER_PRODUCTS="[Recommendation] Set displayed count bought together products",e.SET_IS_LOADED_BOUGHT_TOGETHER_PRODUCTS="[Recommendation] Set is loaded bought together products",e.CLEAR_RELATED_PRODUCTS_SLIDER_PRICES="[Recommendation] Clear related products slider prices",e}(o||{});var be=c(o.FILTER_BOUGHT_TOGETHER,i()),He=c(o.GET_BOUGHT_TOGETHER,i()),ke=c(o.GET_BOUGHT_TOGETHER_ERROR,i()),Be=c(o.GET_BOUGHT_TOGETHER_SUCCESS,i()),Ae=c(o.SET_BOUGHT_TOGETHER_ALL_PRICE,i()),ve=c(o.GET_BOUGHT_TOGETHER_PRICE,i()),Ne=c(o.GET_BOUGHT_TOGETHER_PRICE_ERROR,i()),Fe=c(o.GET_BOUGHT_TOGETHER_PRICE_SUCCESS,i()),Me=c(o.LOAD_MORE_BOUGHT_TOGETHER_PRODUCTS,i()),$e=c(o.LOAD_MORE_BOUGHT_TOGETHER_PRODUCTS_SUCCESS,i()),qe=c(o.SET_DISPLAYED_COUNT_BOUGHT_TOGETHER_PRODUCTS,i()),we=c(o.SET_IS_LOADED_BOUGHT_TOGETHER_PRODUCTS,i()),z=c(o.GET_SMALL_RELATED_PRODUCTS,i()),je=c(o.GET_SMALL_RELATED_PRODUCTS_ERROR,i()),Ve=c(o.GET_SMALL_RELATED_PRODUCTS_SUCCESS,i()),We=c(o.FILTER_RELATED_PRODUCTS_SLIDER,i()),Xe=c(o.SET_RELATED_PRODUCTS_SLIDER,i()),Ye=c(o.GET_RELATED_PRODUCTS_SLIDER_PRICE),Ke=c(o.GET_RELATED_PRODUCTS_SLIDER_PRICE_ERROR,i()),Qe=c(o.GET_RELATED_PRODUCTS_SLIDER_PRICE_SUCCESS,i()),ze=c(o.CLEAR_RELATED_PRODUCTS_SLIDER_PRICES);var J=$("recommendation"),g=u(J,e=>e.boughtTogetherState),de=u(g,e=>e.allProducts),tt=u(g,e=>e.status),rt=u(g,e=>e.displayedProducts),ot=u(g,e=>e.displayedCount),ct=u(g,e=>e.isLoaded),y=u(g,e=>e.productsPrice),Z=u(J,e=>e.relatedProductsState),me=u(Z,e=>e.products),b=u(Z,e=>e.productsPrice),nt=u(me,b,(e,s)=>e?.map(a=>({product:a,price:s?.find(t=>t.id===a.productId)})).filter(a=>a.price)),le=u(de,y,(e,s)=>e?.map(a=>({product:a,price:s?.find(t=>t.id===a.productId)})).filter(a=>a.price)),it=e=>u(le,s=>s?.find(a=>a.product.productId===e)),st=u(g,e=>{if(e.status===q.loading||e.error||!e?.displayedProducts||!e?.productsPrice)return;let a=e.displayedProducts?.length>=2,t=e.productsPrice?.length>=2;return a&&t});var H=function(e){return e.InStock="IN_STOCK",e.LimitedStock="LIMITED_STOCK",e.OutOfStock="OUT_OF_STOCK",e.Preorder="PREORDER",e}(H||{});var C=function(e){return e.BoughtTogether="BOUGHT_TOGETHER",e.RelatedProducts="RELATED_PRODUCTS",e}(C||{});var ee=P`
    fragment Money on Money {
  currency
  displayValue
  value
  valueWithoutVat
}
    `,pe=P`
    fragment SalePriceDiscount on SalePriceDiscount {
  fixValue {
    ...Money
  }
  offerName
  percentageValue
  type
  period
  periodType
}
    ${ee}`,Ee=P`
    fragment RecommendationPrice on RecommendationPrice {
  amount {
    ...Money
  }
  discount {
    ...SalePriceDiscount
  }
}
    ${ee}
${pe}`,Se=P`
    fragment DotDiscount on DotDiscount {
  oaCode
  type
  text
  filters
  value
  start
  end
  campaignId
  campaignTitle
}
    `,Te=P`
    fragment RecommendationResponse on RecommendationResponse {
  productId
  productCode
  title
  subTitle
  href
  brand
  imageURL
  variantColorCodes
  price {
    ...RecommendationPrice
  }
  dotDiscount {
    ...DotDiscount
  }
  hardDisk
  color
  stockState
  carouselPicturesNew {
    __typename
    displayOrder
    pictures {
      __typename
      rel
      href
    }
  }
}
    ${Ee}
${Se}`,mt=P`
    query GetRecommendationsQuery($recommendationsRequest: RecommendationsRequest) {
  getRecommendations(recommendationsRequest: $recommendationsRequest) {
    ...RecommendationResponse
  }
}
    ${Te}`;var Re="REFERENCE",_e="SALE",te={reference:Re,sale:_e};var Pe="sufficientStock",ge="limitedStock",fe="noStock",Oe="preorder",he="expired",f={sufficientStock:Pe,limitedStock:ge,noStock:fe,preorder:Oe,expired:he};function ft(e){switch(e){case E.acquisition:return"acquisition";case E.installment:return"loyalty-in-rate";case E.standard:return"standard";case E.subscription:return"loyalty-fara-rate"}}function re(){return window.innerWidth<576?"mobile":"desktop"}function Ot(e){return Q(e,_.EUR)?.value??0}function ht(e){switch(e){case f.expired:return d.outOfStock;case f.limitedStock:return d.inStock;case f.noStock:return d.outOfStock;case f.preorder:return d.outOfStock;case f.sufficientStock:return d.inStock;case T.EndOfLife:return d.outOfStock;case T.InStock:return d.inStock;case T.OutOfStock:return d.outOfStock;case T.Preorder:return d.outOfStock;default:return d.inStock}}function Dt(e,s=te.sale){return e?.find(a=>a.priceType===s)?.moneyEurWithVat?.value??0}var jt=(()=>{let s=class s extends V{constructor(t,r){super(),this.store=t,this.storeSelector=r,this.activeTabNotFrequentlyBoughtTogether$=new G,this.destroyedProductPage$=new G}convertProductsToSmallProducts(t){return t.map(r=>({id:r.productId,alt:r.brand+" "+r.title,href:r.href?r.href:"",picture:X.getHrefAndFallbackFromCarousel({carouselPictures:r.carouselPicturesNew,relType:"100x100"})}))}destroyedProductPage(){this.destroyedProductPage$.next(!0),this.destroyedProductPage$.complete()}getProductPrices(t,r){let m=r===C.RelatedProducts?b:y;return this.store.select(m).pipe(L(Boolean),x(p=>p?.find(l=>l.id===t)?.priceVariants))}getRelatedProducts(t,r){let m={msisdn:r||"",productId:t,shouldOffer:!1,type:C.RelatedProducts};this.store.dispatch(z({recommendationsRequest:m}))}isLoggedIn$(){return this.storeSelector.getWithSelector(w)}isPostPaidUser$(){return this.isLoggedIn$().pipe(L(Boolean),N(()=>this.storeSelector.getWithSelector(W)),x(Y))}mapRecommendedProductToRecommendedProductTracking(t,r,m,p,l,D){let{product:n,price:R}=t,{installmentPrice:oe,acquisitionPrice:ce,standardPrice:k}=this.processPriceVariants(R.priceVariants),B=`${n.href?.split("/")[n.href?.split("/").length-1].split("-").join(" ")}`,S=this.getRecommendedProductTrackingInfoBasedOnAvailableSellingOptionsAndUserType(oe,ce,k,r,m,R),ne=S?.displayedPrice?.find(O=>O?.currency===_.EUR)?.value,ie=S?.basePrice?.find(O=>O?.currency===_.EUR)?.value,se=k?.referenceAmount?.find(O=>O?.currency===_.EUR)?.value,ae=n.stockState===H.OutOfStock?d.outOfStock:d.inStock,ue=l?.item?.stockState===T.InStock||l?.item?.stockState===T.Preorder?"bottom-instock":"middle-outofstock",A=`product-${D}-${l?`${ue}-`:""}${re()}`,v=sessionStorage.getItem(n.productCode?.toString()??"0");return v||sessionStorage.setItem(n.productCode?.toString()??"0",A),{abonamentAtasat:S?.attachedSubscription,availability:ae,base_price:Number(ie),brand:n.brand??"",category:"telefoane",color:n.color,file:"related-products.service.ts:167",id:n.productCode?.toString()??"0",img_url:n.imageURL,installments:S?.installmentsPeriod??K,item_name_full:B,list:v??A,memory:n.hardDisk?.toString()??"",name:B.toLowerCase(),period:S?.transactionType===E.standard?0:24,position:p,price:Number(ne),promotion_name:S?.promotionName,retail_price:Number(se),transactionSubType:S?.transactionSubType,transactionType:S?.transactionType,reviews:null}}processPriceVariants(t){let r,m,p;return t?.allPriceVariants?.forEach(l=>{l.discriminator.acquisition===h.Loyalty&&l.discriminator.installment===I.Oro&&(r=this.extractRecommendedPrice(l)),l.discriminator.acquisition===h.Acquisition&&(m=this.extractRecommendedPrice(l))}),p=t?.standardPrice,{installmentPrice:r,acquisitionPrice:m,standardPrice:p}}extractRecommendedPrice(t){return t.items?t.items[0].price:void 0}getRecommendedProductTrackingInfoBasedOnAvailableSellingOptionsAndUserType(t,r,m,p,l,D){if(t?.installmentAmount&&!p||t?.installmentAmount&&p&&l){let n=D.priceVariants?.allPriceVariants?.find(R=>R.discriminator.acquisition===h.Loyalty&&R.discriminator.installment===I.Oro)?.items[0].salePackage;return{basePrice:t.referenceAmount,displayedPrice:t.amount,installmentsPeriod:t?.installmentPeriod||void 0,promotionName:t.discount?.offerName,transactionType:E.installment,attachedSubscription:{base_price:n?.price?.value||0,id:n?.ref||"",name:n?.displayName||"",period:24,price:n?.price?.value||0,discounted_subscription:!1}}}if(!t?.installmentAmount&&!p&&r||!t?.installmentAmount&&r&&p){let n=D.priceVariants?.allPriceVariants?.find(R=>R.discriminator.acquisition===h.Acquisition)?.items[0].salePackage;return{basePrice:r.referenceAmount,displayedPrice:r.amount,promotionName:r.discount?.offerName,transactionSubType:"acquisition_new_package",transactionType:E.acquisition,attachedSubscription:{base_price:n?.price?.value||0,id:n?.ref||"",name:n?.displayName||"",period:24,price:n?.price?.value||0,discounted_subscription:!1}}}if(m&&!t?.installmentAmount&&!r?.amount)return{basePrice:m.referenceAmount,displayedPrice:m?.amount,promotionName:m.discount?.offerName,transactionType:E.standard}}};s.\u0275fac=function(r){return new(r||s)(U(M),U(j))},s.\u0275prov=F({token:s,factory:s.\u0275fac,providedIn:"root"});let e=s;return e})();export{te as a,ft as b,re as c,Ot as d,ht as e,Dt as f,be as g,He as h,ke as i,Be as j,ve as k,Ne as l,Fe as m,Me as n,$e as o,qe as p,we as q,z as r,je as s,Ve as t,We as u,Xe as v,Ye as w,Ke as x,Qe as y,ze as z,C as A,mt as B,g as C,de as D,tt as E,rt as F,ot as G,ct as H,y as I,Z as J,me as K,b as L,nt as M,le as N,it as O,st as P,jt as Q};