1import{d as M,a as $,V as G,p as m,g as v,h as e,s as p,o as d,f as l,c as E,e as b,v as H,E as A,C as I,P as U,A as W,i as z,t as V,I as X,j as k,F as j,k as T,q as R,D as K,z as Q,u as Y,n as J,y as Z,x as ee,B as ae,_ as te}from"./index-BYI5umli.js";import{u as re,b as se,v as c,c as y,a as h,r as oe,F as w,C as le,t as ie}from"./useCaptcha-CQqZykMX.js";import{A as ne}from"./AccountCard-D_LeWlPw.js";import{A as de}from"./AgreementCheckbox-C8JjPBjl.js";import{u as ue,a as me,i as pe,c as ce,O as fe,d as ge,S as ve,b as be,T as ye,I as he}from"./useThirdPartyLogin-jRy73EBS.js";import{P as we}from"./PrimaryButton-CtqPcf-a.js";import{T as Ce}from"./TitleBlock-BsndY2CH.js";import{u as xe}from"./useOidcFlow-CCOn-YkB.js";import{u as Be}from"./useSubmitGuard-BXXHgAN5.js";import"./errors-T85jqzou.js";import"./ElegooLogo-CNAE0fLk.js";import"./LanguageSwitcher-DeaJ5_P2.js";import"./nexprint-wordmark-u_89eWdZ.js";import"./constants-QDSO_JnZ.js";import"./icon-failure-BJpk027r.js";import"./parseFacLoginData-8FY4DSkt.js";import"./facToken-njLwr5pt.js";const Ee={class:"register-panel"},Ae={class:"form-actions"},Ie={key:0,class:"warn-strip"},Ve=M({__name:"Register",setup(ke){const{t:r}=$(),S=T(()=>[{id:"login",label:r("tabs.login")},{id:"register",label:r("tabs.register")}]),C=R("register"),P=ee(),_=Z();function L(i){i==="login"&&_.push({name:"login",query:K(P.query)})}const t=Q({email:"",code:"",password:""}),u=R(!1),o=re(["email","code","password"]);function q(i){t.email=ie(i,A),o.clear("email")}const x=ue("register",{agreed:u});function F(i){x.start(i)}const n=xe(),N=Y(),B=me(),f=se({channel:()=>ae.Email,account:()=>t.email,scene:G.Register});function O(){o.clear("code"),f.error.value=""}const D=T(()=>!u.value||c(t.email)||y(t.code)?!1:!h(t.password)),g=Be(async()=>{if(n.entryBlocked.value)return!1;if(!u.value)return p.error(r("toast.agreement_required")),!1;if(!o.validateAll([{key:"email",validator:()=>c(t.email)},{key:"code",validator:()=>y(t.code)},{key:"password",validator:()=>h(t.password)}])||!await B.validateInviteCode())return!1;const i=await oe({email:t.email,code:t.code,password:t.password,...pe(B.inviteCode.value)});if(J("[register/email] response:",i),N.setBizToken(i),n.authRequestId.value){const a=await n.completeAfterLogin();a.redirected?p.success(r("toast.register_success")):"accountSuspended"in a&&a.accountSuspended||"authRequestExpired"in a&&a.authRequestExpired||p.error(a.reason||r("toast.login_failed"))}else p.success(r("toast.register_success"))},{fallbackMessageKey:"toast.register_failed"});return(i,a)=>(d(),m(ne,{"center-card":e(n).authRequestExpired.value},{default:v(()=>[l(ce),e(n).entryBlocked.value?(d(),m(fe,{key:0})):e(n).authRequestExpired.value?(d(),m(ge,{key:1})):(d(),E(j,{key:2},[l(ve,{modelValue:C.value,"onUpdate:modelValue":[a[0]||(a[0]=s=>C.value=s),L],options:S.value},null,8,["modelValue","options"]),b("div",Ee,[l(be),l(Ce,{prefix:e(r)("register.titlePrefix"),accent:e(r)("register.titleAccent"),subtitle:e(r)("register.subtitle")},null,8,["prefix","accent","subtitle"]),b("form",{class:"form",onSubmit:a[9]||(a[9]=H(s=>e(g).run(),["prevent"]))},[l(w,{"model-value":t.email,label:e(r)("register.emailLabel"),type:"email",inputmode:"email",autocomplete:"email",placeholder:e(r)("register.emailPlaceholder"),maxlength:e(A),error:e(o).errors.email,"onUpdate:modelValue":q,onBlur:a[1]||(a[1]=s=>e(o).onBlur("email",()=>e(c)(t.email)))},null,8,["model-value","label","placeholder","maxlength","error"]),l(w,{modelValue:t.code,"onUpdate:modelValue":a[3]||(a[3]=s=>t.code=s),label:e(r)("register.captchaLabel"),inputmode:"numeric",placeholder:e(r)("register.captchaPlaceholder",{n:e(I)}),maxlength:e(I),error:e(o).errors.code||e(f).error.value||null,onInput:O,onBlur:a[4]||(a[4]=s=>e(o).onBlur("code",()=>e(y)(t.code)))},{"input-extra":v(()=>[l(le,{state:e(f),onBlocked:a[2]||(a[2]=s=>e(o).onBlur("email",()=>e(c)(t.email)))},null,8,["state"])]),_:1},8,["modelValue","label","placeholder","maxlength","error"]),l(w,{modelValue:t.password,"onUpdate:modelValue":a[5]||(a[5]=s=>t.password=s),label:e(r)("register.passwordLabel",{n:e(W)}),type:"password",autocomplete:"new-password",placeholder:e(r)("register.passwordPlaceholder"),maxlength:e(U),error:e(o).errors.password,onInput:a[6]||(a[6]=s=>e(o).clear("password")),onBlur:a[7]||(a[7]=s=>e(o).onBlur("password",()=>e(h)(t.password)))},null,8,["modelValue","label","placeholder","maxlength","error"]),b("div",Ae,[l(de,{modelValue:u.value,"onUpdate:modelValue":a[8]||(a[8]=s=>u.value=s)},null,8,["modelValue"]),l(we,{loading:e(g).loading.value,disabled:!D.value,type:"submit"},{default:v(()=>[z(V(e(g).loading.value?e(r)("register.submitting"):e(r)("register.submit")),1)]),_:1},8,["loading","disabled"])]),e(X)?(d(),m(ye,{key:0,loading:e(x).loading.value,onSelect:F},null,8,["loading"])):k("",!0)],32)]),!e(he)&&!e(n).authRequestId.value?(d(),E("p",Ie,V(e(r)("register.n
1oAuthRequest")),1)):k("",!0)],64))]),_:1},8,["center-card"]))}}),ze=te(Ve,[["__scopeId","data-v-db3c9814"]]);export{ze 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.