PageSourceSearch

https://www.callings.ai/assets/connect.lazy-ueNH9MWy.js

js callings.ai collected 2026-10-05 11:54:08 UTC 5,506 bytes, 1 lines download raw bytes

1import{b as k,r as d,j as e,A as x,B as y,ad as U,a2 as b,c9 as E,S as P,bI as T,dA as M,c as A}from"./index-D5TufL99.js";import C from"./SignInModal-behCFYkc.js";import L from"./SignUpModal-4eC08BJO.js";import R from"./ForgotPasswordModal-Wm8pXQMf.js";import{a as g,A as F}from"./AuthModalHeader-ChQ82XTp.js";import"./accessiblePasswordToggle-B8ILfgRR.js";import"./EyeTwoTone-DEqzQeMS.js";import"./signUpNudges-Dv3MCYD6.js";import"./a11yStyles-BkSn6pXl.js";import"./LinkOutlined-DXB4aDi6.js";import"./useMutation-DvYoX0ob.js";const O=({email:n,clientName:c,next:s,onBackToSignIn:t})=>{const{t:i}=k("auth"),[l,u]=d.useState("idle"),m=async()=>{u("sending");try{await U(n,s),u("sent")}catch(p){console.error("[ConnectVerifyPanel] resend failed",p),u("failed")}};return e.jsxs("div",{className:g.body,children:[e.jsx(F,{title:i("connect.checkEmailTitle"),hideBrand:!0}),e.jsx("div",{className:g.successPanel,role:"status",children:i("connect.checkEmailBody",{email:n,client:c})}),l==="sent"&&e.jsx("div",{className:g.messageSlot,style:{marginTop:14},children:e.jsx(x,{type:"success",showIcon:!0,message:i("connect.resent")})}),l==="failed"&&e.jsx("div",{className:g.messageSlot,style:{marginTop:14},children:e.jsx(x,{type:"error",showIcon:!0,message:i("connect.resendFailed")})}),l!=="sent"&&e.jsx("div",{className:g.actions,children:e.jsx(y,{block:!0,onClick:m,loading:l==="sending",disabled:l==="sending",children:i(l==="sending"?"connect.resending":"connect.resend")})}),e.jsx("div",{className:g.footer,children:e.jsx(y,{type:"link",style:{padding:0,height:"auto"},onClick:t,children:i("connect.backToSignIn")})})]})},w="/oauth/authorize",B=n=>/^\/(?![/\\])/.test(n);function V(n){const c=new URLSearchParams(n).get("next")||"";if(!B(c))return null;let s;try{s=new URL(c,"https://callings.invalid")}catch{return null}return s.origin!=="https://callings.invalid"||s.pathname!==w?null:{next:c,clientId:s.searchParams.get("client_id"),cancelUrl:`${w}/cancel${s.search}`}}const q="/?mode=signin";function $(){try{return!!sessionStorage.getItem("__auth_redirect_method")}catch{return!1}}function H(n=2e3,c=100){return new Promise(s=>{const t=Date.now(),i=()=>{if(!$()||Date.now()-t>=n){s();return}window.setTimeout(i,c)};i()})}const Q="_page_1acmj_1",z="_logo_1acmj_13",D="_card_1acmj_19",G="_lockup_1acmj_28",K="_clientMark_1acmj_36",Z="_link_1acmj_50",J="_callingsMark_1acmj_55",W="_cancel_1acmj_60",X="_fine_1acmj_71",Y="_forwarding_1acmj_84",r={page:Q,logo:z,card:D,lockup:G,clientMark:K,link:Z,callingsMark:J,cancel:W,fine:X,forwarding:Y},S=()=>{};async function ee(n){const c=await fetch(`/oauth/client?client_id=${encodeURIComponent(n)}`,{credentials:"same-origin"});if(!c.ok)return null;const s=await c.json();return typeof s?.client_name=="string"?s.client_name:null}const ne=()=>{const{t:n}=k("auth"),{currentUser:c,isError:s}=b(),t=d.useMemo(()=>V(window.location.search),[]),i=d.useMemo(()=>new URLSearchParams(window.location.search),[]),[l,u]=d.useState(i.get("mode")==="signup"?"signup":"signin"),[m,p]=d.useState(i.get("email")||""),[j,v]=d.useState(""),[I,h]=d.useState(!1),o=E({queryKey:["oauth-client",t?.clientId],queryFn:()=>ee(t?.clientId||""),enabled:!!t?.clientId,staleTime:1/0,retry:!1}).data||n("connect.anApplication"),f=!!c?.isAuthenticated;if(d.useEffect(()=>{t||window.location.replace(q)},[t]),d.useEffect(()=>{if(!t||!f)return;let a=!1;return H().then(()=>{a||window.location.replace(t.next)}),()=>{a=!0}},[t,f]),d.useEffect(()=>{document.title=n("connect.pageTitle",{client:o})},[n,o]),!t||f||c===void 0&&!s)return e.jsx("main",{className:r.page,children:e.jsxs("div",{className:r.forwarding,role:"status",children:[e.jsx(P,{}),f&&e.jsx("p",{children:n("connect.continuing",{client:o})})]})});const N=i.get("email_verified")==="true",_=a=>{a&&p(a),u("signin")};return e.jsxs("main",{className:r.page,children:[e.jsx("img",{src:T,alt:"Callings.ai",className:r.logo}),e.jsxs("div",{className:r.card,children:[e.jsxs("div",{className:r.lockup,role:"img","aria-label":n("connect.lockupLabel",{client:o}),children:[e.jsx("span",{className:r.clientMark,"aria-hidden":"true",children:o.trim().charAt(0).toUpperCase()}),e.jsx("span",{className:r.link,"aria-hidden":"true"}),e.jsx("img",{src:M,alt:"",className:r.callingsMark})]}),l==="signin"&&e.jsx(C,{inline:!0,isOpen:!0,onClose:S,nextUrl:t.next,prefillEmail:m,onSwitchToSignUp:a=>{a&&p(a),u("signup")},onForgotPassword:a=>{a&&p(a),h(!0)},heading:N?{title:n("connect.verifiedTitle"),subtitle:n("connect.verifiedSubtitle",{client:o})}:{title:n("connect.signInTitle",{client:o}),subtitle:n("connect.signInSubtitle",{client:o})}}),l==="signup"&&e.jsx(L,{inline:!0,isOpen:!0,onClose:S,nextUrl:t.next,prefillEmail:m,onSwitchToSignIn:_,onSignupSuccess:a=>{v(a),u("verify")},heading:{title:n("connect.signUpTitle"),subtitle:n("connect.signUpSubtitle",{client:o})}}
1),l==="verify"&&e.jsx(O,{email:j,clientName:o,next:t.next,onBackToSignIn:()=>_(j)})]}),e.jsx("a",{className:r.cancel,href:t.cancelUrl,children:n("connect.cancel",{client:o})}),e.jsx("p",{className:r.fine,children:n("connect.noPassword",{client:o})}),e.jsxs("p",{className:r.fine,children:[e.jsx("a",{href:"/terms",target:"_blank",rel:"noopener noreferrer",children:n("signUpModal.termsOfService")})," · ",e.jsx("a",{href:"/privacy",target:"_blank",rel:"noopener noreferrer",children:n("signUpModal.privacyPolicy")})]}),e.jsx(R,{isOpen:I,onClose:()=>h(!1),onBackToSignIn:()=>{h(!1),_()},defaultEmail:m})]})},fe=A("/connect")({component:ne});export{fe as Route,ne 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.