import{P as R,M as O,a as v,j as M,w as j,o as D,K as N,k as L,c as u,d as i,e as r,q as y,p as _,v as p,E as W,i as b,u as I,O as k,h as $}from"./vendor-core.B6UiYhU_.js";import{u as Y,c as F}from"./index.B8XI8FQW.js";import{c as K,I as G}from"./vendor-primevue.BN-meDW0.js";import{b as H}from"./vendor-utils.CO3CyGpV.js";import"./vendor-export.BWjBvx7Z.js";const J={class:"login-container"},Q={class:"login-wrapper"},X={class:"login-header"},Z={class:"login-title"},ee={class:"login-subtitle"},te={key:0,class:"login-loading"},re={class:"form-group"},ae={key:0,class:"form-error"},oe={class:"form-group"},le={key:0,class:"form-error"},se={key:0,class:"form-group"},ie={key:0,class:"form-error"},ne={key:1,class:"login-error-message"},ue={class:"login-footer"},ce={class:"text-color-secondary"},de={__name:"LoginView",props:{appTitle:{type:String,required:!0},appSubtitle:{type:String,required:!0},appIcon:{type:String,required:!0},redirectPath:{type:String,default:"/"},authStore:{type:Object,required:!0}},setup(l){const t=l,E=R(),x=O(),w=Y(),n=v(""),c=v(""),s=v(null),m=v(""),f=v(""),d=v(""),h=v(!1),A=M(()=>new Date().getFullYear()),B=M(()=>!(!n.value.trim()||!f.value||!t.authStore.isSingleServerMode&&t.authStore.availableServers.length>0&&!s.value)),q=()=>{d.value="",t.authStore.clearError()},U=async()=>{const a=n.value.trim();if(!(!a||a.length<2)){t.authStore.clearError();try{(await t.authStore.checkIdentity(a)).exists?(h.value=!0,t.authStore.availableServers.length===1?s.value=t.authStore.availableServers[0].id:t.authStore.selectedServerId&&(s.value=t.authStore.selectedServerId)):(h.value=!1,s.value=null)}catch(e){console.error("Check identity error:",e)}}},P=async()=>{t.authStore.isSingleServerMode||h.value||await U()},T=()=>{c.value="",t.authStore.clearError(),h.value&&(h.value=!1,s.value=null,t.authStore.availableServers.splice(0))},z=async()=>{var a;if(!n.value.trim()){c.value="Utilizatorul este obligatoriu";return}if(!f.value){d.value="Parola este obligatorie";return}if(!t.authStore.isSingleServerMode&&t.authStore.availableServers.length>0&&!s.value){m.value="Selectați un server";return}c.value="",d.value="",m.value="";try{const e={username:n.value.trim(),password:f.value};!t.authStore.isSingleServerMode&&s.value&&(e.server_id=s.value);const C=await t.authStore.login(e);if(C.success)w.add({severity:"success",summary:"Autentificare reușită",detail:`Bine ați venit, ${((a=t.authStore.user)==null?void 0:a.full_name)||n.value}!`,life:3e3}),E.push(t.redirectPath);else{const o=C.error||"Autentificare eșuată";let S=o;o.toLowerCase().includes("password")||o.toLowerCase().includes("parola")||o.toLowerCase().includes("invalid credentials")||o.toLowerCase().includes("incorrect")?S="Parolă incorectă":o.toLowerCase().includes("inactive")||o.toLowerCase().includes("inactiv")||o.toLowerCase().includes("disabled")||o.toLowerCase().includes("blocat")?S="Cont inactiv":(o.toLowerCase().includes("not found")||o.toLowerCase().includes("user"))&&(S="Utilizator negăsit"),w.add({severity:"error",summary:"Autentificare eșuată",detail:S,life:5e3})}}catch(e){console.error("Login error:",e),w.add({severity:"error",summary:"Eroare",detail:"A apărut o eroare la autentificare",life:5e3})}},V=()=>{t.authStore.clearError(),c.value="",d.value="",m.value=""};return j(()=>t.authStore.selectedServerId,a=>{a&&!s.value&&(s.value=a)},{immediate:!0}),D(async()=>{V();const a=x.query.server;a&&!t.authStore.isSingleServerMode&&t.authStore.setPreselectedServer(a),await t.authStore.getAuthMode(),setTimeout(()=>{const e=document.getElementById("identity");e&&e.focus()},100)}),N(()=>{V()}),(a,e)=>{const C=L("InputText"),o=L("Button"),S=L("Card");return i(),u("div",J,[r("div",Q,[y(S,{class:"login-card"},{header:_(()=>[r("div",X,[r("i",{class:I(["pi",l.appIcon,"text-primary","text-6xl"])},null,2),r("h1",Z,p(l.appTitle),1),r("p",ee,p(l.appSubtitle),1)])]),content:_(()=>[l.authStore.loginStep==="loading"?(i(),u("div",te,[...e[3]||(e[3]=[r("i",{class:"pi pi-spin pi-spinner text-4xl text-primary"},null,-1),r("p",null,"Se încarcă...",-1)])])):(i(),u("form",{key:1,class:"login-form",onSubmit:W(z,["prevent"])},[r("div",re,[e[4]||(e[4]=r("label",{for:"identity",class:"form-label required"},"Utilizator",-1)),y(C,{id:"identity",modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=g=>n.value=g),type:"text",placeholder:"Introduceți utilizatorul",class:I([{invalid:c.value},"w-full"]),autocomplete:"username",onBlur:P,onInput:T},null,8,["modelValue","class"]),c.value?(i(),u("span",ae,p(c.value),1)):b("",!0)]),r("div",oe,[e[5]||(e[5]=r("label",{for:"password",class:"form-label required"},"Parolă",-1)),y(k(K),{id:"password",modelValue:f.value,"onUpdate:modelValue":e[1]||(e[1]=g=>f.value=g),placeholder:"Introduceți parola",class:I([{invalid:d.value},"w-full"]),feedback:!1,toggleMask:"",autocomplete:"current-password",onInput:q},null,8,["modelValue","class"]),d.value?(i(),u("span",le,p(d.value),1)):b("",!0)]),l.authStore.isSingleServerMode?b("",!0):(i(),u("div",se,[e[6]||(e[6]=r("label",{for:"server",class:"form-label required"},"Server",-1)),y(k(G),{id:"server",modelValue:s.value,"onUpdate:modelValue":e[2]||(e[2]=g=>s.value=g),options:l.authStore.availableServers,optionLabel:"name",optionValue:"id",placeholder:"Selectați serverul",class:I(["w-full",{invalid:m.value}]),disabled:l.authStore.availableServers.length===0},null,8,["modelValue","options","class","disabled"]),m.value?(i(),u("span",ie,p(m.value),1)):b("",!0)])),l.authStore.error?(i(),u("div",ne,[e[7]||(e[7]=r("i",{class:"pi pi-exclamation-triangle"},null,-1)),r("span",null,p(l.authStore.error),1)])):b("",!0),y(o,{type:"submit",label:"Autentificare",class:"w-full login-button",loading:l.authStore.isLoading,disabled:!B.value,icon:"pi pi-sign-in","icon-pos":"right"},null,8,["loading","disabled"])],32))]),footer:_(()=>[r("div",ue,[r("small",ce," ROA2WEB © "+p(A.value)+" - Toate drepturile rezervate ",1)])]),_:1})])])}}},he={__name:"LoginWrapper",setup(l){const t=H.create({baseURL:"/roa2web/api",headers:{"Content-Type":"application/json"}}),x=F(t)();return(w,n)=>(i(),$(de,{"app-title":"ROA2WEB","app-subtitle":"Sistem Unificat - Rapoarte & Introduceri Date","app-icon":"pi-chart-bar","redirect-path":"/reports/dashboard","auth-store":k(x)},null,8,["auth-store"]))}};export{he as default}; //# sourceMappingURL=LoginWrapper.D7R_IVEC.js.map