1import{e as B,r as c,a as N,o as U,S as I,Q as M,$ as p,m as i,N as s,M as R,V as q,u as l,v as F,a1 as D,R as g,E as w,_ as P,a2 as O,P as A}from"./vendor-vue-BX5H9cWS.js";import{i as G,e as W,dC as $,cO as j,dD as z,dE as H,dF as J,dG as y,dH as K,dI as Q,dJ as X,dK as Y,dL as Z,dM as ee,l as oe,dN as ae,aE as te,dO as k,d as se}from"./index-DsiSMK2M.js";import{s as le}from"./shouldLeaveAuthPage-UZQees8o.js";import{A as ie}from"./AuthLayout-CmsX0DUQ.js";const re={class:"login-oauth"},ne={class:"login-fields"},ue={class:"login-meta"},ce={class:"auth-check"},de={key:0,class:"login-error"},me=B({__name:"login",setup(pe){const E=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,{t}=G.global,b=W(),v=O(),n=I(),d=c(!1),u=c(""),m=c(!1),f=c(!1),a=c({email:"",password:""}),T=N(()=>!!(a.value.email.trim()&&a.value.password)),_=()=>{a.value.email=a.value.email.replace(/ï¼ /g,"@")},V=()=>{m.value=!1,u.value=""},x=()=>E.test(a.value.email.trim());U(async()=>{$(),le(await j(),n.currentRoute.value.query.redirect)&&h()});const C=async()=>{if(_(),!x()){m.value=!0;return}m.value=!1,b.logout(),u.value="",d.value=!0;try{await Y(),await Z({flow:"login",method:"site",surface:"login_page",force:!0,legacyFollowUp:"self",authenticate:()=>oe.userLogin({data:a.value,notNotify:!0,notClassified:!0}),sessionUser:ee})&&(ae({method:"site"}),te.success(t("login.login.loginSuccessTip")),h())}catch(o){if((o==null?void 0:o.error_code)==="EMAIL_NOT_REGISTERED"){const{invitationCode:e,redirect:r}=v.query;n.push({path:"/register",query:{email:a.value.email,invitationCode:e,redirect:r}});return}u.value=(o==null?void 0:o.message)||t("login.login.passwordTip")}finally{d.value=!1}},h=()=>{d.value=!1;const{currentRoute:{value:{query:{redirect:o=""}}}}=n,e=decodeURIComponent(o)||"/";e.startsWith("http://")||e.startsWith("https://")?window.location.href=e:n.replace(e)},L=()=>{k.signupClick();const{invitationCode:o,redirect:e}=v.query;n.push({path:"/register",query:{invitationCode:o,redirect:e}})},S=()=>{k.forgotpwClick();const o=a.value.email.trim();n.push(o?{path:"/reset",query:{email:o}}:"/reset")};return(o,e)=>(A(),M(ie,null,{default:p(()=>[i(X,{title:l(t)("login.login.loginTitle")},{footer:p(()=>[i(Q,{prefix:l(t)("login.login.haveNotAccount"),action:l(t)("login.login.register"),onAction:L},null,8,["prefix","action"])]),default:p(()=>[s("div",re,[i(z,{variant:"login","on-success":h}),i(H,{variant:"oauth",context:"login"})]),i(J),s("form",{class:"login-form",onSubmit:w(C,["prevent"])},[s("div",ne,[i(y,{modelValue:a.value.email,"onUpdate:modelValue":[e[0]||(e[0]=r=>a.value.email=r),V],type:"email",name:"email",autocomplete:"email",placeholder:l(t)("login.login.email"),error:m.value,"error-message":l(t)("login.login.emailInvalidTip"),onBlur:_},null,8,["modelValue","placeholder","error","error-message"]),i(y,{modelValue:a.value.password,"onUpdate:modelValue":e[1]||(e[1]=r=>a.value.password=r),type:"password",name:"password",autocomplete:"current-password",placeholder:l(t)("login.login.password")},null,8,["modelValue","placeholder"])]),s("div",ue,[s("label",ce,[F(s("input",{"onUpdate:modelValue":e[2]||(e[2]=r=>f.value=r),class:"auth-check__input",type:"checkbox"},null,512),[[D,f.value]]),e[3]||(e[3]=s("span",{class:"auth-check__box","aria-hidden":"true"},null,-1)),s("span",null,g(l(t)("login.login.remember")),1)]),s("a",{class:"login-forgot",href:"javascript:void(0)",onClick:w(S,["prevent"])},g(l(t)("login.login.forgot")),1)]),u.value?(A(),R("p",de,g(u.value),1)):q("",!0),i(K,{loading:d.value,disabled:!T.value},{default:p(()=>[P(g(l(t)("login.login.login")),1)]),_:1},8,["loading","disabled"])],32)]),_:1},8,["title"])]),_:1}))}}),_e=se(me,[["__scopeId","data-v-e13e9f59"]]);export{_e 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.