1import{r as x,w as P,N as w}from"./components-u3-Ruf87.js";import{j as o}from"./index-gjLjpUi0.js";import{S as q}from"./simple-layout-DlZ3poOH.js";import{L as R}from"./loader-A86XMt3o.js";import{i as B}from"./config-BKk3MeSm.js";import{B as S}from"./button-DnwPu_08.js";import{C as M,a as U,b as $,c as V,d as G}from"./card-B-cAe4ir.js";import{t as D}from"./index-Do4QS9gB.js";import{t as k,c as p}from"./analytics-Xhf_4ZL8.js";import{a as L}from"./auth-client-BQqp8BX6.js";import{y as K,z as Q}from"./sdk.gen-B8EMaLE_.js";import{u as Y}from"./useMutation-B58s68ch.js";import{c as O}from"./index-_rYYc-r3.js";import{I as j}from"./input-brmXPQAf.js";import{C as H}from"./chevron-down-CL37uUIc.js";import{u as b}from"./useTranslation-UMtDoI9t.js";import{X as W}from"./x-DFdLKdf0.js";import{P as X}from"./plus-L9_QOL6g.js";import{L as N}from"./label-S19Xy0qe.js";import{T as Z}from"./textarea-4Pixb3c3.js";import{A as J}from"./arrow-left-C4mRGhaS.js";import{u as ee}from"./useQuery-f02qq57U.js";import"./lib-CUgkGhUw.js";import"./errorBoundaries-CdZ9w3h3.js";import"./brand-logo-C3Slgk_I.js";import"./brand-icon-DWCsBbV0.js";import"./public-footer-1iEOj6jW.js";import"./language-select-CTUpiM2J.js";import"./i18n-config-Cqk_RYRS.js";import"./index-BFjelzyH.js";import"./index-IrSMll9i.js";import"./index-brmISfDH.js";import"./search-BL01sA9D.js";import"./createLucideIcon-DAIYshtB.js";import"./index-BToS6iA8.js";import"./index-CvaMGh5C.js";import"./website-link-tAl1GVe9.js";import"./env-BAlEkg12.js";import"./use-change-locale-BbavicdI.js";import"./i18n-cookies-DZ76gkrM.js";import"./loader-circle-y6993FyG.js";import"./index-Cok7SQA8.js";import"./index-nBSgl_V7.js";import"./client.gen-l2B4sqjU.js";import"./query-x4vNml75.js";import"./mutation-DFjj2vCB.js";import"./index-CZ0-dfkL.js";const oe=["solo","2-10","11-50","51-200","200+"],ie=["customer_discovery","user_research","product_feedback","hiring","market_research","other"],T=["ceo","founder","maker","developer","product","marketing","other"],te=["search","social","friend","blog","ai_assistant","other"],f="other";function ne(){return Y({mutationFn:async n=>{const{data:i}=await K({body:n});return i}})}const re={name:p.onboardingStepName,organization:p.onboardingStepOrganization,role:p.onboardingStepRole,objective:p.onboardingStepObjective,acquisition:p.onboardingStepAcquisition,invite:p.onboardingStepInvite};function ae(n,i){return n?i.includes(n)?{choice:n,other:""}:{choice:f,other:n}:{choice:"",other:""}}function se(n){const i=ae(n.prefill.role,T);return{name:n.prefill.name??"",orgSize:n.prefill.orgSize??"",orgName:"",roleChoice:i.choice,roleOther:i.other,useCase:n.prefill.objectiveUseCase??"",objectiveText:n.prefill.objectiveText??"",acquisitionChoice:"",acquisitionOther:"",inviteEmails:[]}}function ce(n){const{isInvited:i}=n,[e,r]=x.useState(()=>se(n)),[t,a]=x.useState(0),l=ne(),[d,c]=x.useState(!1),m=(s,g)=>{r(C=>({...C,[s]:g}))},h=x.useMemo(()=>{if(i)return["name","role","objective","acquisition"];const s=["name","organization","role","objective","acquisition"];return e.orgSize&&e.orgSize!=="solo"&&s.push("invite"),s},[i,e.orgSize]),u=h[Math.min(t,h.length-1)],v=t>=h.length-1;x.useEffect(()=>{k(re[u],{isInvited:i})},[u,i]);const E=x.useMemo(()=>{switch(u){case"name":return e.name.trim().length>0;case"organization":return e.orgSize?e.orgSize==="solo"||e.orgName.trim().length>0:!1;case"role":return e.roleChoice?e.roleChoice!==f||e.roleOther.trim().length>0:!1;case"objective":return e.useCase.length>0;case"acquisition":return!0;case"invite":return!0;default:return!1}},[u,e]),I=()=>a(s=>Math.max(0,s-1)),_=()=>{const s=e.roleChoice===f?e.roleOther.trim():e.roleChoice,g=e.acquisitionChoice===f?e.acquisitionOther.trim():e.acquisitionChoice;return{name:e.name.trim(),role:s,objectiveUseCase:e.useCase,objectiveText:e.objectiveText.trim()||void 0,acquisitionSource:g||void 0,organization:i?void 0:{size:e.orgSize,name:e.orgSize==="solo"?void 0:e.orgName.trim()}}},A=async()=>{const s=e.inviteEmails.map(z=>z.trim()).filter(Boolean);if(!s.length)return;const{data:g}=await L.organization.list(),C=g?.[0]?.id;C&&await Promise.allSettled(s.map(z=>L.organization.inviteMember({email:z,role:"member",organizationId:C})))},F=async()=>{c(!0);try{const s=_();await l.mutateAsync(s),k(p.onboardingCompleted,{isInvited:i,orgSize:e.orgSize||"unknown",useCase:s.objectiveUseCase,invitedCount:e.inviteEmails.map(g=>
1g.trim()).filter(Boolean).length}),await A(),window.location.assign("/interviews")}catch{c(!1),D.error("Failed to complete onboarding")}};return{values:e,update:m,steps:h,stepIndex:t,currentStep:u,isLastStep:v,canContinue:E,goBack:I,goNext:()=>{if(E){if(v){F();return}a(s=>s+1)}},isSubmitting:d}}function le({total:n,current:i}){return o.jsx("div",{className:"flex items-center gap-1.5","aria-hidden":!0,children:Array.from({length:n}).map((e,r)=>o.jsx("span",{className:O("h-1 flex-1 rounded-full transition-colors duration-200",r<=i?"bg-primary":"bg-surface-3")},r))})}function y({options:n,value:i,onChange:e,columns:r=2,ariaLabel:t}){return o.jsx("div",{role:"radiogroup","aria-label":t,className:O("grid gap-2.5",r===2?"sm:grid-cols-2":"grid-cols-1"),children:n.map(a=>{const l=i===a.value;return o.jsxs("button",{type:"button",role:"radio","aria-checked":l,onClick:()=>e(a.value),className:O("flex items-start justify-between gap-3 rounded-[10px] border bg-surface px-4 py-3 text-left transition-colors duration-[120ms]",l?"border-ink bg-primary-soft/40":"border-border hover:border-border-strong"),children:[o.jsxs("span",{className:"flex flex-col gap-0.5",children:[o.jsx("span",{className:"text-body-sm font-medium text-ink",children:a.label}),a.description&&o.jsx("span",{className:"text-meta-sm text-ink-3",children:a.description})]}),l&&o.jsx(H,{size:16,className:"mt-0.5 shrink-0 text-ink"})]},a.value)})})}function me({values:n,update:i}){const{t:e}=b(),r=te.map(t=>({value:t,label:e(`onboarding.options.acquisition.${t}`)}));return o.jsxs("div",{className:"space-y-4",children:[o.jsx(y,{ariaLabel:e("onboarding.objective.acquisitionLabel"),options:r,value:n.acquisitionChoice,onChange:t=>i("acquisitionChoice",t)}),n.acquisitionChoice===f&&o.jsx(j,{value:n.acquisitionOther,onChange:t=>i("acquisitionOther",t.target.value),placeholder:e("onboarding.objective.acquisitionOtherPlaceholder"),autoFocus:!0})]})}function de({values:n,update:i}){const{t:e}=b(),r=n.inviteEmails.length?n.inviteEmails:[""],t=(d,c)=>{const m=[...r];m[d]=c,i("inviteEmails",m)},a=d=>{i("inviteEmails",r.filter((c,m)=>m!==d))},l=()=>i("inviteEmails",[...r,""]);return o.jsxs("div",{className:"space-y-3",children:[r.map((d,c)=>o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(j,{type:"email",value:d,onChange:m=>t(c,m.target.value),placeholder:e("onboarding.invite.placeholder")}),r.length>1&&o.jsx(S,{type:"button",variant:"ghost",size:"icon",onClick:()=>a(c),"aria-label":e("onboarding.invite.remove"),children:o.jsx(W,{size:16})})]},c)),o.jsxs(S,{type:"button",variant:"ghost",size:"sm",onClick:l,children:[o.jsx(X,{size:14}),e("onboarding.invite.add")]})]})}function ue({values:n,update:i,onEnter:e}){const{t:r}=b();return o.jsxs("div",{className:"space-y-2",children:[o.jsx(N,{htmlFor:"onboarding-name",children:r("onboarding.name.label")}),o.jsx(j,{id:"onboarding-name",value:n.name,onChange:t=>i("name",t.target.value),onKeyDown:t=>{t.key==="Enter"&&e()},placeholder:r("onboarding.name.placeholder"),autoFocus:!0})]})}function ge({values:n,update:i}){const{t:e}=b(),r=ie.map(t=>({value:t,label:e(`onboarding.options.useCase.${t}`)}));return o.jsxs("div",{className:"space-y-6",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(N,{children:e("onboarding.objective.useCaseLabel")}),o.jsx(y,{ariaLabel:e("onboarding.objective.useCaseLabel"),options:r,value:n.useCase,onChange:t=>i("useCase",t)})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(N,{htmlFor:"onboarding-objective-text",children:e("onboarding.objective.detailLabel")}),o.jsx(Z,{id:"onboarding-objective-text",value:n.objectiveText,onChange:t=>i("objectiveText",t.target.value),placeholder:e("onboarding.objective.detailPlaceholder"),rows:3})]})]})}function pe({values:n,update:i}){const{t:e}=b(),r=oe.map(t=>({value:t,label:e(`onboarding.options.orgSize.${t}`)}));return o.jsxs("div",{className:"space-y-6",children:[o.jsx(y,{ariaLabel:e("onboarding.organization.label"),options:r,value:n.orgSize,onChange:t=>i("orgSize",t)}),n.orgSize&&n.orgSize!=="solo"&&o.jsxs("div",{className:"space-y-2",children:[o.jsx(N,{htmlFor:"onboarding-org-name",children:e("onboarding.organization.nameLabel")}),o.jsx(j,{id:"onboarding-org-name",value:n.orgName,onChange:t=>i("orgName",t.target.value),placeholder:e("onboarding.organization.namePlaceholder"),autoFocus:!0})]})]})}function be({values:n,update:i}){const{t:e}=b(),r=T.map(t=>({value:t,label:e(`onboarding.options.role.${t}`)}));return o.jsxs("div",{className:"space-y-6",children:[o.jsx(y,{ariaLabel:e("onboarding.role.label"),options:r,value:n.roleChoice,onChange:t=>i("roleChoice",t)}),n.roleChoice===f&&o.jsx(j,{value:n.roleOther,onChange:t=>i("roleOther",t.target.value),placeholder:e("onboarding.role.otherPlaceholder"),autoFocus:!0})]})}function he({state:n}){const{t:i}=b(),e=ce(n),{values:r,update:t,currentStep:a,stepIndex:l,steps:d,isLastStep:c,canContinue:m,goBack:h,goNext:u,isSubmitting:v}=e;return o.jsxs(M,{className:"w-full max-w-lg",children:[o.jsxs(U,{className:"flex-col items-stretch gap-4",children:[o.jsx(le,{total:d.length,current:l}),o.jsxs("div",{className:"space-y-1",children:[o.jsx($,{className:"text-title-md",children:i(`onboarding.steps.${a}.title`)}),o.jsx(V,{children:i(`onboarding.steps.${a}.description`)})]})]}),o.jsxs(G,{className:"space-y-6",children:[a==="name"&&o.jsx(ue,{values:r,update:t,onEnter:u}),a==="organization"&&o.jsx(pe,{values:r,update:t}),a==="role"&&o.jsx(be,{values:r,update:t}),a==="objective"&&o.jsx(ge,{values:r,update:t}),a==="acquisition"&&o.jsx(me,{values:r,update:t}),a==="invite"&&o.jsx(de,{values:r,update:t}),o.jsxs("div",{className:"flex items-center justify-between gap-3 pt-2",children:[l>0?o.jsxs(S,{type:"button",variant:"ghost",onClick:h,disabled:v,children:[o.jsx(J,{size:14}),i("onboarding.nav.back")]}):o.jsx("span",{}),o.jsx(S,{type:"button",onClick:u,disabled:!m||v,children:i(v?"common.loading":c?"onboarding.nav.finish":"onboarding.nav.continue")})]})]})]})}const ve=["onboarding","state"];function xe(){return ee({queryKey:ve,queryFn:async()=>{const{data:n}=await Q();return n??null}})}const po=P(function(){const{data:i,isPending:e}=xe();return e?o.jsx(q,{children:o.jsx(R,{})}):i?.completed?o.jsx(w,{to:"/interviews",replace:!0}):i?o.jsx(q,{children:o.jsx(he,{state:i})}):o.jsx(w,{to:"/interviews",replace:!0})});function bo(){return[{title:B.t("onboarding.metaTitle")}]}export{po as default,bo as meta};
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.