1import{e as y}from"./chunk-SS3CWOPS.js";import"./chunk-DRGWCSPX.js";import{a as N}from"./chunk-TZSECYM4.js";import{A as L,b as w,d as x,e as P,f as O,g as S,h as k,u as A}from"./chunk-QXIGP73C.js";import{b as v}from"./chunk-2TQ4LRNP.js";import{r as h}from"./chunk-WAMT5Z5S.js";import{Fb as C,Gb as M,Nb as d,Ob as _,Qa as m,Sb as l,Tb as g,Ub as p,Va as s,_a as u,db as f,rb as b,wb as o,xb as i}from"./chunk-PKWCCEEX.js";import"./chunk-K4ALXBGI.js";function T(a,e){if(a&1&&(o(0,"p",5),d(1),i()),a&2){let t=M();m(),_(t.errorMessage)}}var E=class a{constructor(e,t){this.http=e;this.router=t}errorMessage="";username="";password="";login(){if(!this.username||!this.password){this.errorMessage="Kullan\u0131c\u0131 ad\u0131 ve \u015Fifre gereklidir.";return}this.http.post(`${N.backendUrl}/api/login`,{username:this.username,password:this.password}).subscribe({next:e=>{localStorage.setItem("adminToken",e.token),this.router.navigate(["/admin/dashboard"])},error:e=>{e.status===429?this.errorMessage=e.error?.error||"\xC7ok fazla deneme. L\xFCtfen bekleyin.":this.errorMessage="Kullan\u0131c\u0131 ad\u0131 veya \u015Fifre hatal\u0131."}})}static \u0275fac=function(t){return new(t||a)(s(v),s(y))};static \u0275cmp=u({type:a,selectors:[["app-admin-login"]],decls:9,vars:3,consts:[[1,"login-container"],[3,"ngSubmit"],["name","username","placeholder","Kullan\u0131c\u0131 Ad\u0131","type","text","required","",3,"ngModelChange","ngModel"],["name","password","placeholder","\u015Eifre","type","password","required","",3,"ngModelChange","ngModel"],["type","submit"],[1,"error"]],template:function(t,n){t&1&&(o(0,"div",0)(1,"h2"),d(2,"Admin Giri\u015F"),i(),o(3,"form",1),C("ngSubmit",function(){return n.login()}),o(4,"input",2),p("ngModelChange",function(r){return g(n.username,r)||(n.username=r),r}),i(),o(5,"input",3),p("ngModelChange",function(r){return g(n.password,r)||(n.password=r),r}),i(),o(6,"button",4),d(7,"Giri\u015F Yap"),i()(),f(8,T,2,1,"p",5),i()),t&2&&(m(4),l("ngModel",n.username),m(),l("ngModel",n.password),m(3),b(n.errorMessage?8:-1))},dependencies:[h,L,k,w,x,P,A,S,O],styles:[".login-container[_ngcontent-%COMP%]{max-width:400px;margin:200px auto;padding:2rem;background:var(--color-surface);border-radius:1rem;box-shadow:0 4px 6px var(--color-shadow);border:1px solid var(--color-border);text-align:center}.login-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{color:var(--color-text-primary);font-size:2rem;font-weight:700;margin-bottom:2rem}.login-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:100%;padding:.75rem;margin-bottom:1rem;border:1px solid var(--color-border);border-radius:.5rem;background:#fff;color:var(--color-text-primary);font-size:1rem;transition:border-color .3s ease}.login-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--brand-primary)}.login-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-tertiary)}.login-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%;padding:.75rem;background:var(--button-primary-bg);color:var(--button-primary-text);border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.login-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--button-primary-hover);transform:translateY(-1px)}.login-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active{background:var(--button-primary-active)}.login-container[_ngcontent-%COMP%] .error[_ngcontent-%COMP%]{color:var(--error-500);font-size:.9rem;margin-top:1rem;padding:.5rem;background:var(--error-50);border:1px solid var(--error-200);border-radius:.5rem}@media (max-width: 768px){.login-container[_ngcontent-%COMP%]{margin:150px auto;padding:1.5rem}}"]})};export{E as AdminLoginComponent};
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.