UNPKG

@andreabiagini5/applicazioni-e-servizi-web-project

Version:
2 lines (1 loc) 1.99 kB
import{d as w,r,c as v,o as b,a as o,w as i,_ as g,F as V,b as C,u as d,C as x,e as y,q as m,n as p,f as k,s as U,t as $}from"./index-DBK_HSPz.js";import{_ as F}from"./AuthScreen.vue_vue_type_script_setup_true_lang-BacXbkLN.js";const P=w({__name:"LoginView",setup(B){const c=k(),s=r({username:"",password:""}),t=r({username:null,password:null}),l=r({visible:!1,text:""});function f(n){n.preventDefault(),U.post("/account/login",{username:s.username,password:s.password}).then(()=>{$(),c.push("/play")}).catch(e=>{var a,u;t.username=!1,t.password=!1,l.text=((u=(a=e.response)==null?void 0:a.data)==null?void 0:u.message)||"Login failed. Please try again.",l.visible=!0})}return(n,e)=>(b(),v(V,null,[o(F,{title:"Login",formCompletionCallback:f},{"form-fields":i(()=>[o(d(m),{type:"text",label:"Username",id:"username",modelValue:s.username,"onUpdate:modelValue":e[0]||(e[0]=a=>s.username=a),class:p({"is-invalid":t.username===!1,"is-valid":t.username===!0}),wrapperClass:"mb-4",invalidFeedback:"Username must be at least 3 characters long and contain only alphanumeric characters.",white:""},null,8,["modelValue","class"]),o(d(m),{type:"password",label:"Password",id:"password",modelValue:s.password,"onUpdate:modelValue":e[1]||(e[1]=a=>s.password=a),wrapperClass:"mb-4",class:p({"is-invalid":t.password===!1,"is-valid":t.password===!0}),invalidFeedback:"Password must be at least 8 characters long, contain at least one uppercase letter, one lowercase letter, one number, and one special character.",white:""},null,8,["modelValue","class"])]),"secondary-action":i(()=>[e[6]||(e[6]=C("p",{class:"text-center mt-3"},"Don't have an account yet?",-1)),o(d(x),{color:"secondary",block:"",onClick:e[2]||(e[2]=a=>n.$router.push("/registration"))},{default:i(()=>[...e[5]||(e[5]=[y("Register",-1)])]),_:1})]),_:1}),o(g,{modelValue:l.visible,"onUpdate:modelValue":e[3]||(e[3]=a=>l.visible=a),text:l.text,onClose:e[4]||(e[4]=a=>l.visible=!1)},null,8,["modelValue","text"])],64))}});export{P as default};