1import{a as X}from"./chunk-TC65IY7A.js";import"./chunk-HMKEGOA7.js";import"./chunk-IV7F2BAM.js";import"./chunk-UJMC34PW.js";import"./chunk-3UBJ2T2Z.js";import"./chunk-7JLXZTYT.js";import"./chunk-7C7GXO6H.js";import"./chunk-PVDG46DZ.js";import"./chunk-VGJGP2YZ.js";import"./chunk-XT3DXJIT.js";import"./chunk-YQT66TDB.js";import"./chunk-OG7NBFRN.js";import"./chunk-TYXMCPGE.js";import"./chunk-UJNZENJT.js";import"./chunk-4H2NPOC7.js";import"./chunk-4NEG7OVH.js";import"./chunk-T4EAU4LF.js";import"./chunk-2TEF2TZJ.js";import"./chunk-QTCFFNBM.js";import"./chunk-MPU2JOA3.js";import"./chunk-KKXLVD32.js";import"./chunk-MS4AQ6UA.js";import"./chunk-FWHW645B.js";import{d as Q,e as W}from"./chunk-ABQO7O5J.js";import"./chunk-VEREAF47.js";import"./chunk-4REBPR2X.js";import"./chunk-MTE2ZPZM.js";import"./chunk-RFKTLBOE.js";import"./chunk-3RK6DDJD.js";import{k as J,o as K}from"./chunk-LKMMAAB3.js";import"./chunk-APYRT7RB.js";import"./chunk-HWGHTNZL.js";import"./chunk-DUKSTT3K.js";import"./chunk-W5ZF54WX.js";import"./chunk-OU7ZMXKC.js";import"./chunk-WSVFLIFS.js";import"./chunk-ZHQN3VEY.js";import"./chunk-HKMPNMN4.js";import"./chunk-DEXTBV7P.js";import{g as U}from"./chunk-ZPP3AZII.js";import"./chunk-PFZE4HOT.js";import"./chunk-7WBI3YQQ.js";import"./chunk-HRMEW5GN.js";import{a as H}from"./chunk-5CJCHN2S.js";import"./chunk-FNI7RJRZ.js";import"./chunk-QMIXMJPI.js";import"./chunk-N27IYGCO.js";import"./chunk-6EQVF4ZV.js";import"./chunk-IQUHMA37.js";import"./chunk-3CNZLL2W.js";import"./chunk-H4YBLBJJ.js";import"./chunk-2OVOW2RQ.js";import"./chunk-7WYL3NSW.js";import"./chunk-5JZO6BWG.js";import"./chunk-YSPZQPOC.js";import"./chunk-XT2LPE6R.js";import"./chunk-IQG3TZRO.js";import"./chunk-FGG2KBZO.js";import{B as V,F as G,G as $,e as m,h as D,i as _,j,l as C,o as z,s as A,v as k}from"./chunk-UQ4USSF2.js";import{c as x,d as y}from"./chunk-YAJ3K7JW.js";import"./chunk-24UDROAB.js";import"./chunk-3LLHTMOC.js";import"./chunk-LL35JMVY.js";import{p as B,q as O}from"./chunk-32UQG7L5.js";import"./chunk-TJ3TBAF4.js";import"./chunk-6ZS3PTEB.js";import"./chunk-CS4JSWOF.js";import{K as R,k as g,y as v}from"./chunk-VMAYYK2O.js";import{Cb as c,Jb as f,Lc as p,Mc as P,Nc as L,Pb as h,ec as d,f as M,fc as n,gc as a,ha as E,hc as b,jd as u,kd as w,qb as o,t as N,ua as S,uc as T,wc as q}from"./chunk-OF5PZF73.js";import{p as F}from"./chunk-JMI2PEGB.js";function oe(i,t){i&1&&(n(0,"span",9),p(1,"Passwords do not match."),a())}var Y=(()=>{let t=class t{password(r){let{value:e}=r.get("newPassword"),{value:s}=r.get("newPasswordConfirmation");return e===s?null:{passwordNotMatch:!0}}constructor(r,e){this.httpClient=r,this.loaderService=e,this.resetPasswordForm=new j({oldPassword:new C("",[m.required,m.minLength(6)]),newPassword:new C("",[m.required,m.minLength(8)]),newPasswordConfirmation:new C("",[m.required,m.minLength(8)])},{validators:this.password.bind(this)})}ngOnDestroy(){this.resetPasswordForm.reset()}get minLengthError(){return this.resetPasswordForm.get("newPassword").hasError("minlength")||this.resetPasswordForm.get("newPasswordConfirmation").hasError("minlength")||this.resetPasswordForm.get("oldPassword").hasError("minlength")}savePassword(){return F(this,null,function*(){if(this.resetPasswordForm.valid){let{oldPassword:r,newPassword:e,newPasswordConfirmation:s}=this.resetPasswordForm.value;this.loaderService.start();try{yield N(this.httpClient.post("/account/password",{oldPassword:r,newPassword:e,newPasswordConfirmation:s})),this.loaderService.stop("Password changed successfully"),this.resetPasswordForm.setValue({oldPassword:"",newPassword:"",newPasswordConfirmation:""}),this.resetPasswordForm.reset()}catch(I){console.log(I),this.loaderService.stop()}}})}};t.\u0275fac=function(e){return new(e||t)(c(R),c(H))},t.\u0275cmp=f({type:t,selectors:[["app-password-reset"]],decls:16,vars:12,consts:[[1,"border","p-4","rounded"],[1,"text-xl","font-semibold","text-gray-900","mb-8"],[1,"max-w-xl","grid","grid-cols-1","gap-3",3,"formGroup"],["id","oldPasswordInput","placeholder","Current Password","formControlName","oldPassword","type","password",3,"required"],["id","newPasswordInput","placeholder","New Password","formControlName","newPassword","type","password",3,"required"],["id","newPasswordConfirmationInput","placeholder","Confirm Password","formControlName","newPasswordConfirmation","type","password",3,"required"],["id","passwordNotMatch","class","text-red-700 text-xs ml-2",4,"ngIf"],[1,"flex","justify-end"],["id","password-reset-submit",1,"btn","btn-primary",3,"click","disabled"],["id","passwordNotMatch",1,"text-red-700","text-xs","ml-2"]],template:function(e,s){e&1&&(n(0,"div",0)(1,"h3",1),p(2),u(3,"translate"),a(),n(4,"form",2)(5,"app-tailwind-input",3),p(6,"Current Password"),a(),n(7,"app-tailwind-input",4),p(8,"New Password"),a(),n(9,"app-tailwind-input",5),p(10,"Confirm Password"),a()(),h(11,oe,2,0,"span",6),n(12,"div",7)(13,"button",8),T("click",function(){return s.savePassword()}),p(14),u(15,"translate"),a()()()),e&2&&(o(2),P(w(3,8,"app.change-password.headline")),o(2),d("formGroup",s.resetPasswordForm),o(),d("required",!0),o(2),d("required",!0),o(2),d("required",!0),o(2),d("ngIf",s.resetPasswordForm.hasError("passwordNotMatch")),o(2),d("disabled",s.resetPasswordForm.invali
1d),o(),L(" ",w(15,10,"app.button.submit")," "))},dependencies:[v,g,G,z,D,_,V,$,A,k,y,J,K,W,Q,x],encapsulation:2});let i=t;return i})();function ie(i,t){if(i&1&&(n(0,"div",3)(1,"h2",4),p(2),u(3,"translate"),a(),b(4,"app-contact-form",5),a()),i&2){let l=q();o(2),P(w(3,7,"app.user-profile-heading")),o(2),d("isAdmin",l.isAdmin)("contact",l.contact)("organizationId",l.organizationId)("countryList",l.countryList)("userProps",l.userProps)("hideRoleSelection",!l.isAdmin)}}var Ie=(()=>{let t=class t{constructor(r){this.countryService=r,this.userState=S(O),this.dataState=S(B),this.userProps=[],this.possibleRoles=[],this.endSubscription$=new M}get organizationId(){return this.contact?.organizationId??0}getCountries(){this.countryService.getCountries().pipe(E(this.endSubscription$)).subscribe(r=>{this.countryList=r.map(e=>({key:e.name,value:e.id}))})}ngOnDestroy(){this.endSubscription$.next(),this.endSubscription$.complete()}ngOnInit(){this.contact=this.userState.user(),this.isAdmin=this.userState.isAdmin(),this.userProps=this.dataState.contactRoles()}};t.\u0275fac=function(e){return new(e||t)(c(U))},t.\u0275cmp=f({type:t,selectors:[["app-profile-page"]],decls:4,vars:1,consts:[[1,"mx-auto","max-w-5xl","sm:px-6","lg:px-8"],["class","border p-4 rounded",4,"ngIf"],[1,"mt-4"],[1,"border","p-4","rounded"],[1,"text-xl","font-semibold","text-gray-900","mb-8"],[3,"isAdmin","contact","organizationId","countryList","userProps","hideRoleSelection"]],template:function(e,s){e&1&&(n(0,"div",0),h(1,ie,5,9,"div",1),n(2,"div",2),b(3,"app-password-reset"),a()()),e&2&&(o(),d("ngIf",s.contact&&s.organizationId))},dependencies:[v,g,Y,X,y,x],encapsulation:2});let i=t;return i})();export{Ie as ProfilePageComponent};
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.