1import{a as V}from"./chunk-26CJUW3V.js";import{d as E,e as O,f as z,g as N,h as R,n as D,o as T,r as L}from"./chunk-CCGBRP7W.js";import{b as S}from"./chunk-ZCL4CQIR.js";import{f as P,i as k}from"./chunk-AQSC2TVP.js";import"./chunk-BYSVO7YN.js";import{Bb as d,Lb as o,Ma as a,Mb as w,Rb as y,Sb as v,Tb as M,X as p,Xa as b,ba as u,ca as g,gb as f,hb as _,mb as C,na as c,nb as e,ob as n,ub as x,zb as h}from"./chunk-TRZM4QZA.js";function K(i,r){i&1&&(e(0,"div",1)(1,"h1"),o(2,"Kennwort ge\xE4ndert"),n(),e(3,"p",2),o(4,"Dein Kennwort wurde gesetzt. Du kannst dich jetzt anmelden."),n(),e(5,"div",3)(6,"a",4),o(7,"Zur Anmeldung"),n()()())}function A(i,r){i&1&&(e(0,"div",1)(1,"h1"),o(2,"Link ung\xFCltig"),n(),e(3,"p",5),o(4,"Dieser Link ist unvollst\xE4ndig. Bitte fordere einen neuen an."),n(),e(5,"div",3)(6,"a",6),o(7,"Neuen Link anfordern"),n()()())}function Z(i,r){if(i&1&&(e(0,"p",5),o(1),n()),i&2){let t=d(2);a(),w(t.error())}}function j(i,r){if(i&1){let t=x();e(0,"form",7),h("submit",function(s){u(t);let m=d();return s.preventDefault(),g(m.submit())}),e(1,"h1"),o(2,"Neues Kennwort"),n(),e(3,"label"),o(4," Kennwort (mind. 8 Zeichen) "),e(5,"app-password-input",8),M("ngModelChange",function(s){u(t);let m=d();return v(m.password,s)||(m.password=s),g(s)}),n()(),f(6,Z,2,1,"p",5),e(7,"button",9),o(8,"Kennwort setzen"),n(),e(9,"div",3)(10,"a",4),o(11,"Zur\xFCck zur Anmeldung"),n()()()}if(i&2){let t=d();a(5),y("ngModel",t.password),C("minlength",8),a(),_(t.error()?6:-1),a(),C("disabled",t.busy())}}var F=class i{auth=p(S);route=p(P);token=this.route.snapshot.queryParamMap.get("token")??"";password="";error=c(null);busy=c(!1);done=c(!1);get hasToken(){return this.token!==""}submit(){this.busy()||!this.hasToken||(this.error.set(null),this.busy.set(!0),this.auth.resetPassword(this.token,this.password).subscribe({next:()=>{this.busy.set(!1),this.done.set(!0)},error:r=>{this.busy.set(!1),this.error.set(r?.error?.error??"Zur\xFCcksetzen fehlgeschlagen.")}}))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=b({type:i,selectors:[["app-reset-password"]],decls:4,vars:1,consts:[[1,"login-page"],[1,"card"],[1,"success"],[1,"links"],["routerLink","/login"],[1,"error"],["routerLink","/passwort-vergessen"],[1,"card",3,"submit"],["name","new_password","autocomplete","new-password","required","",3,"ngModelChange","ngModel","minlength"],["type","submit",3,"disabled"]],template:function(t,l){t&1&&(e(0,"div",0),f(1,K,8,0,"div",1)(2,A,8,0,"div",1)(3,j,12,4,"form",1),n()),t&2&&(a(),_(l.done()?1:l.hasToken?3:2))},dependencies:[L,R,E,O,D,T,N,z,k,V],styles:[".login-page[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f4f4f4;padding:1rem}.card[_ngcontent-%COMP%]{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #00000014;width:320px;max-width:100%;display:flex;flex-direction:column;gap:1rem}h1[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1.25rem}label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#555}input[_ngcontent-%COMP%]{padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}button[_ngcontent-%COMP%]{padding:.6rem;background:var(--bm-primary);color:#fff;border:0;border-radius:4px;font-size:1rem;cursor:pointer}button[_ngcontent-%COMP%]:disabled{opacity:.6;cursor:not-allowed}.error[_ngcontent-%COMP%]{color:#b00;margin:0;font-size:.9rem}.success[_ngcontent-%COMP%]{color:#1a7f37;margin:0;font-size:.9rem}.hint[_ngcontent-%COMP%]{color:#666;margin:0;font-size:.85rem;line-height:1.4}.links[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.4rem;text-align:center}.links[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .back[_ngcontent-%COMP%]{color:var(--bm-primary);text-decoration:none;font-size:.85rem}"]})};export{F as ResetPasswordComponent};
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.