1import{d as k,h as i,q as N,a3 as C,aN as S,b5 as U,P as R,f as Q,g as z,e as B,w as r,ak as A,i as a,x,G as l,b4 as F,a1 as m,A as c,C as h,B as I,v as L}from"./vendor-bLtRDV7d.js";import{u as M,a as j,l as V,_ as D}from"./index-D9BDYpbc.js";const E=k({__name:"RegisterPage",setup(P,{expose:o}){o();const u=i(""),s=i(""),n=i(""),t=i(""),p=i(""),e=i(!1),_=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,q=N(()=>u.value.trim().length>0&&s.value.trim().length>0&&_.test(n.value.trim())&&t.value.length>=8&&t.value===p.value),{notify:g}=M(),y=C(),b=S(),v={firstName:u,lastName:s,email:n,password:t,confirmPassword:p,loading:e,emailRegex:_,isFormValid:q,notify:g,router:y,route:b,onSubmit:async()=>{e.value=!0;try{const f=`${window.location.origin}/#/login`;await V.request(U(n.value,t.value,{first_name:u.value.trim(),last_name:s.value.trim(),verification_url:f})),await V.login({email:n.value,password:t.value}),R.set("dink-auth",!0),g({color:"positive",textColor:"white",icon:"check_circle",message:"Account created! You are now logged in."});const d=b.query.redirect;y.push(typeof d=="string"?d:"/profile")}catch(f){const d=f;let w="An error occurred during registration.";d?.errors?.[0]?.message&&(w=d.errors[0].message),g({color:"negative",textColor:"white",icon:"warning",message:w})}finally{e.value=!1}},get logoUrl(){return j}};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),G=["src"],O={class:"row q-col-gutter-sm"},T={class:"col-12 col-sm-6"},Y={class:"col-12 col-sm-6"},H={class:"col-12"},J={class:"col-12"},K={class:"col-12"},W={class:"q-mt-sm"},X={class:"text-center q-mt-md"},Z={class:"text-center q-mt-sm"};function $(P,o,u,s,n,t){const p=Q("router-link");return z(),B(A,{class:"flex flex-center register-page"},{default:r(()=>[a(L,{class:"q-pa-lg register-card shadow-4",bordered:""},{default:r(()=>[a(x,{class:"text-center q-pb-sm q-pt-none"},{default:r(()=>[l("img",{src:s.logoUrl,alt:"Logo",class:"brand-logo q-mb-none",style:{height:"48px"}},null,8,G),o[5]||(o[5]=l("div",{class:"text-h4 text-weight-bold text-primary brand-title q-mb-xs"}," DinkMatch ",-1)),o[6]||(o[6]=l("div",{class:"text-subtitle1 text-grey-7"}," Sign up for a player account ",-1))]),_:1}),a(x,null,{default:r(()=>[a(F,{onSubmit:s.onSubmit},{default:r(()=>[l("div",O,[l("div",T,[a(m,{filled:"",modelValue:s.firstName,"onUpdate:modelValue":o[0]||(o[0]=e=>s.firstName=e),label:"First Name","lazy-rules":"",rules:[e=>e&&e.trim().length>0||"Required"],color:"primary",dense:"","hide-bottom-space":""},{prepend:r(()=>[a(c,{name:"person",color:"primary"})]),_:1},8,["modelValue","rules"])]),l("div",Y,[a(m,{filled:"",modelValue:s.lastName,"onUpdate:modelValue":o[1]||(o[1]=e=>s.lastName=e),label:"Last Name","lazy-rules":"",rules:[e=>e&&e.trim().length>0||"Required"],color:"primary",dense:"","hide-bottom-space":""},{prepend:r(()=>[a(c,{name:"person",color:"primary"})]),_:1},8,["modelValue","rules"])]),l("div",H,[a(m,{filled:"",modelValue:s.email,"onUpdate:modelValue":o[2]||(o[2]=e=>s.email=e),type:"email",label:"Email Address","lazy-rules":"",rules:[e=>!!e||"Please enter your email",e=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)||"Please enter a valid email"],color:"primary",dense:"","hide-bottom-space":""},{prepend:r(()=>[a(c,{name:"email",color:"primary"})]),_:1},8,["modelValue","rules"])]),l("div",J,[a(m,{filled:"",modelValue:s.password,"onUpdate:modelValue":o[3]||(o[3]=e=>s.password=e),type:"password",label:"Password","lazy-rules":"",rules:[e=>e&&e.length>=8||"Password must be at least 8 characters"],color:"primary",dense:"","hide-bottom-space":""},{prepend:r(()=>[a(c,{name:"lock",color:"primary"})]),_:1},8,["modelValue","rules"])]),l("div",K,[a(m,{filled:"",modelValue:s.confirmPassword,"onUpdate:modelValue":o[4]||(o[4]=e=>s.confirmPassword=e),type:"password",label:"Confirm Password","lazy-rules":"",rules:[e=>e===s.password||"Passwords do not match"],color:"primary",dense:"","hide-bottom-space":""},{prepend:r(()=>[a(c,{name:"lock",color:"primary"})]),_:1},8,["modelValue","rules"])])]),l("div",W,[a(h,{label:"Sign Up",type:"submit",color:"primary",size:"lg",class:"full-width register-btn",loading:s.loading,disable:!s.isFormValid,unelevated:"",rounded:""},null,8,["loading","disable"])]),l("div",X,[o[8]||(o[8]=l("span",{class:"text-grey-7"},"Already have an account? ",-1)),a(p,{to:"/login",class:"text-primary text-weight-bold text-decoration-none"},{default:r(()=>o[7]||(o[7]=[I("Sign In")])),_:1})]),l("div",Z,[a(h,{flat:"",dense:"","no-caps":"",color:"grey-6",icon:"arrow_back",label:"Back to home",to:"/"})])]),_:1})]),_:1})]),_:1})]),_:1})}const ae=D(E,[["render",$],["__scopeId","data-v-ecc12639"],["__file","RegisterPage.vue"]]);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.