D2S2f1Kl.js 3.75 KB
import{_ as B}from"./Cba5FCYW.js";import{d as F,D as T,a as E,u as L,b as P,c as g,e as t,f as n,w as i,t as c,g as e,F as z,m as M,s as h,o as d,l as x,k as v,n as O,_ as j,p as b,q as G,v as H,a7 as J}from"./BtEn9SvP.js";import{_ as K}from"./7yIyqIY0.js";import{_ as Q}from"./3BmF-CSc.js";import{_ as W}from"./CIIa_WCh.js";import{_ as X,o as Y,s as w}from"./Bd-k_Jez.js";import{_ as Z}from"./BhMHHGjC.js";const ee={class:"min-h-screen bg-gradient-to-br from-default via-elevated/30 to-primary/10"},se={class:"mx-auto grid min-h-screen max-w-6xl items-center gap-8 px-4 py-10 lg:grid-cols-2 lg:px-8"},oe={class:"space-y-5"},te={class:"text-3xl font-semibold text-highlighted sm:text-4xl"},ae={class:"text-toned text-base leading-7"},le={class:"space-y-3"},ne={class:"text-sm font-medium text-muted"},re={class:"flex flex-wrap gap-2"},ie={class:"space-y-1"},ce={class:"text-xl font-semibold text-highlighted"},me={class:"text-sm text-muted"},we=F({__name:"login",setup(de){const y=T(),V=E(),{t:s}=L(),{login:k}=P(),u=b(!1),m=b(""),A=h(()=>Y({username:w().min(1,s("login.validation.usernameRequired")),password:w().min(1,s("login.validation.passwordRequired"))})),r=G({username:"",password:""}),U=h(()=>[{username:"admin",password:"123456",label:s("login.demo.admin")},{username:"operator",password:"123456",label:s("login.demo.operator")}]);function C(a,o){r.username=a,r.password=o,m.value=""}function R(a){return J(y.query.redirect,a)}function S(a,o){return a==="VALIDATION_ERROR"?s("login.errors.validation"):a==="INVALID_CREDENTIALS"?s("login.errors.invalidCredentials"):o}async function $(a){u.value=!0,m.value="";try{const o=await k(a.data);if(!o.success||!o.token||!o.user){m.value=S(o.errorCode,o.message);return}V.add({title:s("login.toast.successTitle"),description:s("login.toast.successDescription",{name:o.user.name}),color:"success",icon:"i-lucide-check"}),await H(R(o.user.roles))}catch{m.value=s("login.errors.requestFailed")}finally{u.value=!1}}return(a,o)=>{const q=B,p=j,_=K,f=Q,D=W,I=X,N=Z;return d(),g("main",ee,[t("div",se,[t("section",oe,[n(q,{color:"primary",variant:"soft",class:"rounded-full"},{default:i(()=>[x(c(e(s)("login.badge")),1)]),_:1}),t("h1",te,c(e(s)("login.title")),1),t("p",ae,c(e(s)("login.description")),1),t("div",le,[t("p",ne,c(e(s)("login.demo.title")),1),t("div",re,[(d(!0),g(z,null,M(e(U),l=>(d(),v(p,{key:l.username,color:"neutral",variant:"soft",size:"sm",onClick:pe=>C(l.username,l.password)},{default:i(()=>[x(c(l.label),1)]),_:2},1032,["onClick"]))),128))])])]),t("section",null,[n(N,{class:"w-full shadow-sm ring-1 ring-default"},{header:i(()=>[t("div",ie,[t("h2",ce,c(e(s)("login.form.title")),1),t("p",me,c(e(s)("login.form.description")),1)])]),default:i(()=>[n(I,{schema:e(A),state:e(r),class:"space-y-5",onSubmit:$},{default:i(()=>[n(f,{name:"username",label:e(s)("login.form.username"),required:""},{default:i(()=>[n(_,{modelValue:e(r).username,"onUpdate:modelValue":o[0]||(o[0]=l=>e(r).username=l),size:"xl",class:"w-full",placeholder:e(s)("login.form.usernamePlaceholder"),autocomplete:"username"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),n(f,{name:"password",label:e(s)("login.form.password"),required:""},{default:i(()=>[n(_,{modelValue:e(r).password,"onUpdate:modelValue":o[1]||(o[1]=l=>e(r).password=l),size:"xl",class:"w-full",placeholder:e(s)("login.form.passwordPlaceholder"),type:"password",autocomplete:"current-password"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e(m)?(d(),v(D,{key:0,color:"error",variant:"soft",icon:"i-lucide-circle-alert",title:e(s)("login.errors.title"),description:e(m)},null,8,["title","description"])):O("",!0),n(p,{type:"submit",color:"primary",block:"",size:"xl",loading:e(u),label:e(s)("login.form.submit")},null,8,["loading","label"])]),_:1},8,["schema","state"])]),_:1})])])])}}});export{we as default};