1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9264],{23884:(e,r,t)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/therapist/login",function(){return t(88572)}])},30860:(e,r,t)=>{"use strict";t.d(r,{A:()=>a});let a=(0,t(17963).A)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},54871:(e,r,t)=>{"use strict";t.d(r,{E9:()=>i,Jz:()=>l,O5:()=>o,X5:()=>n,oW:()=>s});var a=t(11231);let n=a.Ikc({email:a.YjP().trim().email("Enter a valid email address"),password:a.YjP().min(1,"Password is required")}),o=a.Ikc({display_name:a.YjP().trim().min(1,"Full name is required").max(80,"Full name is too long"),email:a.YjP().trim().email("Enter a valid email address"),password:a.YjP().min(8,"Use at least 8 characters"),confirmPassword:a.YjP()}).refine(e=>e.password===e.confirmPassword,{message:"Passwords do not match",path:["confirmPassword"]}),i=a.Ikc({email:a.YjP().trim().email("Enter a valid email address")}),s=a.Ikc({token:a.YjP().trim().min(1,"Invalid reset link"),new_password:a.YjP().min(8,"Use at least 8 characters")}),l=a.Ikc({token:a.YjP().trim().min(1,"Invalid invite token")}),d=a.vkY(e=>Array.isArray(e)?e[0]:e,a.YjP());a.Ikc({code:d.optional(),state:d.optional(),error:d.optional()}),a.Ikc({auth_url:a.YjP().url(),state:a.YjP().min(1)}),a.Ikc({access_token:a.YjP().min(1)})},56732:(e,r,t)=>{"use strict";t.d(r,{A:()=>a});let a=(0,t(17963).A)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},77328:(e,r,t)=>{e.exports=t(29269)},88572:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>x});var a=t(37876),n=t(77328),o=t.n(n),i=t(48230),s=t.n(i),l=t(14232),d=t(89099),c=t(86306),p=t(56732),g=t(30860),u=t(54871);let h="#4a7c6f",b="#3a6259",m="#1a2e29";function x(){(0,d.useRouter)();let[e,r]=(0,l.useState)(!1),[t,n]=(0,l.useState)(!1),i=(0,l.useRef)(null),[x,y]=(0,l.useState)(!1),[f,k]=(0,l.useState)(0),[,w]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{Date.now()>=f?k(0):w(e=>e+1)},1e3);return()=>clearInterval(e)},[f]);let j=f?Math.max(0,Math.ceil((f-Date.now())/1e3)):0,v=j>0,S="".concat(Math.floor(j/60),":").concat(String(j%60).padStart(2,"0"));async function P(e){var t,a,n;if(e.preventDefault(),v)return;r(!0);let o=e.currentTarget.elements.namedItem("email").value,s=(null==(t=i.current)?void 0:t.value)||"",l=u.X5.safeParse({email:o,password:s});if(!l.success){c.Ay.error((null==(a=l.error.issues[0])?void 0:a.message)||"Invalid login details"),r(!1);return}try{let e=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l.data),credentials:"include"});if(423===e.status){let r=parseInt(null!=(n=e.headers.get("Retry-After"))?n:"900",10);k(Date.now()+1e3*r),c.Ay.error("Account locked â too many failed attempts. Check your email.");return}if(!e.ok){let r=await e.json().catch(()=>({}));c.Ay.error(r.detail||"Invalid credentials");return}let r="/home";try{let e="https://api.innera.ai".replace(/\/$/,""),t=await fetch("".concat(e,"/users/me"),{credentials:"include"});if(t.ok){let e=await t.json();"therapist"===e.role&&(r="/therapist/clients")}}catch(e){}c.Ay.success("Welcome back!"),window.location.href=r}catch(e){c.Ay.error("Something went wrong")}finally{r(!1)}}return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o(),{children:(0,a.jsx)("title",{children:"Therapist Sign In \xb7 Innera"})}),(0,a.jsx)("style",{children:'\n input[type="password"]::-ms-reveal,\n input[type="password"]::-ms-clear { display: none; }\n input[type="password"]::-webkit-credentials-auto-fill-button {\n visibility: hidden; display: none !important; pointer-events: none;\n width: 0; height: 0;\n }\n input[type="password"] { -webkit-appearance: none; appearance: none; }\n html, body { -webkit-overflow-scrolling: touch; }\n .dark .therapist-login {\n background:\n radial-gradient(1200
1px 700px at 15% 0%, rgba(74,124,111,0.20) 0%, transparent 58%),\n radial-gradient(900px 600px at 85% 100%, rgba(124,145,249,0.14) 0%, transparent 58%),\n linear-gradient(168deg, #070b18 0%, #0b1030 100%) !important;\n }\n .dark .therapist-login [style*="rgba(255,255,255"],\n .dark .therapist-login [style*="rgba(255, 255, 255"] {\n background: rgba(15,23,42,0.78) !important;\n border-color: rgba(255,255,255,0.12) !important;\n box-shadow: 0 18px 54px rgba(0,0,0,0.32) !important;\n }\n .dark .therapist-login h1,\n .dark .therapist-login span,\n .dark .therapist-login input,\n .dark .therapist-login button {\n color: rgba(235,239,255,0.92) !important;\n }\n .dark .therapist-login p,\n .dark .therapist-login a,\n .dark .therapist-login label span {\n color: rgba(184,193,224,0.72) !important;\n }\n .dark .therapist-login input {\n background: rgba(255,255,255,0.06) !important;\n border-color: rgba(255,255,255,0.14) !important;\n }\n '}),(0,a.jsx)("main",{className:"therapist-login","aria-label":"Therapist sign in",style:{minHeight:"100svh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center",overflowX:"hidden",background:"radial-gradient(1200px 700px at 15% 0%, rgba(74,124,111,0.13) 0%, transparent 58%),radial-gradient(900px 600px at 85% 100%, rgba(100,140,130,0.09) 0%, transparent 58%),linear-gradient(168deg, #eef4f2 0%, #daeae4 40%, #c8ddd6 100%)"},children:(0,a.jsxs)("div",{style:{width:"100%",maxWidth:400,padding:"24px 16px"},children:[(0,a.jsxs)("div",{style:{textAlign:"center",marginBottom:28},children:[(0,a.jsxs)("div",{style:{display:"inline-flex",alignItems:"center",gap:8,background:"rgba(74,124,111,0.10)",border:"1px solid rgba(74,124,111,0.22)",borderRadius:99,padding:"5px 14px",marginBottom:18},children:[(0,a.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:h,boxShadow:"0 0 0 2px rgba(74,124,111,0.25)"}}),(0,a.jsx)("span",{style:{fontSize:11,fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:b},children:"Innera for Therapists"})]}),(0,a.jsx)("h1",{style:{fontSize:28,fontWeight:700,letterSpacing:"-0.5px",color:m,lineHeight:1.15,margin:0},children:"Sign in to your workspace"}),(0,a.jsx)("p",{style:{fontSize:14,color:"rgba(26,46,41,0.52)",marginTop:8},children:"Your clients are waiting."})]}),(0,a.jsx)("div",{style:{background:"rgba(255,255,255,0.82)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",border:"1px solid rgba(255,255,255,0.88)",borderRadius:22,padding:"28px 28px 24px",boxShadow:"0 12px 48px rgba(26,46,41,0.10), 0 2px 8px rgba(74,124,111,0.08)"},children:(0,a.jsxs)("form",{onSubmit:P,style:{display:"grid",gap:16},children:[(0,a.jsxs)("label",{style:{display:"grid",gap:5},children:[(0,a.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"rgba(26,46,41,0.55)"},children:"Email"}),(0,a.jsx)("input",{type:"email",name:"email",inputMode:"email",autoCapitalize:"none",autoCorrect:"off",autoComplete:"email",placeholder:"[email protected]",required:!0,style:{height:42,padding:"0 14px",borderRadius:12,background:"rgba(255,255,255,0.90)",border:"1.5px solid rgba(74,124,111,0.20)",fontSize:14,color:m,outline:"none",transition:"border-color 0.15s"},onFocus:e=>e.target.style.borderColor="rgba(74,124,111,0.55)",onBlur:e=>e.target.style.borderColor="rgba(74,124,111,0.20)"})]}),(0,a.jsxs)("label",{style:{display:"grid",gap:5},children:[(0,a.jsx)("span",{style:{fontSize:12,fontWeight:600,color:"rgba(26,46,41,0.55)"},children:"Password"}),(0,a.jsxs)("div",{style:{position:"relative"},children:[(0,a.jsx)("input",{ref:i,type:t?"text":"password",name:"password",autoComplete:"current-password",placeholder:"Enter your password",required:!0,onChange:e=>y(e.target.value.length>0),style:{height:42,width:"100%",padding:"0 42px 0 14px",borderRadius:12,background:"rgba(255,255,255,0.90)",border:"1.5px solid rgba(74,124,111,0.20)",fontSize:14,color:m,outline:"none",boxSizing:"border-box",transition:"border-color 0.15s"},onFocus:e=>e.target.style.borderColor="rgba(74,124,111,0.55)",onBlur:e=>e.target.style.borderColor="rgba(74,124,111,0.20)"}),x&&(0,a.jsx)("button",{type:"button","aria-label":t?"Hide password":"Show password",onClick:()=>n(e=>!e),style:{position:"absolute",right:12,top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",color:"rgba(26,46,41,0.38)",padding:0,display:"flex",alignItems:"center"},children:t?(0,a.jsx)(p.A,{size:16}):(0,a.jsx)(g.A,{size:16})})]})]}),(0,a.jsx)("button",{type:"submit",disabled:e||v,style:{height:44,borderRadius:12,border:"none",background:e||v?"rgba(74,124,111,0.45)":"linear-gradient(135deg, ".concat(h," 0%, ").concat(b," 100%)"),color:"#fff",fontSize:14,fontWeight:700,cursor:e||v?"n
1ot-allowed":"pointer",boxShadow:e||v?"none":"0 4px 16px rgba(74,124,111,0.32)",transition:"all 0.15s",marginTop:4},children:v?"Account locked â retry in ".concat(S):e?"Signing inâ¦":"Sign in"}),(0,a.jsx)("div",{style:{textAlign:"center"},children:(0,a.jsx)(s(),{href:"/forgot-password",style:{fontSize:12,color:"rgba(26,46,41,0.45)",textDecoration:"none"},children:"Forgot password?"})}),(0,a.jsxs)("div",{style:{position:"relative",margin:"4px 0"},children:[(0,a.jsx)("div",{style:{height:1,background:"rgba(74,124,111,0.15)"}}),(0,a.jsx)("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",background:"rgba(255,255,255,0.95)",padding:"0 10px",fontSize:11,color:"rgba(26,46,41,0.35)",borderRadius:99},children:"or"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>{window.location.href="/api/auth/google-start"},style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,height:42,borderRadius:12,background:"rgba(255,255,255,0.90)",border:"1.5px solid rgba(74,124,111,0.20)",fontSize:14,fontWeight:500,color:m,cursor:"pointer",transition:"border-color 0.15s, background 0.15s"},onMouseEnter:e=>{e.currentTarget.style.background="rgba(255,255,255,1)",e.currentTarget.style.borderColor="rgba(74,124,111,0.40)"},onMouseLeave:e=>{e.currentTarget.style.background="rgba(255,255,255,0.90)",e.currentTarget.style.borderColor="rgba(74,124,111,0.20)"},children:[(0,a.jsx)("img",{src:"/google.svg",alt:"Google",style:{width:16,height:16}}),"Continue with Google"]})]})}),(0,a.jsxs)("p",{style:{textAlign:"center",fontSize:12,color:"rgba(26,46,41,0.38)",marginTop:20},children:["Not a therapist?"," ",(0,a.jsx)(s(),{href:"/login",style:{color:h,fontWeight:600,textDecoration:"none"},children:"Client sign in â"})]})]})})]})}x.noShell=!0}},e=>{e.O(0,[1231,636,6593,8792],()=>e(e.s=23884)),_N_E=e.O()}]);
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.