1import{c as g,a as m,b as e,d as p,t as o,w as y,e as v,v as h,f as k,g as b,h as B,r as d,i as C,u as L,j as F,o as f}from"./index-4t6sLUV_.js";import{u as S}from"./auth-DqH3kRwJ.js";import{u as V}from"./workspace-DWY1o3QQ.js";import{_ as T}from"./AppNavbar-DuIgEveG.js";const H={class:"min-h-screen bg-[#FAFAF7] text-[#0A0A0A]"},I={class:"mx-auto grid w-full max-w-6xl gap-4 px-4 pt-6 pb-8 sm:px-5 md:grid-cols-[1.05fr_minmax(360px,420px)] md:gap-6 md:px-10 md:pt-10 md:pb-16"},M={class:"relative overflow-hidden rounded-2xl border border-[#E8E8E2] bg-white p-5 sm:p-7 md:p-9"},N={class:"relative"},q={class:"inline-flex items-center gap-2 rounded-full border border-[#1A6B4A]/15 bg-[#E8F5EF] px-3 py-1 text-xs font-semibold text-[#1A6B4A]"},P={class:"mt-5 max-w-md font-serif text-xl tracking-[-0.04em] sm:text-2xl md:text-3xl"},j={class:"mt-4 max-w-lg text-sm leading-7 text-[#6E6E68] md:text-base"},D={class:"mt-8 rounded-2xl border border-[#E8E8E2] bg-[#F4F4F0] p-4"},R={class:"flex items-start gap-3"},z={class:"text-sm leading-6 text-[#6E6E68]"},U={class:"rounded-2xl border border-[#E8E8E2] bg-white p-4 shadow-[0_12px_40px_rgba(10,10,10,0.06)] sm:p-6 md:p-7"},X={class:"space-y-5"},O={class:"font-serif text-2xl tracking-[-0.04em] text-[#0A0A0A]"},Y={class:"mt-2 text-sm leading-7 text-[#6E6E68]"},$={class:"block text-sm font-medium text-[#0A0A0A] mb-1.5"},G={class:"block text-sm font-medium text-[#0A0A0A] mb-1.5"},J={key:0,class:"text-sm text-red-500"},K=["disabled"],Q={class:"flex flex-wrap gap-3 pt-2"},oe={__name:"Login",setup(W){const x=L(),_=F(),w=S(),A=V(),t=B(()=>A.lang),n=d(""),u=d(""),r=d(""),i=d(!1);async function E(){var c,s;i.value=!0,r.value="";try{await w.login(n.value,u.value);const l=_.query.redirect||"/dashboard";x.push(l)}catch(l){const a=((s=(c=l.response)==null?void 0:c.data)==null?void 0:s.detail)||(t.value==="en"?"Login failed":"ç»å½å¤±è´¥");if(a==="EMAIL_NOT_VERIFIED"){x.push({path:"/verify-email",query:{email:n.value}});return}r.value=a==="Invalid credentials"?t.value==="en"?"Invalid email or password":"é®ç®±æå¯ç é误":a}finally{i.value=!1}}return(c,s)=>{const l=C("router-link");return f(),g("main",H,[m(T),e("section",I,[e("div",M,[s[4]||(s[4]=e("div",{class:"absolute inset-x-0 top-0 h-32 bg-[radial-gradient(ellipse_at_top,rgba(26,107,74,0.16),transparent_70%)]"},null,-1)),e("div",N,[e("span",q,[s[2]||(s[2]=e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"h-3.5 w-3.5"},[e("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}),e("path",{d:"m9 12 2 2 4-4"})],-1)),p(" "+o(t.value==="en"?"Secure Login":"å®å
¨ç»å½"),1)]),e("h1",P,o(t.value==="en"?"Continue managing your HireCX workspace":"ç»§ç»ç®¡çä½ ç HireCX å·¥ä½åº"),1),e("p",j,o(t.value==="en"?"Log in to manage your team roles, personas, knowledge base, and wallet. Your team configuration and workflows are all saved here.":"ç»å½åç»§ç»ç®¡çå²ä½èè´£ã客ææåãç¥è¯åºåé±å
ãä½ çå¢éé
ç½®å工使µç¨é½ä¿åå¨è¿éã"),1),e("div",D,[e("div",R,[s[3]||(s[3]=e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"mt-0.5 h-5 w-5 flex-shrink-0 text-[#1A6B4A]"},[e("path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}),e("path",{d:"m9 12 2 2 4-4"})],-1)),e("p",z,o(t.value==="en"?"All data is transmitted over HTTPS encryption. Passwords are securely stored with bcrypt hashing.":"æææ°æ®ä¼ è¾ä½¿ç¨ HTTPS å å¯ï¼å¯ç ç»è¿ bcrypt å®å
¨åå¸åå¨ï¼ç¡®ä¿ä½ çè´¦æ·ä¿¡æ¯å®å
¨ã"),1)])])])]),e("div",U,[e("div",X,[e("div",null,[e("h2",O,o(t.value==="en"?"Log in":"ç»å½"),1),e("p",Y,o(t.value==="en"?"Enter your email and password to continue":"è¾å
¥ä½ çé®ç®±åå¯ç ç»§ç»"),1)]),e("form",{onSubmit:y(E,["prevent"]),class:"space-y-4"},[e("div",null,[e("label",$,o(t.value==="en"?"Email":"é®ç®±"),1),v(e("input",{"onUpdate:modelValue":s[0]||(s[0]=a=>n.value=a),type:"email",required:"",placeholder:"[email protected]",class:"w-full px-4 py-2.5 border border-[#
1E8E8E2] rounded-2xl text-sm focus:ring-1 focus:ring-[#1A6B4A] focus:border-[#1A6B4A] outline-none bg-white"},null,512),[[h,n.value]])]),e("div",null,[e("label",G,o(t.value==="en"?"Password":"å¯ç "),1),v(e("input",{"onUpdate:modelValue":s[1]||(s[1]=a=>u.value=a),type:"password",required:"",class:"w-full px-4 py-2.5 border border-[#E8E8E2] rounded-2xl text-sm focus:ring-1 focus:ring-[#1A6B4A] focus:border-[#1A6B4A] outline-none bg-white"},null,512),[[h,u.value]])]),r.value?(f(),g("p",J,o(r.value),1)):k("",!0),e("button",{type:"submit",disabled:i.value,class:"w-full py-2.5 bg-[#0A0A0A] text-white rounded-full font-semibold text-sm hover:bg-[#1A6B4A] transition disabled:opacity-50"},o(i.value?t.value==="en"?"Logging in...":"ç»å½ä¸...":t.value==="en"?"Log in":"ç»å½"),9,K)],32),e("div",Q,[m(l,{to:"/",class:"rounded-full border border-[#E8E8E2] bg-white px-4 py-2 text-sm font-semibold"},{default:b(()=>[p(o(t.value==="en"?"Home":"è¿åé¦é¡µ"),1)]),_:1}),m(l,{to:"/register",class:"rounded-full bg-[#0A0A0A] px-4 py-2 text-sm font-semibold text-white"},{default:b(()=>[p(o(t.value==="en"?"Sign up":"注å"),1)]),_:1})])])])])])}}};export{oe 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.