import{b as A}from"./chunk-I6XJVXQ2.js";import{c as z,d as V}from"./chunk-CA5IAOZB.js";import{a as j}from"./chunk-5L2Z4GZW.js";import{F as $,e as T}from"./chunk-GYYYM227.js";import{f as F,i as m}from"./chunk-RN3RVYIR.js";import{d as n,e as i,s as G}from"./chunk-VYUKN3XQ.js";import{c as q}from"./chunk-AYHVL37M.js";import{h as B}from"./chunk-KXVCY5JT.js";import{L as x,Na as L,O as P,P as w,Ta as D,ca as y,l as p,wa as v}from"./chunk-XNQ3RS5P.js";var b=function(e){return e.CanBuy="CAN_BUY",e.CannotBuy="CANNOT_BUY",e}(b||{}),S=function(e){return e.Basic="BASIC",e.Premium="PREMIUM",e}(S||{}),ae=function(e){return e.ActionNotAllowed="ACTION_NOT_ALLOWED",e.AllMsisdnsNotEligible="ALL_MSISDNS_NOT_ELIGIBLE",e.CategoryNotEligible="CATEGORY_NOT_ELIGIBLE",e.CurrentMsisdnNotEligible="CURRENT_MSISDN_NOT_ELIGIBLE",e.FeatureNotAvailable="FEATURE_NOT_AVAILABLE",e.ImeiNotEligible="IMEI_NOT_ELIGIBLE",e.ImeiOrSerialNoNotValid="IMEI_OR_SERIAL_NO_NOT_VALID",e.InvalidProductDataFromTgw="INVALID_PRODUCT_DATA_FROM_TGW",e.NoEligibleCategories="NO_ELIGIBLE_CATEGORIES",e.NoExchangeRateAvailable="NO_EXCHANGE_RATE_AVAILABLE",e.NoInsuranceFound="NO_INSURANCE_FOUND",e.NoRequestedCategories="NO_REQUESTED_CATEGORIES",e.NoSaleProduct="NO_SALE_PRODUCT",e.NoTransactionData="NO_TRANSACTION_DATA",e.ProductNotEligible="PRODUCT_NOT_ELIGIBLE",e.RequestedTierNotAvailableForPurchase="REQUESTED_TIER_NOT_AVAILABLE_FOR_PURCHASE",e}(ae||{}),H,h=m(H||(H=p(["\n    fragment Money on Money {\n  currency\n  displayValue\n  value\n  valueWithoutVat\n}\n    "]))),Y,ne=m(Y||(Y=p(["\n    fragment InsuranceProductOfferedTierItem on InsuranceProductOfferedTierItem {\n  tier\n  startingPrice {\n    ...Money\n  }\n  state\n  isRequested\n}\n    ",""])),h),Q,oe=m(Q||(Q=p(["\n    fragment InsuranceOption on InsuranceOption {\n  insuranceId\n  tier\n  fee {\n    ...Money\n  }\n  state\n}\n    ",""])),h),k,M=m(k||(k=p(["\n    fragment InsuranceNotSellableReason on InsuranceNotSellableReason {\n  reason\n  message\n}\n    "]))),W,ie=m(W||(W=p(["\n    fragment InsurableProductItem on InsurableProductItem {\n  imei\n  oaCode\n  categoryId\n  displayName\n  imageHref\n  state\n  standardPriceNoVat {\n    ...Money\n  }\n  options {\n    ...InsuranceOption\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n","\n",""])),h,oe,M),X,se=m(X||(X=p(["\n    fragment InsuranceProductItem on InsuranceProductItem {\n  deviceCategoryId\n  requestedTier\n  name\n  insuranceId\n  offeredTiers {\n    ...InsuranceProductOfferedTierItem\n  }\n  insurableProducts {\n    ...InsurableProductItem\n  }\n  price {\n    ...Money\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n","\n","\n",""])),ne,ie,h,M),J,ue=m(J||(J=p(["\n    fragment CategoryMappedProducts on InsuranceProductCategorizedDetails {\n  categoryId\n  state\n  product {\n    ...InsuranceProductItem\n  }\n}\n    ",""])),se),K,ce=m(K||(K=p(["\n    fragment InsuranceProductPersonalizedDetails on InsuranceProductPersonalizedDetails {\n  categoryMappedProducts {\n    ...CategoryMappedProducts\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n",""])),ue,M),Z,ee=m(Z||(Z=p(["\n    query GetInsuranceProductCustomDetails($request: InsuranceProductDetailsRequest) {\n  getInsuranceProductCustomDetails(request: $request) {\n    ...InsuranceProductPersonalizedDetails\n  }\n}\n    ",""])),ce);var U=function(e){return e.Custom="custom",e}(U||{});var de=function(e){return e.Phone="Telefon",e.Tablet="Tableta",e.Smartwatch="Smartwatch",e.ConnectedObject="Obiect Conectat",e}(de||{}),le=function(e){return e.Phone="telefon",e.Tablet="tableta",e.Smartwatch="smartwatch",e.ConnectedObject="obiect-conectat",e}(le||{});var pe=[{title:"E necesar s\u0103 fiu abonat Orange pentru a \xEEncheia o asigurare?",category:"Asigurarea Orange",href:"https://www.orange.ro/servicii/asigurare/"},{title:"Ce trebuie s\u0103 fac \xEEn cazul unui accident sau al furtului?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/ce-trebuie-sa-fac-in-cazul-unui-accident-sau-al-furtului-11388"},{title:"Ce trebuie s\u0103 fac dup\u0103 validarea dosarului de daun\u0103?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/ce-trebuie-sa-fac-dupa-validarea-dosarului-11408"},{title:"Ce situa\u021Bii nu sunt acoperite de asigurare?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/ce-situatii-nu-sunt-acoperite-de-asigurare-11428"},{title:"Ce fac dac\u0103 abonamentul are deja inclus serviciul de Asigurare?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/ce-trebuie-sa-fac-daca-abonamentul-meu-are-deja-inclus-serviciul-de-asigurare-pentru-telefon-modem-sau-tableta-11468"},{title:"Ce se \xEEnt\xE2mpl\u0103 dac\u0103 device-ul meu nu poate fi reparat sau este furat?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/ce-se-intampla-daca-dispozitivul-meu-nu-poate-fi-reparat-sau-este-furat-11448"},{title:"Cum pot \xEEnchide contractul de asigurare?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/cum-pot-inchide-contractul-de-asigurare-11488"},{title:"\xCEn ce condi\u021Bii va \xEEnceta asigurarea f\u0103r\u0103 o notificare prealabil\u0103?",category:"Asigurarea Orange",href:"https://www.orange.ro/help/in-ce-conditii-va-inceta-asigurarea-fara-o-notificare-prealabila-din-partea-asiguratorului-sau-orange-11508"},{title:"\xCEntreab\u0103, r\u0103spunde, colaboreaz\u0103 \xEEn Comunitatea Orange",category:"Asigurarea Orange",href:"https://www.orange.ro/servicii/asigurare/"}],_e={productDescription:"Po\u021Bi alege dintre dou\u0103 tipuri de asigur\u0103ri: Basic sau Premium. Costul lunar al acestora \u0219i valoarea asigurat\u0103 depind de pre\u021Bul standard al device-ului cump\u0103rat. Tariful asigur\u0103rii alese, f\u0103r\u0103 TVA, va fi inclus pe factura ta Orange lunar\u0103.",productDescriptionOnlyPremium:"Costul lunar al acesteia \u0219i valoarea asigurat\u0103 depind de pre\u021Bul standard al device-ului cump\u0103rat. Tariful asigur\u0103rii alese, f\u0103r\u0103 TVA, va fi inclus pe factura ta Orange lunar\u0103.",descriptionTitle:"Descriere general\u0103",descriptionSubTitle:"Alege tipul de asigurare care \u021Bi se potrive\u0219te:",descriptionBasic:["Deteriorarea accidental\u0103 a echipamentului t\u0103u, fie c\u0103 este utilizat de tine sau de o alt\u0103 persoan\u0103 cu permisiunea ta.","Deteriorarea echipamentului cu rea-voin\u021B\u0103 de c\u0103tre o persoan\u0103 care folose\u0219te echipamentul f\u0103r\u0103 permisiunea ta."],descriptionPremium:["Furtul echipamentului t\u0103u (cu excep\u021Bia consolelor), inclusiv prin t\xE2lh\u0103rie, furt din buzunare, furt prin efrac\u021Bie.","\u0218i costurile suplimentare generate de o utilizare neautorizat\u0103 a echipamentului t\u0103u, p\xE2n\u0103 la suma maxim\u0103 de 500 EUR."],description:"Serviciul este disponibil pentru telefoane, tablete, modemuri, ceasuri inteligente, c\u0103\u0219ti \u0219i br\u0103\u021B\u0103ri inteligente, precum \u0219i console de joc \xEEn maxim 120 zile calendaristice de la achizi\u021Bie. Dup\u0103 aceast\u0103 perioada, vino \xEEn magazin!",selectionTitle:e=>"".concat(e," recent comandat ce poate fi asigurat"),selectionDescription:"Selecteaz\u0103 produsul pe care vrei s\u0103-l asiguri:",selectionImeiDescription:"sau adaug\u0103 codul ",faqsTitle:"\xCEntreb\u0103ri frecvente",faqs:pe,errorMessage:"Ne pare r\u0103u dar a intervenit o eroare, te rug\u0103m revii mai t\xE2rziu."},re="Orange";var o=function(e){return e.ADD_INSURANCE="[Cart] Add insurance",e.ADD_INSURANCE_ERROR="[Cart] Add insurance (error)",e.ADD_INSURANCE_SUCCESS="[Cart] Add insurance (success)",e.ADD_INSURANCE_PRODUCT="[Cart] Add insurance product",e.ADD_INSURANCE_PRODUCT_ERROR="[Cart] Add insurance product (error)",e.ADD_INSURANCE_PRODUCT_SUCCESS="[Cart] Add insurance product (success)",e.ADD_MULTIPLE_INSURANCE="[Cart] Add multiple insurance",e.ADD_MULTIPLE_INSURANCE_ERROR="[Cart] Add multiple insurance (error)",e.ADD_MULTIPLE_INSURANCE_SUCCESS="[Cart] Add multiple insurance (success)",e.CHANGE_INSURANCE_MSISDN="[Cart] Change insurance msisdn",e.CHANGE_INSURANCE_MSISDN_ERROR="[Cart] Change insurance msisdn (error)",e.CHANGE_INSURANCE_MSISDN_SUCCESS="[Cart] Change insurance msisdn (success)",e.REMOVE_INSURANCE="[Cart] Remove insurance",e.REMOVE_INSURANCE_ERROR="[Cart] Remove insurance (error)",e.REMOVE_INSURANCE_SUCCESS="[Cart] Remove insurance (success)",e.NO_ACTION_INSURANCE="[Cart] No action insurance",e.UPGRADE_INSURANCE="[Cart] Upgrade insurance",e.UPGRADE_INSURANCE_ERROR="[Cart] Upgrade insurance (error)",e.UPGRADE_INSURANCE_SUCCESS="[Cart] Upgrade insurance (success)",e}(o||{}),he=n(o.ADD_INSURANCE,i()),Ue=n(o.ADD_INSURANCE_ERROR,i()),Pe=n(o.ADD_INSURANCE_SUCCESS,i()),te=n(o.ADD_INSURANCE_PRODUCT,i()),ve=n(o.ADD_INSURANCE_PRODUCT_ERROR,i()),Te=n(o.ADD_INSURANCE_PRODUCT_SUCCESS,i()),be=n(o.ADD_MULTIPLE_INSURANCE,i()),Me=n(o.ADD_MULTIPLE_INSURANCE_ERROR,i()),xe=n(o.ADD_MULTIPLE_INSURANCE_SUCCESS,i()),we=n(o.CHANGE_INSURANCE_MSISDN,i()),ye=n(o.CHANGE_INSURANCE_MSISDN_ERROR,i()),Le=n(o.CHANGE_INSURANCE_MSISDN_SUCCESS,i()),Be=n(o.REMOVE_INSURANCE,i()),qe=n(o.REMOVE_INSURANCE_ERROR,i()),Ge=n(o.REMOVE_INSURANCE_SUCCESS,i()),Fe=n(o.NO_ACTION_INSURANCE),$e=n(o.UPGRADE_INSURANCE,i()),ze=n(o.UPGRADE_INSURANCE_ERROR,i()),Ve=n(o.UPGRADE_INSURANCE_SUCCESS,i());var ur=(()=>{let f=class f{constructor(){this.apollo=D(F),this.store=D(G),this.httpClient=D(B),this.insuranceCategoryOfferingsUrl=q.getInsuranceCategoryApi(),this.REQUEST_TIMEOUT=3e4,this.RETRY_COUNT=2}saveUserAgreement(t,r){let a=z(r.gdprConsents);this.store.dispatch(V({insuranceTermsAgreed:t,isAbove16:r.isAbove16,hasPaymentCommitment:r.hasPaymentCommitment,keepIdCard:r.keepIdCard,gdprConsents:a,notificationChannel:r.notificationChannel}))}fetchCategoryOfferings(){return this.httpClient.get(this.insuranceCategoryOfferingsUrl,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json"}}).pipe(P(this.REQUEST_TIMEOUT),v(this.RETRY_COUNT),y(this.handleError))}buildInsuranceProductDetailsRequest(t,r,a,c,s,u,l){return r||console.error("Active MSISDN is required to build the insurance product details request."),{deviceCategoryId:void 0,deviceImei:t===U.Custom?s:void 0,deviceOaCode:u,msisdn:r,orderId:l,productCategoryIds:a?[a]:[],tier:c}}getInsuranceProductCustomDetails(t){return this.apollo.use(j).query({query:ee,variables:{request:t},errorPolicy:"all",fetchPolicy:"cache-first"}).pipe(P(this.REQUEST_TIMEOUT),v(this.RETRY_COUNT),w(({data:r,errors:a,loading:c})=>{if(a&&a.length>0)return{success:!1,errors:a.map(l=>{var I,g;return{message:l.message,code:((I=l.extensions)==null?void 0:I.code)||"GRAPHQL_ERROR",field:((g=l.path)==null?void 0:g.join("."))||void 0}}),metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}};let s=r==null?void 0:r.getInsuranceProductCustomDetails;return s?{success:!0,data:{getInsuranceProductCustomDetails:s},metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}}:{success:!1,errors:[{message:"No product details returned from server",code:"EMPTY_RESPONSE"}],metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}}}))}processInsuranceProductDetails(t){if(!t)return{categoryMappedProducts:[],notSellableReason:null,isAvailable:!1,availableProducts:[]};let r=(t.categoryMappedProducts||[]).filter(s=>s!=null),a=r.filter(s=>s.state===b.CanBuy),c=t.notSellableReason||null;return{categoryMappedProducts:r,notSellableReason:c,isAvailable:a.length>0&&!c,availableProducts:a}}addInsurance(t,r,a,c,s){var d,C;if(!r||!a){console.error("Missing required fields: selectedProduct, selectedItem, or activeMsisdn");return}let l=t===U.Custom?c:r.imei,I=(C=(d=r.options)==null?void 0:d[0])==null?void 0:C.insuranceId,g=s===S.Basic?T.Basic:T.Premium,R=this.getInsuranceTerm(),_=this.getProductDetails(r,l),O=r.displayName||"",N=re;if(!I){console.error("Missing insuranceId");return}let E={productDetails:_,term:R,insuranceId:I,insuranceType:g,msisdn:a};this.dispatchAddInsuranceProduct(E,O,N)}calculateLoggedInInsurableProduct(t,r){var a,c;if(r===S.Basic){let s=t.options||[],u=A(s);return((a=u==null?void 0:u.fee)==null?void 0:a.value)||0}else{let s=t.options||[],u=A(s);return((c=u==null?void 0:u.fee)==null?void 0:c.value)||0}}calculateLoggedInItemPrice(t,r){var a,c,s,u,l,I,g,R,_,O;if(r===S.Basic){let N=((a=t.options)==null?void 0:a.BASIC)||((u=(s=(c=t.children)==null?void 0:c.find(d=>{var C;return((C=d==null?void 0:d.options)==null?void 0:C.BASIC)&&d.options.BASIC.length>0}))==null?void 0:s.options)==null?void 0:u.BASIC)||[],E=A(N);return((l=E==null?void 0:E.optionFee)==null?void 0:l.value)||0}else{let N=((I=t.options)==null?void 0:I.PREMIUM)||((_=(R=(g=t.children)==null?void 0:g.find(d=>{var C;return((C=d==null?void 0:d.options)==null?void 0:C.PREMIUM)&&d.options.PREMIUM.length>0}))==null?void 0:R.options)==null?void 0:_.PREMIUM)||[],E=A(N);return((O=E==null?void 0:E.optionFee)==null?void 0:O.value)||0}}getCategoryMappedProducts(t,r,a){if(t&&Array.isArray(r)&&r.length>0&&Array.isArray(a)&&a.length>0)return[...r,...a];if(t&&Array.isArray(r)&&r.length>0&&Array.isArray(a)&&a.length===0)return[...r];if(Array.isArray(a)&&a.length>0)return a}getProductDetails(t,r){return{oaCode:t.oaCode||"",imei:r||"",categoryId:t.categoryId||1,thumbnail:t.imageHref||""}}getInsuranceTerm(t=$.Months,r=24){return{unit:t,value:r}}dispatchAddInsuranceProduct(t,r,a){this.store.dispatch(te({insurance:t,deviceName:r,deviceBrand:a}))}handleError(t){return t.status===0?console.error("An error occurred:",t.error):console.error("Backend returned code ".concat(t.status,", body was: "),t.error),x(()=>new Error("Something bad happened; please try again later."))}generateRequestId(){return"req_".concat(Date.now(),"_").concat(Math.random().toString(36).substr(2,9))}};f.\u0275fac=function(r){return new(r||f)},f.\u0275prov=L({token:f,factory:f.\u0275fac,providedIn:"root"});let e=f;return e})();export{b as a,S as b,ae as c,de as d,le as e,U as f,he as g,Ue as h,Pe as i,te as j,ve as k,Te as l,be as m,Me as n,xe as o,we as p,ye as q,Le as r,Be as s,qe as t,Ge as u,Fe as v,$e as w,ze as x,Ve as y,_e as z,re as A,ur as B};