1import{Q as ke}from"./QPage-gU6cnzYu.js";import{aT as ne,aN as T,aG as D,aU as f,aV as d,aX as o,aW as c,a_ as a,aY as C,aZ as q,b1 as r,bb as V,bc as $,bU as M,b7 as X,b9 as j,ba as z,bW as G,b5 as ce,aI as Te,aB as F,bX as Ee,bj as me,bm as ve,bC as we,bu as pe,bL as ge,bv as ae,aS as Be,bo as oe,bD as fe,bJ as de,bY as Re,bH as Ve,u as $e,bt as ie,a as N,bw as Ue,bV as Ae}from"./index-DiTVmeQA.js";import{V as ee,b as De,i as Pe,a as Fe,e as H,f as R,l as K,g as W,d as Le,T as re}from"./main-DcJ9lePy.js";import{f as Qe}from"./FixitFavoriteHeart-ZHLWwDaV.js";import{a as A}from"./QExpansionItem-BaciKLgw.js";import{R as ye,C as Ne,u as Oe}from"./CartMutationComposable-Dgzyb1rG.js";import{T as te}from"./TreatmentListItem-ot-nXCqB.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const qe={class:"gt-sm"},Me={style:{color:"var(--q-primary)"}},je={key:0,class:"vit-text-l-regular"},ze={class:"row"},Ge={class:"fixed-bottom bg-white vit-px-md vit-pb-md"},ue=ne({__name:"TreatmentFilter",props:{employees:{},selectedEmployees:{},departments:{},selectedDepartment:{},useSalonTheme:{type:Boolean}},emits:["updateSelectedEmployee","updateSelectedDepartment"],setup(n,{emit:E}){const m=n,x=E,v=T(!0),I=T((m.departments&&m.departments?.length>0)??!1),h=T(!1);function p(){h.value=!0}const b=T([...m.selectedEmployees]),g=T(m.selectedDepartment??null);D(()=>m.selectedEmployees,t=>{b.value=[...t]}),D(()=>m.selectedDepartment,t=>{g.value=t??null});function y(t){g.value===t?(g.value=null,x("updateSelectedDepartment",null)):(g.value===null&&t===m.selectedDepartment&&(g.value=t),x("updateSelectedDepartment",t))}function i(t){const s=b.value.indexOf(t);s>-1?b.value.splice(s,1):b.value.push(t),x("updateSelectedEmployee",b.value)}return(t,s)=>(d(),f("div",null,[o(a(ee),{class:"lt-md vit-mt-sm",onClick:s[0]||(s[0]=e=>p()),variant:"text",size:"large",icon:"fxt-filter",cta:""}),c("div",qe,[c("div",Me,[n.departments&&n.departments.length?(d(),C(A,{key:0,modelValue:I.value,"onUpdate:modelValue":s[1]||(s[1]=e=>I.value=e),label:"Avdeling",expandIcon:"fxt-chevron-down","header-class":`vit-text-l-bold vit-pl-sm ${n.useSalonTheme?"":"text-vit-primary"}`},{default:r(()=>[(d(!0),f(V,null,$(n.departments,e=>(d(),f("div",{key:e.siteId},[M((d(),C(H,{tag:"label",dense:"",class:"no-padding"},{default:r(()=>[o(R,{class:"no-padding",side:"",top:""},{default:r(()=>[c("div",null,[o(K,{"model-value":g.value===e.siteId,"onUpdate:modelValue":()=>y(e.siteId),val:e.siteId,"keep-color":"","checked-icon":"fxt-checked",size:"35px","unchecked-icon":"fxt-unchecked"},null,8,["model-value","onUpdate:modelValue","val"])])]),_:2},1024),o(R,null,{default:r(()=>[o(W,{class:X(["vit-text-l-regular",g.value===e.siteId?"text-vit-primary":""])},{default:r(()=>[j(z(e.name),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1024)),[[G]])]))),128))]),_:1},8,["modelValue","header-class"])):q("",!0),o(A,{modelValue:v.value,"onUpdate:modelValue":s[2]||(s[2]=e=>v.value=e),label:"Ansatte",expandIcon:"fxt-chevron-down","header-class":`vit-text-l-bold vit-pl-sm ${n.useSalonTheme?"":"text-vit-primary"}`},{default:r(()=>[n.employees.length?(d(!0),f(V,{key:1},$(n.employees,e=>(d(),f("div",{key:e.base64EmployeeId??e.employeeIdBase64},[M((d(),C(H,{tag:"label",dense:"",class:"no-padding"},{default:r(()=>[o(R,{class:"no-padding",side:"",top:""},{default:r(()=>[c("div",null,[o(K,{"model-value":b.value.includes(e.base64EmployeeId??e.employeeIdBase64),"onUpdate:modelValue":()=>i(e.base64EmployeeId??e.employeeIdBase64),val:e.base64EmployeeId??e.employeeIdBase64,"keep-color":"","checked-icon":"fxt-checked",size:"35px","unchecked-icon":"fxt-unchecked"},null,8,["model-value","onUpdate:modelValue","val"])])]),_:2},1024),o(R,null,{default:r(()=>[o(W,{class:X(["vit-text-l-regular",b.value.includes(e.base64EmployeeId??e.employeeIdBase64)?"text-vit-primary":""])},{default:r(()=>[j(z(e.firstName),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1024)),[[G]])]))),128)):(d(),f("p",je,"Velg en avdeling for å se ansatte"))]),_:1},8,["modelValue","header-class"])])]),o(Fe,{class:"lt-md",modelValue:h.value,"onUpdate:modelValue":s[7]||(s[7]=e=>h.value=e),persistent:"",maximized:"","transition-show":"slide-right","transition-hide":"slide-left"},{default:r(()=>[o(De,null,{default:r(()=>[o(Pe,{class:"vit-pt-none flex column justify-between no-wrap full-height"},{default:r(()=>[c("div",null,[c("div",ze,[o(Qe),o(a(ee),{class:"vit-py-sm",onClick:s[3]||(s[3]=e=>h.value=!1),variant:"text",prependIcon:"fxt-close"})]),n.departments&&n.departments.length?(d(),C(A,{key:0,modelValue:I.value,"onUpdate:modelValue":s[4]||(s[4]=e=>I.value=e),label:"Avdeling",expandIcon:"fxt-chevron-down","header-class":`vit-text-l-bold vit-pl-sm ${n.useSalonTheme?"":"text-vit-primary"}`},{default:r(()=>
1[(d(!0),f(V,null,$(n.departments,e=>(d(),f("div",{key:e.siteId},[M((d(),C(H,{tag:"label",dense:"",class:"no-padding"},{default:r(()=>[o(R,{class:"no-padding",side:"",top:""},{default:r(()=>[c("div",null,[o(K,{"model-value":g.value===e.siteId,"onUpdate:modelValue":()=>y(e.siteId),val:e.siteId,"keep-color":"","checked-icon":"fxt-checked",size:"35px","unchecked-icon":"fxt-unchecked"},null,8,["model-value","onUpdate:modelValue","val"])])]),_:2},1024),o(R,null,{default:r(()=>[o(W,{class:X(["vit-text-l-regular",g.value===e.siteId?"text-vit-primary":""])},{default:r(()=>[j(z(e.name),1)]),_:2},1032,["class"])]),_:2},1024)]),_:2},1024)),[[G]])]))),128))]),_:1},8,["modelValue","header-class"])):q("",!0),n.employees&&n.employees.length?(d(),C(A,{key:1,modelValue:v.value,"onUpdate:modelValue":s[5]||(s[5]=e=>v.value=e),label:"Ansatte",expandIcon:"fxt-chevron-down","header-class":"vit-text-l-bold vit-pl-sm"},{default:r(()=>[(d(!0),f(V,null,$(n.employees,e=>(d(),f("div",{key:e.base64EmployeeId??e.employeeIdBase64},[M((d(),C(H,{tag:"label",dense:"",class:"no-padding"},{default:r(()=>[o(R,{class:"no-padding",side:"",top:""},{default:r(()=>[o(K,{"model-value":b.value.includes(e.base64EmployeeId??e.employeeIdBase64),val:e.base64EmployeeId??e.employeeIdBase64,"onUpdate:modelValue":()=>i(e.base64EmployeeId??e.employeeIdBase64),"keep-color":"",size:"35px","checked-icon":"fxt-checked","unchecked-icon":"fxt-unchecked"},null,8,["model-value","val","onUpdate:modelValue"])]),_:2},1024),o(R,null,{default:r(()=>[o(W,{class:"vit-text-l-regular"},{default:r(()=>[j(z(e.firstName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)),[[G]])]))),128))]),_:1},8,["modelValue"])):q("",!0)])]),_:1}),c("div",Ge,[o(a(ee),{class:"vit-py-lg",onClick:s[6]||(s[6]=e=>h.value=!1),prependIcon:"fxt-filter",text:"Oppdater",fullwidth:""})])]),_:1})]),_:1},8,["modelValue"])]))}}),He={key:0},Ke={class:"vit-py-sm"},We={key:1},Ye={class:"vit-py-sm"},Xe={class:"vit-py-sm"},Je=ne({__name:"TreatmentsList",props:{user:{},cart:{},treatmentsByCategory:{},selectedCategories:{},favoriteTreatmentsIds:{},recEngineItems:{},useSalonTheme:{type:Boolean},showRecEngineItems:{type:Boolean},bookingConfig:{}},emits:["redirect","add-to-cart","update-categories","button-redirect"],setup(n,{emit:E}){const m=E,x=ce(),v=T(!0),I=T(!0),h=n;Te(()=>{h.favoriteTreatmentsIds.length&&(I.value=!1),!h.recEngineItems?.length&&!h.favoriteTreatmentsIds.length&&p(h.treatmentsByCategory[0]?.urlSafeName??"")});const p=y=>{m("update-categories",y)},b=F(()=>{const y=h.treatmentsByCategory.flatMap(i=>i.treatments);return y&&y.length?y.filter(i=>h.favoriteTreatmentsIds.includes(i.treatmentId)):[]});function g(y){const t="type"in y?y.id:y.treatmentId;return h.favoriteTreatmentsIds.includes(t)}return(y,i)=>(d(),C(Le,null,{default:r(()=>[b.value.length?(d(),f("div",He,[o(A,{duration:200,modelValue:v.value,"onUpdate:modelValue":i[1]||(i[1]=t=>v.value=t),icon:"fxt-heart-filled text-primary",expandIcon:"fxt-chevron-down",label:"Mine favorittbehandlinger",class:"header-icon","header-class":(a(x).screen.lt.md?"vit-text-l-bold":"vit-text-2xl-regular")+" no-wrap scoped"},{default:r(()=>[c("div",Ke,[(d(!0),f(V,null,$(b.value,t=>(d(),C(a(te),{key:t.treatmentId,treatment:t,useSalonTheme:n.useSalonTheme,isAdded:n.cart?.treatmentIds?.includes(t.treatmentId),bookingConfig:n.bookingConfig,isFavorite:!0,onAddToCart:s=>m("add-to-cart",t),onRedirect:s=>m("redirect",t),onButtonRedirect:i[0]||(i[0]=s=>m("button-redirect",n.bookingConfig.url))},null,8,["treatment","useSalonTheme","isAdded","bookingConfig","onAddToCart","onRedirect"]))),128))])]),_:1},8,["modelValue","header-class"]),i[5]||(i[5]=c("hr",{class:"divider-line"},null,-1))])):q("",!0),n.showRecEngineItems&&n.recEngineItems&&n.recEngineItems.length?(d(),f("div",We,[o(A,{duration:200,modelValue:I.value,"onUpdate:modelValue":i[3]||(i[3]=t=>I.value=t),icon:"fxt-star-filled text-primary",expandIcon:"fxt-chevron-down",label:`${n.user?.onlineSluttKundeId?"Anbefalte":"Populære"} behandlinger`,class:"header-icon","header-class":(a(x).screen.lt.md?"vit-text-l-bold":"vit-text-2xl-regular")+" no-wrap scoped"},{default:r(()=>[c("div",Ye,[(d(!0),f(V,null,$(n.recEngineItems.filter(t=>t.type==a(ye).T),t=>(d(),C(a(te),{key:t.id,treatment:a(Ee)(t),useSalonTheme:n.useSalonTheme,isAdded:n.cart?.treatmentIds?.includes(t.id),bookingConfig:n.bookingConfig,isFavorite:g(t),onAddToCart:s=>m("add-to-cart",t),onRedirect:s=>m("redirect",t),onButtonRedirect:i[2]||(i[2]=s=>m("button-redirect",n.bookingConfig.url))},null,8,["treatment","useSalonTheme","isAdded","bookingConfig","isFavorite","onAddToCart","onRedirect"]))),128))])]),_:1},8,["modelValue","label","header-class"]),i[6]||(i[6]=c("hr",{class:"divider-line"},null,-1))])):q("",!0),(d(!0),f(V,null,$(n.treatmentsByCategory,(t,s)=>(d(),f("div",{key:t.treatmentCategoryId},[o(A,{duration:500,"model-value":n.selectedCategories.includes(t.urlSafeName),"onUpdate:modelValue":e=>p(t.urlSafeName),"expand-separator":"",expandIcon:"fxt-chevron-down",label:t.categoryName,"header-class":a(x).screen.lt.md?"vit-text-l-bold":"vit-text-2xl-regular"},{default:r(()=>[c("div",Xe,[(d(!0),f(V,null,$(t.treatments,e=>(d(),C(a(te),{key:e.treatmentId,treatment:e,useSalonTheme:n.useSalonTheme,isAdded:n.cart?.treatmentIds?.includes(e.treatmentId),bookingConfig:n.bookingConfig,isFavorite:g(e),onAddToCart:k=>m("add-to-cart",e),onRedirect:k=>m("redirect",e),onButtonRedirect:i[4]||(i[4]=k=>m("button-redirect",n.bookingConfig.url))},null,8,["treatment","useSalonTheme","isAdded","bookingConfig","isFavorite","onAddToCart","onRedirect"]))),128))])]),_:2},1032,["model-value","onUpdate:modelValue","label","header-class"]),i[7]||(i[7]=c("hr",{class:"divider-line"},null,-1))]))),128))]),_:1}))}}),Ze=T(!1),Y=T([]),O=T("");function _e(n,E){const m=me(),x=ve(),v=we(),I=pe(),h=ge(),p=Be({employees:[],siteId:null}),b=F(()=>v.searchTreatmentsByCategories(O.value)),g=F(()=>{const u=new URLSearchParams;return p.siteId&&u.append("siteId",p.siteId.toString()),p.employees.length&&u.append("employees",p.employees.join(",")),Y.value.length&&u.append("categories",Y.value.join(",")),O.value&&u.append("search",O.value),`?${u.toString()}`});D(g,u=>{ae().crossSite||m.replace({path:x.path,query:Object.fromEntries(new URLSearchParams(u))})}),D(p,async()=>await s(),{deep:!0}),D(()=>p.siteId,(u,w)=>{const B=p.employees.length===1?p.employees[0]:void 0;k(u?[u]:E,B),u&&u!=w&&e(u)});const y=u=>{Object.assign(p,u)},i=u=>{Y.value=u},t=u=>{O.value=u};async function s(){oe.show({customClass:"fixit-default-spinner"}),await v.GetCategoriesWithTreatments(n,p.siteId?[p.siteId]:E,p.employees),oe.hide()}async function e(u){await fe().fetchEmployees(u)}async function k(u,w){const B=ae(),P={treatmentIds:B.cartTreatments.length>0?B.cartTreatments.map(U=>U.urlSafe):null,productIds:B.cartProductAndBundleIds.length>0?B.cartProductAndBundleIds:null},J={onlineSluttKundeId:I.user?.onlineSluttKundeId,chainId:n,siteIds:u,itemType:ye.T,location:w?de.EMPLOYEE_PAGE:de.HOME_PAGE,channel:Ne.HomePage,quantity:5,cartItemsIds:P.treatmentIds||void 0,employeeId:w},Q=await Re(Ve).GetRecommendationItems("https://freapi.fixit.no",J);Q&&Array.isArray(Q)&&h.setRecEngineItemsTreatmentsPage(Q)}return{filterState:p,categories:Y,queryString:g,isLoading:Ze,setFilter:y,setCategories:i,getRecommendations:k,treatmentsByCategories:b,searchString:O,setSearchString:t}}const et={class:"row no-wrap fit"}
1,tt={class:"col-3 gt-sm"},at={class:"col vit-px-xs-md vit-px-md-md"},nt={class:"gt-sm"},lt={class:"flex no-wrap justify-start lt-md"},st={class:"full-width vit-px-md"},ot={class:"col-9"},dt={key:0},it={key:1},yt=ne({__name:"TreatmentsPage",setup(n){const E=ce(),m=ve(),x=me(),v=ae(),I=$e(),h=ie(),{favoriteTreatmentsIds:p}=N(Ue()),{recEngineItemsTreatmentsPage:b}=N(ge()),{setFilter:g,setCategories:y,setSearchString:i,getRecommendations:t,isLoading:s,filterState:e,categories:k,searchString:u,treatmentsByCategories:w}=_e(I.chainId,I.siteIds),{addOrRemoveTreatmentToCart:B}=Oe();let P="";const{user:J}=N(pe()),{salons:L}=N(ie()),{employeesMap:Q}=N(fe()),U=F(()=>v.crossSite??v.selectedSalon??e.siteId??void 0),he=F(()=>!u.value&&e.employees.length<2),Z=F(()=>e.siteId?Q.value[e.siteId]?.filter(l=>l.visibleOnDigitalChannels&&l.availableForOnlineBooking)??[]:[]);Ae(()=>{const l=m.query;P=l.search||"";const S=Number.parseInt(l.siteId)||U?.value||null;g({employees:l.employees?.split(",")||[],siteId:S}),y(l.categories?.split(",")||[]),i(P),S&&v.setSelectedSalon(S)}),D(()=>v.crossSite,(l,S)=>{S&&e.siteId!==v.selectedSalon&&g({siteId:v.selectedSalon,employees:[]})}),D(()=>v.selectedSalon,l=>{l&&l!=e.siteId&&_(l)});const be=l=>y(k.value.includes(l)?k.value.filter(S=>S!==l):[...k.value,l]),_=l=>{v.setSelectedSalon(l),v.crossSite||g({siteId:l,employees:[]})},le=l=>{g({employees:l}),l.length<2&&t(e.siteId?[e.siteId]:I.siteIds,l[0])},se=l=>i(l=="null"?"":l.trim()),Ie=l=>window.open(l,"_self");async function Se(l){if(l.urlSafe){const S="type"in l;await x.push({name:"TreatmentDetailsPage",params:{id:S?l.idBase64:l.urlSafe},force:!0})}}return(l,S)=>(d(),C(ke,{class:X(a(E).screen.gt.sm?"content_wrapper":"vit-py-xl")},{default:r(()=>[c("div",et,[c("div",tt,[o(a(ue),{class:"vit-pr-md",departments:a(L).length>1?a(L):[],selectedDepartment:U.value,employees:Z.value,"selected-employees":a(e).employees,useSalonTheme:!0,onUpdateSelectedEmployee:le,onUpdateSelectedDepartment:_},null,8,["departments","selectedDepartment","employees","selected-employees"])]),c("div",at,[c("div",nt,[o(a(re),{"starting-value":a(P),loading:a(s),clearable:"",class:"full-width",debounce:500,"prepend-icon":"fxt-search",dense:"",onChange:se,placeholder:"Søk etter behandling",type:"text"},null,8,["starting-value","loading"])]),c("div",lt,[c("div",null,[o(a(ue),{departments:a(L).length>1?a(L):[],selectedDepartment:U.value,employees:Z.value,useSalonTheme:!0,"selected-employees":a(e).employees,onUpdateSelectedEmployee:le,onUpdateSelectedDepartment:_},null,8,["departments","selectedDepartment","employees","selected-employees"])]),c("div",st,[o(a(re),{"starting-value":a(P),loading:a(s),clearable:"",debounce:500,"prepend-icon":"fxt-search",dense:"",onChange:se,placeholder:"Søk",type:"text"},null,8,["starting-value","loading"])])]),c("div",ot,[a(w)&&a(w).length?(d(),f("div",dt,[o(a(Je),{showRecEngineItems:he.value,recEngineItems:a(b),bookingConfig:a(h).bookingConfig(a(v).selectedSalon||U.value),useSalonTheme:!0,favoriteTreatmentsIds:a(p),cart:a(v).cart,user:a(J),treatmentsByCategory:a(w),selectedCategories:a(k),isLoading:a(s),onUpdateCategories:be,onAddToCart:S[0]||(S[0]=xe=>a(B)(xe,U.value,a(e).employees.length==1?Z.value.find(Ce=>Ce.employeeIdBase64===a(e).employees[0]):null)),onRedirect:Se,onButtonRedirect:Ie},null,8,["showRecEngineItems","recEngineItems","bookingConfig","favoriteTreatmentsIds","cart","user","treatmentsByCategory","selectedCategories","isLoading"])])):(d(),f("div",it,[...S[1]||(S[1]=[c("p",{class:"vit-py-lg text-lg text-bold"},"Finner ingen behandlinger.",-1)])]))])])])]),_:1},8,["class"]))}});export{yt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.