1import{a as H,bS as J,r as v,P as K,C as R,de as L,c as W,w as C,db as G,o as y,j as e,u as s,J as c,K as _,k as $,as as O,S as I,y as S,i as T,H as m,f as i,l as B,I as E,c$ as Q,dh as d,di as A,dj as X,cV as M,at as N}from"./entry.e42a7db6.js";import Y from"./layout.f69c5af1.js";import{_ as Z}from"./Alert.vue_vue_type_script_setup_true_lang.8d213531.js";import{u as ee,r as V,m as P}from"./index.esm.96615a24.js";import{u as se}from"./template.463ed8ed.js";import{M as te}from"./MakeNextPaginatedListParametersFromNull.ae53e94a.js";import{T as ae}from"./wfm_api_clients.cd2d52be.js";import{_ as ne}from"./_plugin-vue_export-helper.a1a6add7.js";import"./MakeNextListParameters.6112a9d4.js";const oe={class:"p-4 w-100 flex-grow-1 d-flex align-items-center"},ie={class:"w-100"},re={class:"text-center mb-3"},le=["src"],ce={class:"row g-0 justify-content-center"},de={class:"col-sm-8 col-xl-5 col-xxl-4"},ue=["onSubmit"],me={class:"mb-4"},pe={key:0,class:"invalid-feedback animated fadeIn"},fe={class:"mb-4"},ge={class:"password-container"},_e={key:0,class:"invalid-feedback animated fadeIn"},we={class:"d-flex justify-content-between align-items-center mb-4"},he=["disabled"],ve={class:"fa fa-fw fa-sign-in-alt me-1 opacity-50"},ye={class:"fas fa-circle-notch fa-spin"},xe=H({__name:"index",async setup(be){let p,x;const U=([p,x]=J(()=>G()),p=await p,x(),p),u=v(!1),r=v(null),n=K({});se();const o=ee({username:{required:V,minLength:P(3)},password:{required:V,minLength:P(5)}},n),b=R(()=>!u.value&&n.username!=null&&n.password!=null&&n.username.length>0&&n.password.length>0),w=v(null),h=L();async function j(){if(!!b.value){u.value=!0,r.value=null;try{const t=await d.instance.login(n.username,n.password,"local",new Promise(()=>{}));t!==null&&(w.value=t)}catch(t){r.value=t instanceof A?t.message:i("Server Error")}d.instance.isLoggedIn&&(await z(),await X.forceConfigDownload(),await F(),await D()),u.value=!1}}async function D(){var t;h.isTechnician&&((t=M().contractManagement)==null?void 0:t.enabled)?await N("/ticketing/contracts"):await N("/")}async function F(){var t;if(!h.isAdmin)if((t=M().contractManagement)!=null&&t.enabled){let a=te.make(),f=[];try{f=await ae.getContracts(a)}catch(g){r.value=g instanceof A?g.message:i("Server Error"),d.instance.logout()}h.isTechnician&&f.length<0&&(r.value=i("L'utente non \xE8 abilitato"),d.instance.logout())}else r.value=i("L'utente non \xE8 abilitato"),d.instance.logout()}function q(){const t=document.getElementById("login-password"),a=document.getElementById("eye");t.getAttribute("type")==="password"?(t.setAttribute("type","text"),a.classList.remove("fa-eye"),a.classList.add("fa-eye-slash")):(t.setAttribute("type","password"),a.classList.remove("fa-eye-slash"),a.classList.add("fa-eye"))}async function z(){const t=d.instance.getUser();t&&L().$patch({user:t})}return(t,a)=>{const f=Q,g=Y;return y(),W(g,{name:"guest"},{default:C(()=>{var k;return[e("div",oe,[e("div",ie,[e("div",re,[e("p",null,[e("img",{src:s(U).appLogoUrl,class:"logo-img"},null,8,le)])]),e("div",ce,[e("div",de,[c($(Z,{message:(k=s(r))!=null?k:"","alert-type":"danger"},null,8,["message"]),[[_,s(r)]]),e("form",{onSubmit:O(j,["prevent"])},[e("div",me,[c(e("input",{type:"text",autocomplete:"username",class:S(["form-control form-control-lg form-control-alt py-3 mx-0",{"is-invalid":s(o).username.$errors.length}]),id:"login-username",name:"login-username",placeholder:"Username","onUpdate:modelValue":a[0]||(a[0]=l=>n.username=l),onBlur:a[1]||(a[1]=(...l)=>s(o).username.$touch&&s(o).username.$touch(...l))},null,34),[[I,n.username]]),s(o).username.$errors.length?(y(),T("div",pe,m(s(i)("Inserisci il tuo username")),1)):B("",!0)]),e("div",fe,[e("div",ge,[c(e("input",{type:"password",autocomplete:"current-password",class:S(["form-control form-control-lg form-control-alt py-3 mx-0",{"is-invalid":s(o).password.$errors.length}]),id:"login-password",name:"login-password",placeholder:"Password","onUpdate:modelValue":a[2]||(a[2]=l=>n.password=l),onBlur:a[3]||(a[3]=(...l)=>s(o).password.$touch&&s(o).password.$touch(...l))},null,34),[[I,n.password]]),e("i",{class:"fa-solid fa-eye",id:"eye",onClick:q})]),s(o).password.$errors.length?(y(),T("div",_e,m(s(i)("Inserisci la tua password")),1)):B("",!0)]),c(e("div",{class:"text-danger"},m(s(w)),513),[[_,s(w)]]),e("div",we,[e("div",null,[$(f,{to:"/forgot-password",class:"text-muted fs-sm fw-medium d-block d-lg-inline-block mb-1"},{default:C(()=>[E(m(s(i)("Password dimenticata"))+"? ",1)]),_:1})]),e("div",null,[e("button",{type:"submit",class:"btn btn-lg btn-alt-primary",disabled:!s(b)},[c(e("i",ve,null,512),[[_,!s(u)]]),c(e("i",ye,null,512),[[_,s(u)]]),E(" "+m(s(i)("Entra")),1
1)],8,he)])])],40,ue)])])])])]}),_:1})}}});const Ae=ne(xe,[["__scopeId","data-v-ecd17e50"]]);export{Ae 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.