1import{_ as te,a5 as le,c as ne,H as ie,z as de,a as ce,u as _e,az as ue,b as me,J as fe,I as T,A as p,d as be,G as V,U as ve,O as E,K as he,ak as ge,L as pe,D as ye,f as n,m as L,B as m,j as s,i as a,t as c,h as d,T as P,k as W,F as G,l as q,P as ke,R as xe,M as we,aP as Ce,aC as Ue,W as Ee,X as Pe,a4 as De,aO as Te,aQ as Le,Y as Se,Z as He,$ as Ae,a0 as Ie,ap as j,a1 as Ne}from"./OeEvPWpJ.js";import{_ as Re}from"./CwrUlTZP.js";import{_ as Be}from"./zdKcvbMY.js";import{_ as Fe}from"./CxkNIYFf.js";import{_ as Oe}from"./C8UvisfC.js";import{_ as Me}from"./K7AdN-bN.js";import{_ as Ge}from"./ql7XsyTq.js";import{_ as qe}from"./C7tMEFqI.js";import{u as ze}from"./BZeDPJWc.js";import{u as Ve}from"./C-5np3Y5.js";import{u as We}from"./B0b9WPGH.js";import{u as J}from"./C2jqs4Ys.js";import"./jEPuPGxQ.js";import"./DTeyPKYD.js";import"./C3Ls2Zzl.js";import"./Cy1u2b8r.js";import"./Bnp-b1wn.js";import"./DVmmWFlH.js";import"./De485gmI.js";import"./CbrUXzul.js";import"./BonvRM91.js";import"./C8Dtyb8P.js";import"./DYK0jKoY.js";import"./CpxAAbLX.js";import"./Ps35vZ3l.js";import"./BqxUqNvg.js";import"./BihOeu65.js";import"./DaZ5I8hI.js";import"./Fdoatcqp.js";const je={name:"AdminUserDetail",async setup(){const l=le(),o=ne(),_=We(),e=ie(),t=de(),{getCollection:f}=ce(),{errors:y,handleErrors:h,setErrors:D}=Ve(),{getLanguageIcon:S,allCountries:v,convertDateLabel:H,getText:u}=_e(),{isMobile:C}=ue(),{locale:A}=me(),{user:k,userConsults:I,userFavoriteSurgeries:N,userReviews:R}=fe(_),x=T(_.user),B=await f("genders",A.value),F=p(k.value.currency),O=p(k.value.locale),M=p(k.value.country),U=p(!1),r=p(!1);await _.getUser(l.params.id);const b=p(null),w=p([{id:"account",label:u("admin_user_detail_tab_container_account","Account")}
1,{id:"consults",label:u("admin_user_detail_tab_container_consults","Consults")},{id:"favorites",label:u("admin_user_detail_tab_container_favorites","Favorites")},{id:"reviews",label:u("admin_user_detail_tab_container_reviews","Reviews")}]),K=be(()=>{var i,g;return((g=(i=b.value)==null?void 0:i.activeTabHash)==null?void 0:g.replace("#",""))||"account"});function Q(i){b.value.selectTab(`#${i}`)}async function X(){await _.deleteUser(l.params.id),e.navigatePage("/admin")}async function Y(){await _.updateUser()}async function Z(i,g=!1){g?e.navigatePage(`/clinic/${i.clinicId}`,{surgeryId:i.id}):e.navigatePage(`/clinic/${i.clinicId}`)}async function $(){const{open:i,close:g}=V({component:we,attrs:{title:u("admin_user_detail_delete_modal_title","Are you sure you want to remove your SurgeryBooking account?"),confirmButton:{text:u("admin_user_detail_delete_modal_button_text","Delete account"),type:"red"},modalWidth:"600px",onConfirm(){_.deleteUser(l.params.id).then(()=>{e.navigatePage("/admin"),g()}).catch(se=>{console.error(se)})},onCancel(){g()}}});i()}const{open:ee,close:z}=V({component:ve,attrs:{isNotUserProfilePicture:!0,async onConfirm(i){E(i)||await _.uploadProfilePicture(i),z()},onCancel(){z()}}});async function oe(){U.value=!0,await _.sendResetPasswordLink(l.params.id).then(()=>{r.value=!0}).catch(i=>{console.error(i)}).finally(()=>{U.value=!1})}async function re(){await _.takeOverAccount(l.params.id).then(i=>{t.logout(),t.setAccessToken(i,!1,!1,!0)}).catch(i=>{console.error(i)})}async function ae(i){i.userId=l.params.id,await _.getConsults(i),e.setHasLoadedConsults(!0)}return{userData:k,userConsults:I,userFavoriteSurgeries:N,userReviews:R,currency:F,locale:O,country:M,currencies:he,format:ge,initialUser:x,adminUserStore:_,locales:pe,convertDateLabel:H,getText:u,hasResetPasswordLink:r,loadingResetPasswordLink:U,tabs:b,tabsItems:w,activateTab:K,getLanguageIcon:S,allCountries:v,isMobile:C,errors:y,handleErrors:h,setErrors:D,genders:B,takeOverAccount:re,setTab:Q,loadConsults:ae,localePath:o,sendResetPasswordLink:oe,openUploadProfileLogoModal:ee,updateUser:Y,deleteUser:X,openAccountDeletionConfirmDialog:$,openClinic:Z}},data(){return{user:null}},computed:{profilePicture(){return E(this.user.profilePictureUrl)?null:this.user.profilePictureUrl},disableSaveUser(){var l,o,_,e,t,f,y,h;return((l=this.user)==null?void 0:l.firstName)===this.userData.firstName&&((o=this.user)==null?void 0:o.surname)===this.userData.surname&&((_=this.user)==null?void 0:_.gender)===this.userData.gender&&J(this.user.dateOfBirth,null,"short")===J(this.userData.dateOfBirth,null,"short")&&((e=this.user)==null?void 0:e.city)===this.userData.city&&((t=this.user)==null?void 0:t.phoneNumber)===this.userData.phoneNumber&&((f=this.user)==null?void 0:f.postalCode)===this.userData.postalCode&&((y=this.user)==null?void 0:y.address)===this.userData.address&&((h=this.user)==null?void 0:h.deactivated)===this.userData.deactivated}},watch:{currency(l,o){l!==o&&!E(l)&&this.saveUser(!1)},country(l,o){l!==o&&!E(l)&&this.saveUser(!1)},locale(l,o){l!==o&&!E(l)&&this.saveUser(!1)}},mounted(){this.user=T(this.userData)},methods:{async saveUser(l){try{l?await this.adminUserStore.updateUser(this.user).then(o=>{this.user=T(o)}).catch(o=>{ye(o)?this.setErrors(o):console.error(o)}):(this.initialUser.currency=this.currency,this.initialUser.locale=this.locale,this.initialUser.country=this.country,await this.adminUserStore.updateUser(this.initialUser))}catch(o){console.error(o)}},discardChanges(){this.user=T(this.userData)}}},Je={class:"page"},Ke={class:"container-mobile"},Qe={key:0,class:"personal content-item no-margin"},Xe={class:"card only-mobile small-on-mobile"},Ye={class:"row files"},Ze=["src","onerror"],$e={key:0,class:"avatar",src:Ce,alt:""},eo={class:"row flex details"},oo={class:"row flex details birthday-row"},ro={class:"row flex details"},ao={class:"row flex details"},so={class:"row"},to={class:"info-kvp"},lo={class:"smaller"},no={class:"smaller"},io=["href"],co={class:"info-kvp no-margin"},_o={class:"action-buttons"},uo=["disabled"],mo={class:"content-item"},fo={class:"settings card only-mobile small-on-mobile"},bo=["src","alt"],vo=["src","alt"],ho={key:1,style:{width:"18px"}},go={class:"account-deletion"},po={class:"left"},yo={class:"title"},ko={class:"right"},xo={class:"content-item password-change"},wo={class:"card only-mobile small-on-mobile"},Co={key:2},Uo={class:"content-item password-change"},Eo={class:"content-item"},Po={key:0,class:"clinic-list card only-mobile small-on-mobile"},Do={class:"title"},To=["src"],Lo={key:1,src:Ue,class:"clinic-logo none",alt:""},So={class:"name"},Ho={class:"link"},Ao={key:1,class:"gray-text card only-mobile extra-small"},Io={key:1,class:"gray-text extra-small card only-mobile"},No={key:0,class:"scroll-list column is-thumb card only-mobile small-on-mobile flex flex-col gap-4"},Ro={key:1,class:"gray-text extra-small card only-mobile"};function Bo(l,o,_,e,t,f){const y=Ee,h=Pe,D=De,S=Te,v=Re,H=Le,u=Be,C=Se,A=Fe,k=Oe,I=He,N=Ae,R=Ie,x=j("tab"),B=Me,F=Ge,O=qe,M=j("tabs"),U=Ne;return n(),L(U,{name:"sidebar","no-padding-on-mobile":""},{sidebar:m(()=>[s(y)]),default:m(()=>[a("div",Je,[a("div",Ke,[a("button",{class:"button bordered flex big-padding gray bold previous-page",onClick:o[0]||(o[0]=r=>l.$router.back())},[s(D,null,{default:m(()=>[s(h,{name:"arrow-left",width:"20px"}),a("span",null,c(e.getText("go_previous_page","Back")),1)]),_:1})])]),s(S,{class:"mt-8 mb-8","activate-tab":e.activateTab,items:e.tabsItems,"container-on-mobile":"",onSetActiveTab:e.setTab},null,8,["activate-tab","items","onSetActiveTab"]),s(M,{ref:"tabs"},{default:m(()=>[s(x,{id:"account",name:e.getText("admin_user_detail_tab_container_account","Account"),class:"tab-card card only-desktop"},{default:m(()=>[t.user?(n(),d("div",Qe,[s(v,{name:"admin_user_detail_personal","fallback-title":"Personal","fallback-description":"Update your photo and personal details here.","container-on-mobile":""}),a("div",Xe,[a("form",{ref:"form",class:"form fields",onSubmit:o[13]||(o[13]=r=>r.preventDefault())},[a("div",Ye,[a("div",{class:"avatar-container mobile clickable",onClick:o[1]||(o[1]=r=>e.openUploadProfileLogoModal())}
1,[s(H,null,{image:m(({fallback:r,imageError:b})=>[f.profilePicture&&!b?(n(),d("img",{key:0,src:f.profilePicture,onerror:r,class:"avatar",alt:""},null,8,Ze)):P("",!0)]),fallback:m(({imageError:r})=>[!f.profilePicture||r?(n(),d("img",$e)):P("",!0)]),_:1}),s(h,{name:"pencil-2",width:"12px",height:"12px",class:"set-profile-picture"})])]),a("div",eo,[s(u,{value:t.user.firstName,"onUpdate:value":o[2]||(o[2]=r=>t.user.firstName=r),required:"","full-width":"",label:"First name:",placeholder:"First name","placeholder-key":"form_fields_first_name_placeholder","label-key":"form_fields_first_name_label",field:"first-name",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"]),s(u,{value:t.user.surname,"onUpdate:value":o[3]||(o[3]=r=>t.user.surname=r),required:"","full-width":"",label:"Surname:",placeholder:"Surname","placeholder-key":"form_fields_surname_placeholder","label-key":"form_fields_surname_label",field:"surname",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"])]),a("div",oo,[s(C,{value:t.user.gender,"onUpdate:value":o[4]||(o[4]=r=>t.user.gender=r),"return-value":"","full-width":"","data-label-name":"value","data-name":"key",label:"Gender:",placeholder:"Gender","placeholder-key":"form_fields_gender_placeholder","label-key":"form_fields_gender_label",items:e.genders,field:"gender",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","items","errors","onHandleErrors"]),s(A,{value:t.user.dateOfBirth,"onUpdate:value":o[5]||(o[5]=r=>t.user.dateOfBirth=r),"only-date":"","full-width":"",label:"Birthday:","label-key":"form_fields_date_of_birth_label","no-future-days":"","max100-years":"",field:"date-of-birth",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"])]),a("div",ro,[s(u,{value:t.user.city,"onUpdate:value":o[6]||(o[6]=r=>t.user.city=r),"full-width":"",label:"City:",placeholder:"City","placeholder-key":"form_fields_city_placeholder","label-key":"form_fields_city_label",field:"city",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"]),s(u,{value:t.user.phoneNumber,"onUpdate:value":o[7]||(o[7]=r=>t.user.phoneNumber=r),"full-width":"",type:"tel",label:"Phone Number:",placeholder:"Phone Number","placeholder-key":"form_fields_phone_number_placeholder","label-key":"form_fields_phone_number_label",field:"phone-number",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"])]),a("div",ao,[s(u,{value:t.user.postalCode,"onUpdate:value":o[8]||(o[8]=r=>t.user.postalCode=r),"full-width":"",label:"Postal Code:",placeholder:"Postal Code","placeholder-key":"form_fields_postal_code_placeholder","label-key":"form_fields_postal_code_label",field:"postal-code",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"]),s(u,{value:t.user.address,"onUpdate:value":o[9]||(o[9]=r=>t.user.address=r),"full-width":"",label:"Address:",placeholder:"Address","placeholder-key":"form_fields_address_placeholder","label-key":"form_fields_address_label",field:"address",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","errors","onHandleErrors"])]),a("div",so,[s(k,{value:t.user.deactivated,"onUpdate:value":o[10]||(o[10]=r=>t.user.deactivated=r),label:"Deactivated","label-key":"admin_user_detail_personal_deactivated_checkbox_label",color:"#253d4e",small:""},null,8,["value"])]),s(I,{errors:e.errors},null,8,["errors"]),a("div",to,[a("dt",lo,c(e.getText("admin_user_detail_personal_email_info","E-mail:")),1),a("dd",no,[a("a",{href:"mailto:"+t.user.email},c(t.user.email),9,io)])]),a("div",co,[a("dt",null,c(e.getText("admin_user_detail_personal_registration_info","Registration:")),1),a("dd",null,c(("useFormattedDate"in l?l.useFormattedDate:W(ze))(t.user.createdAt,e.locale)),1)]),a("div",_o,[f.disableSaveUser?P("",!0):(n(),d("button",{key:0,class:"button bordered gray big-padding",onClick:o[11]||(o[11]=(...r)=>f.discardChanges&&f.discardChanges(...r))},c(e.getText("admin_user_detail_personal_email_discard_button","Discard")),1)),a("button",{class:"button primary filled big-padding",disabled:f.disableSaveUser,onClick:o[12]||(o[12]=r=>f.saveUser(!0))},c(e.getText("admin_user_detail_personal_email_save_button","Save changes")),9,uo)])],544)])])):P("",!0),o[20]||(o[20]=a("div",{class:"line desktop-view",style:{margin:"30px 0"}},null,-1)),a("div",mo,[s(v,{name:"admin_user_detail_settings","fallback-title":"Settings","container-on-mobile":""}),a("div",fo,[s(N,{value:e.country,"onUpdate:value":o[14]||(o[14]=r=>e.country=r),"return-value":"","data-name":"key","data-label-name":"country_name","full-width":"","no-margin":"","disable-cross":"","show-flags":"","bigger-items":"","flex-items":"",label:"Country",placeholder:"Country","placeholder-key":"form_fields_country_placeholder","label-key":"form_fields_country_label",items:e.allCountries,"like-search":!1,field:"country",errors:e.errors,onHandleErrors:e.handleErrors},null,8,["value","items","errors","onHandleErrors"]),s(C,{value:e.locale,"onUpdate:value":o[15]||(o[15]=r=>e.locale=r),"return-value":"","full-width":"","disable-cross":"",label:"Language",placeholder:"Language","placeholder-key":"form_fields_language_placeholder","label-key":"form_fields_language_label","no-margin":"","flex-items":"","bigger-items":"","icon-only-show-on-value":"","has-slot-label-icon":"","data-name":"code",items:e.locales,field:"Language",errors:e.errors,onHandleErrors:e.handleErrors},{"label-icon":m(()=>[e.getLanguageIcon(e.locale)?(n(),d("img",{key:0,class:"prefix-icon bigger",src:e.getLanguageIcon(e.locale),alt:e.locale},null,8,bo)):P("",!0)]),"prefix-icon":m(({item:r})=>[e.getLanguageIcon(r)?(n(),d("img",{key:0,class:"prefix-icon",src:e.getLanguageIcon(r),alt:r.code},null,8,vo)):(n(),d("div",ho))]),_:1},8,["value","items","errors","onHandleErrors"]),s(C,{value:e.currency,"onUpdate:value":o[16]||(o[16]=r=>e.currency=r),"return-value":"","full-width":"","flex-items":"","no-margin":"","disable-cross":"",label:"Currency",placeholder:"Currency","label-key":"form_fields_currency_label","placeholder-key":"form_fields_currency_placeholder","data-name":"name","data-label-name":"name",items:e.currencies,field:"currency",errors:e.errors,onHandleErrors:e.handleErrors},{"suffix-icon":m(({item:r})=>[a("div",null,c(r.symbol),1)]),_:1},8,["value","items","errors","onHandleErrors"]),a("div",go,[a("div",po,[a("div",yo,c(e.getText("admin_user_detail_settings_delete_account_label","Permanently delete your account")),1)]),a("div",ko,[a("button",{class:"button bordered bold",onClick:o[17]||(o[17]=(...r)=>
1e.openAccountDeletionConfirmDialog&&e.openAccountDeletionConfirmDialog(...r))},c(e.getText("admin_user_detail_settings_delete_account_show_modal_button","View")),1)])])])]),o[21]||(o[21]=a("div",{class:"line desktop-view",style:{margin:"30px 0"}},null,-1)),a("div",xo,[s(v,{name:"admin_user_detail_reset_password","fallback-title":"Reset password","container-on-mobile":""}),a("div",wo,[e.loadingResetPasswordLink?(n(),L(R,{key:0,small:"","left-center":""})):e.hasResetPasswordLink?(n(),d("div",Co,c(e.getText("admin_user_detail_reset_password_success_message","Reset password link has been sent to the user's email.")),1)):(n(),d("button",{key:1,class:"button bordered lighter",onClick:o[18]||(o[18]=(...r)=>e.sendResetPasswordLink&&e.sendResetPasswordLink(...r))},c(e.getText("admin_user_detail_reset_password_button_text","Send reset link")),1))])]),o[22]||(o[22]=a("div",{class:"line desktop-view",style:{margin:"30px 0"}},null,-1)),a("div",Uo,[s(v,{name:"admin_user_detail_get_user_login","fallback-title":"Take over account","fallback-description":"Log in as this user to manage their account.","container-on-mobile":""}),a("button",{class:"button bordered lighter mt-4",onClick:o[19]||(o[19]=(...r)=>e.takeOverAccount&&e.takeOverAccount(...r))},c(e.getText("admin_user_detail_get_user_login_button_text","Log in as user")),1)]),o[23]||(o[23]=a("div",{class:"line desktop-view",style:{margin:"30px 0"}},null,-1)),a("div",Eo,[s(v,{name:"clinic_employees","fallback-title":"Access to clinics","container-on-mobile":""}),e.userData.clinicEmployees.length>0?(n(),d("ul",Po,[(n(!0),d(G,null,q(e.userData.clinicEmployees,r=>(n(),d("li",{key:r.clinicId},[s(D,{class:"clinic",to:{path:e.localePath(`/admin/clinics/${r.clinicId}`)}},{default:m(()=>[a("div",Do,[r.clinic.logo?(n(),d("img",{key:0,class:"clinic-logo",src:("addCacheBuster"in l?l.addCacheBuster:W(ke))(r.clinic.logo,"clinicPhoto"),alt:""},null,8,To)):(n(),d("img",Lo)),a("div",So,c(r.clinic.name),1)]),a("div",Ho,[xe(c(e.getText("clinic_employees_go_to_portal","Go to portal"))+" ",1),s(h,{name:"circle-arrow-right",width:"24px",height:"24px"})])]),_:2},1032,["to"])]))),128))])):(n(),d("p",Ao,c(e.getText("clinic_employees_no_clinics","No clinics.")),1))])]),_:1},8,["name"]),s(x,{id:"consults",name:e.getText("admin_user_detail_tab_container_
1consults","Consults"),class:"tab-card"},{default:m(()=>[s(B,{consults:e.userConsults.items,"always-load-invoice":"","only-body-invoice":"","page-count":e.userConsults.pageCount,"total-items":e.userConsults.totalItems,onLoad:e.loadConsults},null,8,["consults","page-count","total-items","onLoad"])]),_:1},8,["name"]),s(x,{id:"favorites",name:e.getText("admin_user_detail_tab_container_favorites","Favorites"),class:"tab-card content-item card only-desktop"},{default:m(()=>{var r;return[s(v,{name:"admin_user_detail_favorites","fallback-title":"Favorites","container-on-mobile":""}),((r=e.userFavoriteSurgeries)==null?void 0:r.totalItems)>0?(n(!0),d(G,{key:0},q(e.userFavoriteSurgeries.items,b=>(n(),L(F,{key:b.id,surgery:b,"show-favorite-toggle":!1,onClick:w=>e.openClinic(b),onBookConsult:w=>e.openClinic(b,!0)},null,8,["surgery","onClick","onBookConsult"]))),128)):(n(),d("p",Io,c(e.getText("admin_user_detail_favorites_no_surgeries","No favorite surgeries.")),1))]}),_:1},8,["name"]),s(x,{id:"reviews",name:e.getText("admin_user_detail_tab_container_reviews","Reviews"),class:"tab-card content-item card only-desktop"},{default:m(()=>{var r,b;return[s(v,{name:"admin_user_detail_reviews","fallback-title":"Reviews","container-on-mobile":""}),((r=e.userReviews)==null?void 0:r.totalItems)>0?(n(),d("div",No,[(n(!0),d(G,null,q((b=e.userReviews)==null?void 0:b.items,w=>(n(),L(O,{key:w.id,review:w},null,8,["review"]))),128))])):(n(),d("p",Ro,c(e.getText("admin_user_detail_no_reviews","No reviews.")),1))]}),_:1},8,["name"])]),_:1},512)])]),_:1})}const mr=te(je,[["render",Bo],["__scopeId","data-v-fe263da9"]]);export{mr 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.