1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/waitlistApi-DgTW_una.js","assets/index-CDp3i4jH.js","assets/index-2xOaxm39.css","assets/authedFetch-BXOpYT2e.js"])))=>i.map(i=>d[i]); 2import{O as r,M as P,z as i,R as ce,Q as de,_ as ue}from"./index-CDp3i4jH.js";import{u as me}from"./posthog-QIijWZ6G.js";import{collectVisitorData as he,trackAnonymousEventApi as fe,retryFailedEventsApi as pe,fetchQueuePosition as ge,sendEmailVerificationCode as X,verifyEmailCode as xe,storeWaitlistUser as O,sendPhoneOtp as Z,verifyPhoneOtp as be,prioritizeWaitlistUser as se,fetchWaitlistStats as ve,fetchHumeAccessToken as ye}from"./waitlistApi-DgTW_una.js";import{u as we}from"./useScreenWakeLock-C98bN9ib.js";import{W as Se,T as _e}from"./Waitlister-B3_7yqUy.js";import{U as Ae}from"./UnifiedVoiceProvider-DNXhRMdy.js";import{u as ke,a as je}from"./VoiceTelemetryContext-4wrUvfji.js";import{a as Ie}from"./FloatingOrb-CtXKmUvw.js";import{u as Ne}from"./useHumeSessionTracker-BAxCkaac.js";import{F as Ee}from"./Footer-DmUitivo.js";import"./authedFetch-BXOpYT2e.js";import"./humeMinutesService-DBFm226A.js";import"./Routing-CeCKMLmz.js";import"./authSession-C9srQm5Z.js";import"./x-logo-white-DobbsoX8.js";function Ce(e){const[t,n]=r.useState(()=>{const o={};return e.forEach(a=>{o[a]=!1}),o}),s=r.useCallback(o=>{n(a=>a[o]?a:{...a,[o]:!0})},[]);return r.useEffect(()=>{const o={root:null,rootMargin:"-10% 0px -10% 0px",threshold:.3},a=new IntersectionObserver(l=>{l.forEach(c=>{c.isIntersecting&&s(c.target.id)})},o);return e.forEach(l=>{const c=document.getElementById(l);c&&a.observe(c)}),()=>a.disconnect()},[e,s]),t}const ee=P("VisitorTracking");function Pe(){const[e,t]=r.useState(null),[n,s]=r.useState(null),{trackEvent:o,trackPageView:a,trackUserAction:l,identifyUser:c}=me();r.useEffect(()=>{a("waitlister_landing",{source:"direct",timestamp:new Date().toISOString()})},[a]),r.useEffect(()=>{const h=new Set,p=new IntersectionObserver(b=>{b.forEach(g=>{g.isIntersecting&&!h.has(g.target.id)&&(h.add(g.target.id),o("section_viewed",{section:g.target.id,timestamp:new Date().toISOString(),anonymous_user_id:e,visibility_ratio:g.intersectionRatio}))})},{threshold:.5});return["hero","features","about","meet-team"].forEach(b=>{const g=document.getElementById(b);g&&p.observe(g)}),()=>p.disconnect()},[o,e]),r.useEffect(()=>{he().then(s)},[]);const u=r.useCallback(async(h,p)=>{const v={eventType:h,...p,...n&&{ipHash:n.ipHash,country:n.country,timezone:n.timezone,language:n.language},timestamp:new Date().toISOString(),userAgent:navigator.userAgent,referrer:document.referrer,url:window.location.href},b=JSON.parse(localStorage.getItem("matchmaker_anonymous_events")||"[]");if(b.push(v),h==="email_verified"&&(n!=null&&n.ipHash)){const g=b.filter(m=>m.eventType==="email_verified"&&m.ipHash===n.ipHash&&new Date-new Date(m.timestamp)<864e5);g.length>1&&u("potential_fraud_detected",{userId:e,reason:"multiple_signups_same_ip",ipHash:n.ipHash,signupCount:g.length,timeWindow:"24_hours"})}b.length>50&&b.splice(0,b.length-50),localStorage.setItem("matchmaker_anonymous_events",JSON.stringify(b));try{await fe(v)}catch(g){ee.warn("event_send_failed",{error:g});const m=JSON.parse(localStorage.getItem("matchmaker_failed_events")||"[]");m.push({...v,failedAt:new Date().toISOString(),error:g.message}),m.length>20&&m.splice(0,m.length-20),localStorage.setItem("matchmaker_failed_events",JSON.stringify(m))}},[n,e]);r.useEffect(()=>{if(!n)return;let h=localStorage.getItem("matchmaker_anonymous_user_id");h?u("anonymous_user_returned",{userId:h,timestamp:new Date().toISOString()}):(h=`anon_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,localStorage.setItem("matchmaker_anonymous_user_id",h),u("anonymous_user_created",{userId:h,timestamp:new Date().toISOString()})),t(h)},[n]);const d=r.useCallback(async()=>{const h=JSON.parse(localStorage.getItem("matchmaker_failed_events")||"[]");if(h.length!==0)try{await pe(h),localStorage.removeItem("matchmaker_failed_events")}catch(p){ee.warn("event_retry_failed",{error:p})}},[]);r.useEffect(()=>{const h=setInterval(()=>{JSON.parse(localStorage.getItem("matchmaker_failed_events")||"[]").length>0&&d()},3e5);return()=>clearInterval(h)},[d]);const x=r.useCallback(()=>{const h=localStorage.getItem("matchmaker_anonymous_user_id"),p=JSON.parse(localStorage.getItem("matchmaker_anonymous_events")||"[]"),v=JSON.parse(localStorage.getItem("matchmaker_failed_events")||"[]"),b=localStorage.getItem("matchmaker_linked_email"),g=localStorage.getItem("matchmaker_verified_email"),m=h?localStorage.getItem(`hume_chat_group_anonymous_${h}`):null;return{userId:h,events:p,failedEvents:v,linkedEmail:b,verifiedEmail:g,chatGroupId:m,totalEvents:p.length,totalFailedEvents:v.length,stats:{voiceInteractions:p.filter(y=>y.eventType.includes("voice")).length,conversions:p.filter(y=>y.eventType==="email_submitted").length,navigationEvents:p.filter(y=>y.eventType==="section_navigation").length}}},[]);return{anonymousUserId:e,visitorData:n,trackAnonymousEvent:u,getAnonymousUserData:x,retryFailedEvents:d,trackEvent:o,trackPageView:a,trackUserAction:l,identifyUser:c}}const I={verifiedEmail:"matchmaker_verified_email",linkedEmail:"matchmaker_linked_email",verifiedPhone:"matchmaker_verified_phone",emailVerifiedAt:"email_verified_at"};function Ve(){const e=localStorage.getItem(I.verifiedEmail),t=localStorage.getItem(I.linkedEmail),n=localStorage.getItem(I.verifiedPhone);return{resolvedEmail:e||t,verifiedPhone:n}}
2function Te(){Object.values(I).forEach(e=>localStorage.removeItem(e))}function Oe(e){localStorage.setItem(I.verifiedEmail,e),localStorage.setItem(I.linkedEmail,e),localStorage.setItem(I.emailVerifiedAt,new Date().toISOString())}function Fe(e){localStorage.setItem(I.verifiedPhone,e)}function K(){return localStorage.getItem(I.emailVerifiedAt)||new Date().toISOString()}function C(e){return e.split("@")[1]}function J(e){return e.replace(/\D/g,"")}function Y(e){return`+1${e}`}function w(){return new Date().toISOString()}function Me({anonymousUserId:e,visitorData:t,anonymousUserData:n,resumedChatGroupId:s,overrides:o={}}){const a={anonymousUserId:e,anonymousEvents:n.events||[],totalAnonymousEvents:n.totalEvents||0,source:"landing_page",userAgent:navigator.userAgent,referrer:document.referrer,chatGroupId:s||n.chatGroupId||null},l=t?{ipHash:t.ipHash,country:t.country,timezone:t.timezone,language:t.language}:{};return{...a,...l,...o}}function Ue(){const[e,t]=r.useState(""),[n,s]=r.useState(""),[o,a]=r.useState(""),[l,c]=r.useState(""),[u,d]=r.useState(!1),[x,h]=r.useState(!1),[p,v]=r.useState(!1),[b,g]=r.useState(!1),[m,y]=r.useState(""),[k,A]=r.useState(!1),[S,j]=r.useState(!1),[D,T]=r.useState(!1),[R,N]=r.useState(""),[z,H]=r.useState(!1),[$,W]=r.useState(!1),[q,L]=r.useState(null),[B,G]=r.useState(!1),[f,_]=r.useState(!1),[E,le]=r.useState(null);return{email:e,setEmail:t,phoneNumber:n,setPhoneNumber:s,verificationCode:o,setVerificationCode:a,phoneOtpCode:l,setPhoneOtpCode:c,isSubmitting:u,setIsSubmitting:d,isSubmitted:x,setIsSubmitted:h,isVerificationSent:p,setIsVerificationSent:v,isVerifying:b,setIsVerifying:g,verificationError:m,setVerificationError:y,isPhoneStepVisible:k,setIsPhoneStepVisible:A,isPhoneOtpSent:S,setIsPhoneOtpSent:j,isPhoneVerifying:D,setIsPhoneVerifying:T,phoneError:R,setPhoneError:N,isPhoneVerified:z,setIsPhoneVerified:H,isAustinStepVisible:$,setIsAustinStepVisible:W,isAustin:q,setIsAustin:L,isAustinSubmitting:B,setIsAustinSubmitting:G,
2isPrioritizing:f,setIsPrioritizing:_,prioritizeError:E,setPrioritizeError:le}}function De(){const[e,t]=r.useState(null),[n,s]=r.useState(null),[o,a]=r.useState(0),[l,c]=r.useState(null),u=r.useCallback(async d=>{c(null),t(null),s(null),a(0);try{const x=await ge(d);t(x.position),s(x.total),a(x.queueBoost||0)}catch{c("Could not fetch your queue position.")}},[]);return{queueNumber:e,totalWaitlist:n,queueBoost:o,queueError:l,fetchQueueNumber:u}}function Re({anonymousUserId:e,trackAnonymousEvent:t,state:n}){const{setEmail:s,setPhoneNumber:o,setIsPhoneVerified:a,setIsSubmitted:l,setIsPhoneStepVisible:c}=n;r.useEffect(()=>{if(!e)return;const{resolvedEmail:u,verifiedPhone:d}=Ve();u&&(s(u),d?ze({setPhoneNumber:o,setIsPhoneVerified:a,setIsSubmitted:l,trackAnonymousEvent:t,anonymousUserId:e,resolvedEmail:u,verifiedPhone:d}):He({setIsPhoneStepVisible:c,trackAnonymousEvent:t,anonymousUserId:e,resolvedEmail:u}))},[e])}function ze({setPhoneNumber:e,setIsPhoneVerified:t,setIsSubmitted:n,trackAnonymousEvent:s,anonymousUserId:o,resolvedEmail:a,verifiedPhone:l}){e(l),t(!0),n(!0),s("fully_verified_user_returned",{userId:o,email:a,phone:l})}function He({setIsPhoneStepVisible:e,trackAnonymousEvent:t,anonymousUserId:n,resolvedEmail:s}){e(!0),t("email_verified_user_returned",{userId:n,email:s})}function $e({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}){const a=r.useCallback(async u=>{if(u.preventDefault(),!!e.email){qe(t,e.email),n.updateUserContext("email_input",n.getContextDescription("email_input")),e.setIsSubmitting(!0),e.setVerificationError("");try{await X(e.email),Be(e,n)}catch{e.setVerificationError("Failed to send verification code. Please try again.")}finally{e.setIsSubmitting(!1)}}},[e,t,n]),l=r.useCallback(async u=>{if(u.preventDefault(),!We(e.verificationCode)){e.setVerificationError("Please enter the 6-digit verification code");return}Le(t,e.verificationCode),e.setIsVerifying(!0),e.setVerificationError("");try{const d=await xe(e.email,e.verificationCode);d.success?await Ge({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}):Qe(e,t,d)}catch(d){Xe(e,t,d)}finally{e.setIsVerifying(!1)}},[e,t,n,s,o]),c=r.useCallback(async()=>{e.setIsSubmitting(!0),e.setVerificationError("");try{await X(e.email)}catch{e.setVerificationError("Failed to resend code. Please try again.")}finally{e.setIsSubmitting(!1)}},[e]);return{handleSubmit:a,handleVerifyCode:l,resendVerificationCode:c}}function We(e){return e&&e.length===6}function qe(e,t){e.trackUserAction("email_submitted",{email_domain:C(t),timestamp:w(),anonymous_user_id:e.anonymousUserId})}function Le(e,t){e.trackUserAction("email_verification_attempted",{code_length:t.length,timestamp:w(),anonymous_user_id:e.anonymousUserId})}function Be(e,t){e.setIsVerificationSent(!0),t.updateUserContext("email_verification",t.getContextDescription("email_verification")),t.sendContextToHume("The user just submitted their email address and a 6-digit verification code was sent to their email. They should check their email inbox (including spam folder) for the verification code now.","temporary"),e.anonymousUserId&&e.trackAnonymousEvent("email_verification_requested",{userId:e.anonymousUserId,email:e.email,convertedFromAnonymous:!0})}async function Ge({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}){Oe(e.email),Ye(t,e),Je(n,e),await Ke(e,t,s),e.setIsSubmitted(!0),e.setIsPhoneStepVisible(!0),o(e.email)}function Ye(e,t){e.identifyUser(e.anonymousUserId,{email:t.email,email_domain:C(t.email),verification_date:w(),platform:"waitlist_landing"}),e.trackEvent("email_verified_success",{email_domain:C(t.email),verification_time:w(),anonymous_user_id:e.anonymousUserId})}function Je(e,t){e.updateUserContext("phone_input",e.getContextDescription("phone_input")),e.sendContextToHume(`The user successfully verified their email address (${t.email}). They are now being shown an optional step to add their phone number for priority access to the waitlist.`,"temporary")}async function Ke(e,t,n){t.anonymousUserId&&(e.trackAnonymousEvent("email_verified",{userId:t.anonymousUserId,email:e.email,convertedFromAnonymous:!0}),await O(n({email:e.email,verifiedEmail:!0,verifiedPhone:!1,emailVerifiedAt:w(),phoneVerifiedAt:null,priority:!1})))}function Qe(e,t,n){const s=n.error||"Invalid verification code";e.setVerificationError(s),t.trackEvent("email_verification_failed",{error_message:s,email_domain:C(e.email),timestamp:w(),anonymous_user_id:t.anonymousUserId})}function Xe(e,t,n){e.setVerificationError("Failed to verify code. Please try again."),t.trackEvent("email_verification_error",{error_message:n.message,email_domain:C(e.email),timestamp:w(),anonymous_user_id:t.anonymousUserId})}const Ze=10;function et({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}){const a=r.useCallback(async d=>{d.preventDefault();const x=tt(e);if(x){nt(t,x),n.updateUserContext("phone_verification",n.getContextDescription("phone_verification")),e.setIsSubmitting(!0),e.setPhoneError("");try{await Z(Y(x)),rt(e,n,t)}catch{e.setPhoneError("Failed to send verification code. Please try again.")}
2finally{e.setIsSubmitting(!1)}}},[e,t,n]),l=r.useCallback(async d=>{if(d.preventDefault(),!it(e.phoneOtpCode)){e.setPhoneError("Please enter the 6-digit verification code");return}st(t,e.phoneOtpCode),ot(e);try{const x=J(e.phoneNumber),{ok:h,result:p}=await be(Y(x),e.phoneOtpCode);h&&p.message?await at({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}):e.setPhoneError(p.error||"Invalid verification code")}catch{e.setPhoneError("Failed to verify code. Please try again.")}finally{e.setIsPhoneVerifying(!1)}},[e,t,n,s,o]),c=r.useCallback(async()=>{e.setIsSubmitting(!0),e.setPhoneError("");try{const d=J(e.phoneNumber);await Z(Y(d))}catch{e.setPhoneError("Failed to resend code. Please try again.")}finally{e.setIsSubmitting(!1)}},[e]),u=r.useCallback(()=>{n.updateUserContext("success_complete",n.getContextDescription("success_complete")),n.sendContextToHume(`The user skipped phone verification and completed the waitlist signup with just their email (${e.email}). They are now on the standard waitlist and will be notified when Matchmaker launches.`,"temporary"),mt(e,t,s),e.setIsSubmitted(!0)},[e,t,n,s]);return{handleSendPhoneOtp:a,handleVerifyPhoneOtp:l,resendPhoneOtp:c,handleSkipPhone:u}}function tt(e){if(!e.phoneNumber)return null;const t=J(e.phoneNumber);return t.length<Ze?(e.setPhoneError("Please enter a valid phone number"),null):t}function it(e){return e&&e.length===6}function nt(e,t){e.trackUserAction("phone_number_submitted",{phone_length:t.length,country_code:t.startsWith("1")?"US":"unknown",timestamp:w(),anonymous_user_id:e.anonymousUserId})}function st(e,t){e.trackUserAction("phone_verification_attempted",{code_length:t.length,timestamp:w(),anonymous_user_id:e.anonymousUserId})}function ot(e){e.setIsPhoneVerifying(!0),e.setPhoneError(""),e.setIsPrioritizing(!1),e.setPrioritizeError(null)}function rt(e,t,n){e.setIsPhoneOtpSent(!0),t.sendContextToHume(`The user just submitted their phone number (${e.phoneNumber}) and a 6-digit verification code was sent via SMS. They should check their text messages for the verification code now.`,"temporary"),n.anonymousUserId&&e.trackAnonymousEvent("phone_verification_requested",{userId:n.anonymousUserId,email:e.email,phone:e.phoneNumber})}async function at({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}){Fe(e.phoneNumber),e.setIsPhoneVerified(!0),ct(t,e),lt(n,e),e.setIsSubmitted(!0),await dt(e,t,s),await ut(e,t,o)}function lt(e,t){e.updateUserContext("success_complete",e.getContextDescription("success_complete")),e.sendContextToHume(`The user successfully verified their phone number (${t.phoneNumber}) and now has PRIORITY ACCESS! They have completed the full signup process and will receive an invitation soon.`,"temporary")}function ct(e,t){e.trackEvent("waitlist_completed",{email_domain:C(t.email),phone_verified:!0,completion_time:w(),anonymous_user_id:e.anonymousUserId,has_priority:!0}),e.anonymousUserId&&(t.trackAnonymousEvent("phone_verified",{userId:e.anonymousUserId,email:t.email,phone:t.phoneNumber}),t.trackAnonymousEvent("prioritized_waitlist_joined",{userId:e.anonymousUserId,email:t.email,phone:t.phoneNumber}))}async function dt(e,t,n){t.anonymousUserId&&await O(n({email:e.email,phoneNumber:e.phoneNumber,verifiedEmail:!0,verifiedPhone:!0,emailVerifiedAt:K(),phoneVerifiedAt:w(),priority:!0,completedAt:w()}))}async function ut(e,t,n){e.setIsPrioritizing(!0),e.setPrioritizeError(null);try{await se(e.email),await n(e.email)}catch{e.setPrioritizeError("Could not update your priority position.")}finally{e.setIsPrioritizing(!1),e.setIsPhoneOtpSent(!1)}}function mt(e,t,n){t.anonymousUserId&&(e.trackAnonymousEvent("phone_verification_skipped",{userId:t.anonymousUserId,email:e.email}),e.trackAnonymousEvent("waitlist_joined",{userId:t.anonymousUserId,email:e.email}),O(n({email:e.email,phoneNumber:null,verifiedEmail:!0,verifiedPhone:!1,emailVerifiedAt:K(),phoneVerifiedAt:null,priority:!1,completedAt:w(),phoneSkipped:!0})))}const ht=P("AustinResponse");function ft({state:e,analytics:t,context:n,buildUserData:s,fetchQueueNumber:o}){return{handleAustinResponse:r.useCallback(async l=>{e.setIsAustinSubmitting(!0),e.setIsAustin(l);try{pt(t,e),n.updateUserContext("success_complete",n.getContextDescription("success_complete")),await gt(e,t,s),await xt(e,o),e.setIsSubmitted(!0)}catch(c){ht.error("location_response_failed",{error:c})}
2finally{e.setIsAustinSubmitting(!1)}},[e,t,n,s,o])}}function pt(e,t){e.trackEvent("waitlist_location_response",{email_domain:C(t.email),phone_verified:!0,timestamp:w(),anonymous_user_id:e.anonymousUserId})}async function gt(e,t,n){t.anonymousUserId&&await O(n({email:e.email,phoneNumber:e.phoneNumber,verifiedEmail:!0,verifiedPhone:!0,emailVerifiedAt:K(),phoneVerifiedAt:w(),earlyOnboardingAccess:!0,priority:!0,completedAt:w()}))}async function xt(e,t){e.setIsPrioritizing(!0),e.setPrioritizeError(null);try{await se(e.email,{earlyOnboarding:!0}),await t(e.email)}catch{e.setPrioritizeError("Could not update your priority position.")}finally{e.setIsPrioritizing(!1),e.setIsPhoneOtpSent(!1)}}const bt=P("WaitlistVerification");function vt(e){const t=Ue(),n=De(),s=yt(e,t);Re({anonymousUserId:e.anonymousUserId,trackAnonymousEvent:e.trackAnonymousEvent,state:t});const o=$e({...s,fetchQueueNumber:n.fetchQueueNumber}),a=et({...s,fetchQueueNumber:n.fetchQueueNumber}),l=ft({...s,fetchQueueNumber:n.fetchQueueNumber}),c=St(e,t,s.buildUserData);return kt({state:t,queue:n,actions:{...o,...a,...l,...c}})}function yt(e,t){const{anonymousUserId:n,trackEvent:s,trackUserAction:o,trackAnonymousEvent:a,identifyUser:l}=e,{sendContextToHume:c,updateUserContext:u,getContextDescription:d}=e;return{state:{...t,anonymousUserId:n,trackAnonymousEvent:a},analytics:{anonymousUserId:n,trackEvent:s,trackUserAction:o,trackAnonymousEvent:a,identifyUser:l},context:{sendContextToHume:c,updateUserContext:u,getContextDescription:d},buildUserData:wt(e)}}function wt({anonymousUserId:e,visitorData:t,getAnonymousUserData:n,resumedChatGroupId:s}){return o=>{const a=n();return Me({anonymousUserId:e,visitorData:t,anonymousUserData:a,resumedChatGroupId:s,overrides:o})}}function St(e,t,n){const s=r.useCallback(async a=>{if(e.anonymousUserId)try{await O(n({email:null,phoneNumber:null,verifiedEmail:!1,verifiedPhone:!1,emailVerifiedAt:null,phoneVerifiedAt:null,priority:!1,chatGroupId:a,isAnonymous:!0,createdAt:w()}))}catch(l){bt.warn("store_anonymous_user_failed",{error:l})}},[e.anonymousUserId,n]),o=r.useCallback(()=>{Te(),_t(t),At(t)},[t]);return{storeAnonymousUserWithChatGroup:s,resetVerificationStatus:o}}function _t(e){e.setEmail(""),e.setPhoneNumber(""),e.setVerificationCode(""),e.setPhoneOtpCode(""),e.setVerificationError(""),e.setPhoneError("")}function At(e){e.setIsSubmitted(!1),e.setIsVerificationSent(!1),e.setIsPhoneStepVisible(!1),e.setIsPhoneOtpSent(!1),e.setIsPhoneVerifying(!1),e.setIsPhoneVerified(!1)}function kt({state:e,queue:t,actions:n}){return{email:e.email,setEmail:e.setEmail,phoneNumber:e.phoneNumber,setPhoneNumber:e.setPhoneNumber,verificationCode:e.verificationCode,setVerificationCode:e.setVerificationCode,phoneOtpCode:e.phoneOtpCode,setPhoneOtpCode:e.setPhoneOtpCode,isSubmitting:e.isSubmitting,isSubmitted:e.isSubmitted,isVerificationSent:e.isVerificationSent,isVerifying:e.isVerifying,verificationError:e.verificationError,isPhoneStepVisible:e.isPhoneStepVisible,isPhoneOtpSent:e.isPhoneOtpSent,isPhoneVerifying:e.isPhoneVerifying,phoneError:e.phoneError,isPhoneVerified:e.isPhoneVerified,isAustinStepVisible:e.isAustinStepVisible,isAustin:e.isAustin,isAustinSubmitting:e.isAustinSubmitting,isPrioritizing:e.isPrioritizing,prioritizeError:e.prioritizeError,...t,...n}}
2const te=P("WaitlisterVoice"),jt={hero_section:"The user is viewing the main hero section with the headline 'Welcome to the future of online dating.' They can see the Start Call button and email signup form. They can either start a voice conversation or enter their email to join the waitlist.",email_input:"The user is entering their email address to join the waitlist. They are in the initial signup step and need to provide a valid email address.",email_verification:"The user is entering a 6-digit email verification code that was sent to their email address. They are in the email verification step of signup and should check their email inbox (including spam folder) for the code.",phone_input:"The user is viewing the phone number input step with messaging about getting to the front of the waitlist by adding their phone number for priority access. This step is optional - they can either add their phone for priority access or skip to complete signup with just email.",phone_verification:"The user is entering a 6-digit SMS verification code for their phone number. They are completing phone verification for priority waitlist access and should check their text messages for the code.",success_complete:"The user has successfully completed the waitlist signup process. They are viewing the success message that confirms they're on the list and will be notified when Matchmaker launches.",verification_section:'The user is viewing the mandatory ID verification section that explains how every user is ID verified for height, age, and name, with criminal and sex offender background checks. This section emphasizes "NO FAKE PROFILES" and deters fraudsters.',onboarding_section:"The user is viewing the voice-to-voice onboarding interview section that explains how Matchmaker gets to know each person in great detail, including their personality, history, and intentions to ensure quality candidates.",generate_matchmaker_section:'The user is viewing the "Generate your personal matchmaker" section that explains how users can customize their AI matchmaker with male/female perspective, tough love or nurturing guidance, and how each matchmaker is trained for dating and relationships.',search_engine_section:'The user is viewing the "Most powerful dating app search engine" section that explains how the AI-driven search allows conversational search terms like "a doctor from a big midwestern family who wants to retire on a farm, big harry potter fan" combined with traditional filters.',date_coordination_section:'The user is viewing the "Date Coordination" section that explains how AI matchmakers relay messages between users and coordinate dates without miscommunication, providing a frictionless experience to get users meeting in person.',getting_ready_section:'The user is viewing the "Getting ready for your date!" section that explains how text reminders are sent before dates and users can text back for help with plans, addresses, or last-minute advice.',features_section:'The user is viewing the "What is Matchmaker?" section that explains how Matchmaker is the first AI-native, voice-first, intentionality-focused community of verified single professionals, based on real-world matchmaking principles with ID verification, employment verification, and background checks.',app_download_section:"The user is viewing the app download section that promotes downloading MatchmakerAI from the App Store.",member_counter:"The user is viewing the member counter section that shows how many people have joined the waitlist with a progress bar showing they are getting close to the launch limit.",navigation:"The user is using the navigation menu to browse different sections of the landing page and learn more about the product.",feedback_section:'The user is viewing the "Positive feedback unlocks phone numbers!" section that explains how mutual positive feedback after dates unlocks phone numbers, and how AI provides constructive feedback to help users improve their dating success when feedback is not positive.',get_started_section:'The user is viewing the "Get Started in Minutes" section that explains how to quickly join the waitlist and get priority access to Matchmaker.',team_section:'The user is viewing the "Meet the Team" section that introduces the key team members: Jessica Strickland (Co-Founder), James Munsch (Co-Founder, Lead Engineer), Lucas (Operations/Investor Relations), and Nima (AI Researcher).',austin_location:"The user has successfully verified their phone number and now has priority access. They have completed the full signup process and will receive an onboarding invitation soon.",early_onboarding_success:"The user has been moved to the FRONT of the queue! They will receive an invitation for early onboarding access to Matchmaker and be among the very first users to experience the platform."},oe={hero:"hero_section",verification:"verification_section",onboarding:"onboarding_section","generate-matchmaker":"generate_matchmaker_section","search-engine":"search_engine_section","date-coordination":"date_coordination_section","getting-ready":"getting_ready_section",feedback:"feedback_section",features:"features_section","get-started":"get_started_section","meet-team":"team_section","app-download":"app_download_section"};
2function It({anonymousUserId:e,trackAnonymousEvent:t,email:n,resumedChatGroupId:s,setResumedChatGroupId:o,storeAnonymousUserWithChatGroup:a}){const[l,c]=r.useState(null),[u,d]=r.useState(!0),[x,h]=r.useState(!1),[p,v]=r.useState(!1),[b,g]=r.useState(!1),[m,y]=r.useState(!1),[k,A]=r.useState("hero_section"),[S,j]=r.useState(null),D=r.useRef(null),T=r.useRef(null),R=r.useCallback(f=>jt[f]||`The user is currently in the ${f} section of the waitlist page.`,[]),N=r.useCallback((f,_="temporary")=>{try{T.current({type:"session_settings",context:{text:f,type:_}})}catch{}},[]),z=r.useCallback((f,_)=>{A(E=>f!==E?(_&&N(_,"temporary"),f):E)},[N]),H=r.useCallback(()=>{if(!S||!T.current)return;const f=`Current waitlist status: ${S.currentCount} out of ${S.targetThreshold} members have joined the waitlist. The waitlist is ${S.isActive?"active":"inactive"}. Users are competing for ${S.targetThreshold-S.currentCount} remaining spots for early access to Matchmaker.`;N(f,"editable")},[S,N]);r.useEffect(()=>{ve().then(j).catch(f=>te.error("stats_fetch_failed",{error:f}))},[]),r.useEffect(()=>{let f=!1;return(async()=>{try{d(!0);const _=await ye();f||c(_)}catch(_){te.error("access_token_fetch_failed",{error:_}),f||c(null)}finally{f||d(!1)}})(),()=>{f=!0}},[]);const $=r.useCallback(f=>{if(e&&(f!=null&&f.type)&&t("voice_interaction",{userId:e,messageType:f.type,hasEmail:!1,chatGroupId:f.chatGroupId||s}),f.type==="chat_metadata"&&f.chatGroupId){const _="hume_chat_group_anonymous_";if(!s&&(o(f.chatGroupId),e)){const E=`${_}${e}`;localStorage.setItem(E,f.chatGroupId),a(f.chatGroupId)}}f.type==="assistant_message"&&(g(!0),setTimeout(()=>g(!1),500))},[e,n,s,o,t,a]),W=r.useCallback(()=>{},[]),q=r.useCallback(f=>{e&&t("voice_connected",{userId:e,hasEmail:!1})},[e,n,t]),L=r.useCallback(f=>{e&&t("voice_disconnected",{userId:e,hasEmail:!1,reason:f.reason||"unknown"})},[e,n,t]),B=r.useCallback(()=>{h(!1),v(!1),y(!1)},[]),G=r.useCallback(f=>{T.current=f},[]);return{accessToken:l,isTokenLoading:u,isSessionConnected:x,setIsSessionConnected:h,isConnecting:p,setIsConnecting:v,isAssistantSpeaking:b,showSayHiPrompt:m,setShowSayHiPrompt:y,waitlistStats:S,voiceProviderRef:D,sendContextToHume:N,updateUserContext:z,getContextDescription:R,sendWaitlistStatsContext:H,handleVoiceMessage:$,handleAudioReceived:W,handleSocketOpen:q,handleSocketClose:L,endCall:B,handleSendSessionSettings:G,currentUserContext:k}}const Nt=20,Et=[{top:"8%",left:"12%"},{top:"18%",left:"80%"},{top:"40%",left:"30%"},{top:"60%",left:"70%"},{top:"75%",left:"20%"},{top:"85%",left:"90%"},{top:"22%",left:"55%"},{top:"33%",left:"60%"},{top:"50%",left:"10%"},{top:"65%",left:"50%"},{top:"80%",left:"40%"},{top:"10%",left:"90%"},{top:"55%",left:"80%"},{top:"70%",left:"30%"},{top:"5%",left:"45%"},{top:"25%",left:"15%"},{top:"45%",left:"85%"},{top:"15%",left:"35%"},{top:"35%",left:"25%"},{top:"90%",left:"65%"}];function ie(e,t){return Math.floor(Math.random()*(t-e+1))+e}const Ct=()=>{const{keyframes:e,stars:t}=r.useMemo(()=>{let n="",s=[];for(let o=0;o<Nt;o++){const a=ie(-15,15),l=ie(-12,12),c=1+Math.random()*.7,u=(Math.random()*4.26+5.92).toFixed(2),d=`star-move-random-${o}`;n+=`@keyframes ${d} { 3 0% { transform: translate(0, 0) scale(1); } 4 50% { transform: translate(${a}px, ${l}px) scale(${c}); } 5 100% { transform: translate(0, 0) scale(1); } 6} 7`,s.push({...Et[o],size:Math.random()*2+1.5,animName:d,duration:u})}return{keyframes:n,stars:s}},[]);return i.jsxs(i.Fragment,{children:[i.jsx("style",{children:e}),i.jsx("div",{className:"absolute inset-0 z-0 pointer-events-none w-full h-full",children:t.map((n,s)=>i.jsx("div",{className:"absolute rounded-full bg-white",style:{width:`${n.size}px`,height:`${n.size}px`,top:n.top,left:n.left,opacity:.95,filter:"drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px rgba(255,255,255,0.6)) drop-shadow(0 0 24px rgba(255,255,255,0.3))",animation:`${n.animName} ${n.duration}s ease-in-out infinite alternate`}},s))})]})},Pt=P("StartSessionControls");function Vt({onEnd:e,isConnected:t,isConnecting:n,setIsConnecting:s,isAssistantSpeaking:o,onVoiceProviderRef:a,sendContextToHume:l,handleSendSessionSettings:c,showSayHiPrompt:u,trackUserAction:d,anonymousUserId:x,accessToken:h,resumedChatGroupId:p,userId:v}){Ne({userId:v,context:"waitlist"});const{connect:b,disconnect:g,sendSessionSettings:m}=ke(),y=je(),k=()=>{d&&d("voice_chat_started",{timestamp:new Date().toISOString(),anonymous_user_id:x,connection_type:"waitlist_landing"});try{s(!0);const A={auth:{type:"accessToken",value:h},configId:"f9534f0f-a5c4-431c-98b4-f4cdc63c8ee9",...p?{resumedChatGroupId:p}:{},audioConstraints:{audio:!0}};b(A)}catch(A){Pt.error("Error calling connect()",{error:A}),s(!1)}};return r.useEffect(()=>{m&&c&&c(m)},[m,c]),i.jsx("div",{className:"flex flex-col items-center gap-8",children:t?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"ml-12 md:ml-10",children:i.jsx(Ie,{isAssistantSpeaking:o,fft:y,size:208})}),u&&i.jsx("div",{className:"mb-4 text-center",children:i.jsx("p",{className:"text-[#1A1A1A] text-lg font-medium animate-pulse",children:"Say hi to start! ð"})}),i.jsx("button",{onClick:()=>{g(),e()},className:"shimmer-magenta-btn text-[#1A1A1A] font-bold px-8 py-4 rounded-full transition relative overflow-hidden transform hover:scale-105 hover:shadow-2xl",children:"End Call"})]}):i.jsx("button",{onClick:k,disabled:n,className:"shimmer-magenta-btn text-[#1A1A1A] font-bold px-8 py-4 rounded-full transition relative overflow-hidden transform hover:scale-105 hover:shadow-2xl disabled:opacity-70 disabled:cursor-not-allowed disabled:transform-none",children:n?i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"loading-spinner"}),"Connecting..."]}):"Start Call"})})}const Tt=P("HeroSection");function Ot({accessToken:e,isTokenLoading:t,isSessionConnected:n,setIsSessionConnected:s,isConnecting:o,setIsConnecting:a,isAssistantSpeaking:l,showSayHiPrompt:c,setShowSayHiPrompt:u,voiceProviderRef:d,handleVoiceMessage:x,handleAudioReceived:h,handleSocketOpen:p,handleSocketClose:v,endCall:b,sendContextToHume:g,handleSendSessionSettings:m,trackUserAction:y,anonymousUserId:k,resumedChatGroupId:A,userId:S}){return i.jsxs(i.Fragment,{children:[i.jsx(Ct,{}),i.jsxs("div",{className:"relative z-10 mb-6 flex flex-col items-center",children:[i.jsx("h1",{className:"text-4xl md:text-5xl lg:text-6xl text-[#1A1A1A] mb-2 text-center",children:"Welcome to the future of online dating."}),i.jsx("p",{className:"text-lg md:text-xl text-[#7E6234] font-medium text-center mt-1 mb-1",children:"A community of verified single professionals â employment-verified, background-verified, built for real connection."})]}),i.jsx("div",{className:"relative z-30 mb-10 flex flex-col items-center px-4",children:t?i.jsxs("div",{className:"flex flex-col items-center justify-center py-8",children:[i.jsxs("div",{className:"relative w-16 h-16 mb-4",children:[i.jsx("div",{className:"absolute inset-0 rounded-full border-4 border-gray-200/20"}),i.jsx("div",{className:"absolute inset-0 rounded-full border-4 border-[#C9A96E] border-t-transparent animate-spin"})]}),i.jsx("p",{className:"text-[#1A1A1A]/70 text-sm font-medium",children:"Preparing AI Assistant..."})]}):e?i.jsx(Ae,{ref:d,onMessage:x,onAudioReceived:h,onOpen:j=>{p(j),s(!0),a(!1),u(!0)},onClose:j=>{v(j),s(!1),a(!1),u(!1)},onError:j=>{Tt.error("onError",{error:j}),a(!1),s(!1)},children:i.jsx(Vt,{onEnd:b,isConnected:n,isConnecting:o,setIsConnecting:a,isAssistantSpeaking:l,onVoiceProviderRef:d,sendContextToHume:g,handleSendSessionSettings:m,showSayHiPrompt:c,trackUserAction:y,anonymousUserId:k,accessToken:e,resumedChatGroupId:A,userId:S})}):i.jsx("div",{className:"flex flex-col items-center justify-center py-8",children:i.jsx("div",{className:"text-red-400 text-sm",children:"Unable to load AI Assistant"})})})]})}const V="bg-transparent border-none text-black placeholder:text-[#6F6A60] text-xl px-8 py-4 rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7E6234] focus-visible:ring-offset-2",F={fontWeight:400,fontSize:"1.35rem",minWidth:0},M="ml-2 bg-white text-black font-medium text-xl px-10 py-3 rounded-full transition-all duration-150 shadow-md hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-[#C9A96E] focu
7s:border-[#C9A96E]",U={minWidth:"150px",minHeight:"56px"},Q="flex w-full max-w-2xl items-center bg-white border border-[#6F6A60] rounded-full px-2 py-2 shadow-lg";function Ft({phoneNumber:e,setPhoneNumber:t,isSubmitting:n,phoneError:s,handleSendPhoneOtp:o}){return i.jsxs("form",{onSubmit:o,className:"w-full flex justify-center mt-6",children:[i.jsxs("div",{className:Q,style:{minHeight:"70px"},children:[i.jsx("input",{type:"tel",placeholder:"Enter your phone number (optional)",value:e,onChange:a=>t(a.target.value),className:`flex-1 ${V}`,style:F,disabled:n,inputMode:"tel"}),i.jsx("button",{type:"submit",className:M,style:U,disabled:n,children:n?i.jsx("span",{className:"opacity-70",children:"Sending..."}):"Send Code"})]}),i.jsx("div",{className:"w-full text-center mt-3",children:s&&i.jsx("div",{className:"text-red-500 text-sm mb-2",children:s})})]})}function Mt({phoneOtpCode:e,setPhoneOtpCode:t,isPhoneVerifying:n,isSubmitting:s,phoneError:o,handleVerifyPhoneOtp:a,resendPhoneOtp:l}){return i.jsxs("form",{onSubmit:a,className:"w-full flex justify-center mt-4",children:[i.jsxs("div",{className:Q,style:{minHeight:"70px"},children:[i.jsx("input",{type:"text",placeholder:"6-digit code",value:e,onChange:c=>t(c.target.value.replace(/\D/g,"").slice(0,6)),className:`flex-1 ${V}`,style:{...F,letterSpacing:"0.2em"},required:!0,disabled:n,inputMode:"numeric",pattern:"[0-9]{6}",maxLength:6}),i.jsx("button",{type:"submit",className:M,style:U,disabled:n,children:n?i.jsx("span",{className:"opacity-70",children:"Verifying..."}):"Verify Code"})]}),i.jsxs("div",{className:"w-full text-center mt-3",children:[o&&i.jsx("div",{className:"text-red-500 text-sm mb-2",children:o}),i.jsx("button",{type:"button",className:"text-sm text-[#7E6234] underline hover:text-[#1A1A1A] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7E6234] focus-visible:ring-offset-2 mr-4",onClick:l,disabled:s,children:"Resend code"})]})]})}function Ut({isPrioritizing:e,prioritizeError:t}){return i.jsx("div",{className:"text-green-400 text-xl text-center mt-8 font-bold",children:e?i.jsx("span",{children:"Updating your priority position..."}):t?i.jsx("span",{className:"text-red-400",children:t}):i.jsx(i.Fragment,{children:"ð You now have PRIORITY access to the waitlist!"})})}function Dt({verification:e}){const{queueNumber:t,totalWaitlist:n,queueError:s,isPhoneVerified:o,isPhoneOtpSent:a,phoneNumber:l,setPhoneNumber:c,isSubmitting:u,phoneError:d,handleSendPhoneOtp:x,phoneOtpCode:h,setPhoneOtpCode:p,isPhoneVerifying:v,handleVerifyPhoneOtp:b,resendPhoneOtp:g,isPrioritizing:m,prioritizeError:y}=e;return i.jsxs("div",{className:"relative z-10 mb-6 w-full max-w-xl mx-auto flex flex-col items-center",children:[i.jsx("h2",{className:"text-[#1A1A1A] text-2xl md:text-3xl font-normal text-center mb-8 mt-2 tracking-tight",style:{lineHeight:"1.2"},children:"ð You're on the waitlist!"}),s&&i.jsx("div",{className:"text-red-500 text-center mt-2",children:s}),i.jsx("div",{className:"text-[#1A1A1A] text-lg text-center mt-6 font-normal opacity-80",children:"Want priority access? Enter your phone number below to move to the front of the line!"}),!o&&!a&&i.jsx(Ft,{phoneNumber:l,setPhoneNumber:c,isSubmitting:u,phoneError:d,handleSendPhoneOtp:x}),!o&&a&&i.jsx(Mt,{phoneOtpCode:h,setPhoneOtpCode:p,isPhoneVerifying:v,isSubmitting:u,phoneError:d,handleVerifyPhoneOtp:b,resendPhoneOtp:g}),o&&i.jsx(Ut,{isPrioritizing:m,prioritizeError:y})]})}function Rt({isAustin:e}){return i.jsxs("div",{className:"relative z-10 mb-6 w-full max-w-xl mx-auto flex flex-col items-center",children:[i.jsxs("h2",{className:"text-[#1A1A1A] text-2xl md:text-3xl font-normal text-center mb-8 mt-2 tracking-tight",style:{lineHeight:"1.2"},children:["ð You have"," ",i.jsx("span",{className:"font-bold",style:{color:"#7E6234"},children:"PRIORITY ACCESS"}),"!"]}),i.jsxs("div",{className:"text-[#1A1A1A] text-lg text-center mt-6 font-normal opacity-90 mb-8",children:["You've been added to the priority waitlist.",i.jsx("br",{}),i.jsx("span",{className:"text-[#9A7A45] font-semibold text-xl",children:"You'll receive an onboarding invitation soon!"})]}),e===null&&i.jsxs("div",{className:"text-center",children:[i.jsx("div",{className:"text-green-400 text-2xl font-bold mb-4",children:"ð Welcome to the priority list!"}),i.jsx("div",{className:"text-[#1A1A1A] text-lg opacity-90 max-w-lg",children:"You'll receive an invitation for onboarding access to Matchmaker soon."})]}),e!==null&&i.jsxs("div",{className:"text-center",children:[i.jsx("div",{className:"text-[#1A1A1A] text-xl font-semibold mb-4",children:"Thank y
7ou for joining!"}),i.jsx("div",{className:"text-[#1A1A1A] text-lg opacity-90 max-w-lg",children:"You still have priority access to the waitlist. Feel free to share any feedback with the AI assistant above - our team will be able to track it and respond accordingly."})]})]})}function zt({email:e,setEmail:t,isSubmitting:n}){return i.jsxs(i.Fragment,{children:[i.jsx("input",{type:"email",placeholder:"Enter your email",value:e,onChange:s=>t(s.target.value),className:`flex-1 ${V}`,style:F,required:!0,disabled:n}),i.jsx("button",{type:"submit",className:M,style:U,disabled:n,children:n?i.jsx("span",{className:"opacity-70",children:"Sending..."}):"Sign Up"})]})}function Ht({verificationCode:e,setVerificationCode:t,isVerifying:n}){return i.jsxs(i.Fragment,{children:[i.jsx("input",{type:"text",placeholder:"6-digit code",value:e,onChange:s=>t(s.target.value.replace(/\D/g,"").slice(0,6)),className:`flex-1 ${V}`,style:{...F,letterSpacing:"0.2em"},required:!0,disabled:n,inputMode:"numeric",pattern:"[0-9]{6}",maxLength:6}),i.jsx("button",{type:"submit",className:M,style:U,disabled:n,children:n?i.jsx("span",{className:"opacity-70",children:"Verifying..."}):"Verify Code"})]})}const $t="w-full bg-white border border-[#6F6A60] rounded-full px-2 py-2 shadow-lg",Wt={minHeight:"70px"},qt="w-full bg-white text-black font-medium text-xl px-10 py-4 rounded-full transition-all duration-150 shadow-md hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-[#C9A96E] focus:border-[#C9A96E]",Lt={minHeight:"56px"};function re({children:e,disabled:t,buttonLabel:n,loadingLabel:s}){return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:$t,style:Wt,children:e}),i.jsx("button",{type:"submit",className:qt,style:Lt,disabled:t,children:t?i.jsx("span",{className:"opacity-70",children:s}):n})]})}function Bt({email:e,setEmail:t,isSubmitting:n}){return i.jsx(re,{disabled:n,buttonLabel:"Sign Up",loadingLabel:"Sending...",children:i.jsx("input",{type:"email",placeholder:"Enter your email",value:e,onChange:s=>t(s.target.value),className:`w-full ${V}`,style:{fontWeight:400,fontSize:"1.35rem"},required:!0,disabled:n})})}function Gt({verificationCode:e,setVerificationCode:t,isVerifying:n}){return i.jsx(re,{disabled:n,buttonLabel:"Verify Code",loadingLabel:"Verifying...",children:i.jsx("input",{type:"text",placeholder:"6-digit code",value:e,onChange:s=>t(s.target.value.replace(/\D/g,"").slice(0,6)),className:`w-full ${V}`,style:{fontWeight:400,fontSize:"1.35rem",letterSpacing:"0.2em"},required:!0,disabled:n,inputMode:"numeric",pattern:"[0-9]{6}",maxLength:6})})}function Yt({verification:e}){const{email:t,setEmail:n,verificationCode:s,setVerificationCode:o,isSubmitting:a,isVerificationSent:l,isVerifying:c,verificationError:u,isPhoneStepVisible:d,handleSubmit:x,handleVerifyCode:h,resendVerificationCode:p}=e,v=l&&!d?h:x;return i.jsxs("div",{className:"relative z-10 mb-6 w-full max-w-xl mx-auto flex flex-col items-center",children:[i.jsxs("h2",{className:"text-[#1A1A1A] text-2xl md:text-3xl font-normal text-center mb-8 mt-2 tracking-tight",style:{lineHeight:"1.2"},children:["Join our verified waitlist and be among the first to"," ",i.jsx("span",{className:"font-bold",style:{color:"#7E6234"},children:"get in."})]}),!d&&i.jsxs("form",{onSubmit:v,className:"w-full flex justify-center",children:[i.jsx("div",{className:`hidden md:flex ${Q}`,style:{minHeight:"70px"},children:l?i.jsx(Ht,{verificationCode:s,setVerificationCode:o,isVerifying:c}):i.jsx(zt,{email:t,setEmail:n,isSubmitting:a})}),i.jsx("div",{className:"md:hidden w-full max-w-lg flex flex-col gap-4",children:l?i.jsx(Gt,{verificationCode:s,setVerificationCode:o,isVerifying:c}):i.jsx(Bt,{email:t,setEmail:n,isSubmitting:a})}),l&&!d&&i.jsxs("div",{className:"w-full text-center mt-3",children:[u&&i.jsx("div",{className:"text-red-500 text-sm mb-2",children:u}),i.jsx("button",{type:"button",className:"text-sm text-[#7E6234] underline hover:text-[#1A1A1A] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7E6234] focus-visible:ring-offset-2",onClick:p,disabled:a,children:"Resend code"})]})]})]})}function Jt({verification:e}){const{isSubmitted:t,isAustinStepVisible:n,isAustin:s}=e;return i.jsxs(i.Fragment,{children:[t&&i.jsx(Dt,{verification:e}),t&&n&&i.jsx(Rt,{isAustin:s}),!t&&i.jsx(Yt,{verification:e})]})}const Kt="/assets/partners-Dpc8Fwka.webp",Qt=({currentCount:e=312})=>{const[t,n]=r.useState(0),s=500;r.useEffect(()=>{const a=e;let l=0;const c=a/100,u=setInterval(()=>{l+=c,l>=a?(n(a),clearInterval(u)):n(Math.floor(l))},20);return()=>clearInterval(u)},[e]);const o=t/s*100;return i.jsxs("div",{className:"text-center space-y-4",children:[i.jsxs("div",{className:"space-y-2",children:[i.jsxs("h3",{className:"text-2xl font-bold text-white",children:[t.toLocaleStr
7ing()," / ",s.toLocaleString()]}),i.jsx("p",{className:"text-gray-300",children:"Members joined"})]}),i.jsx("div",{className:"relative w-full max-w-md mx-auto",children:i.jsx("div",{className:"w-full bg-white/10 rounded-full h-3 border border-white/30 shadow-md",children:i.jsx("div",{className:"h-3 rounded-full transition-all duration-1000 ease-out relative overflow-hidden shadow-lg",style:{width:`${o}%`,background:"linear-gradient(90deg, #c6a15a 0%, #ffe9b3 50%, #c6a15a 100%)"},children:i.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/60 to-transparent opacity-80 animate-pulse"})})})}),i.jsxs("p",{className:"text-sm text-gray-400",children:[s-t," spots remaining until launch"]})]})},Xt=[{src:"/assets/mockups/01-voice-interview.webp",alt:"Voice-to-voice interview with your AI matchmaker"},{src:"/assets/mockups/02-interview-intro.webp",alt:"A real 108-question interview, not a form"},{src:"/assets/mockups/03-verification.webp",alt:"ID, selfie, and background verification on every profile"},{src:"/assets/mockups/04-discover.webp",alt:"A few curated people, chosen for you"},{src:"/assets/mockups/05-profile-story-hq.webp",alt:"Every profile tells a story"},{src:"/assets/mockups/06-matchmaker-relay.webp",alt:"Your matchmaker does the talking and coordinates the date"},{src:"/assets/mockups/07-compatibility-hq.webp",alt:"Compatibility across values, personality, lifestyle, communication, and relationship goals"},{src:"/assets/mockups/08-date-confirmed.webp",alt:"Dates booked and on the calendar"},{src:"/assets/mockups/09-messages.webp",alt:"Replies guaranteed â a no-ghosting policy"},{src:"/assets/mockups/10-growth-profile.webp",alt:"Dating as growth â coaching and feedback"}];function Zt({sectionVisibility:e,waitlistStats:t}){const n=e["get-started"];return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"w-screen relative left-1/2 -translate-x-1/2 flex flex-col items-center mt-12 mb-8",children:[i.jsx("div",{className:"text-[#5A5650] text-base md:text-lg text-center mb-6 opacity-80 font-normal",children:"Platform partners"}),i.jsx("img",{src:Kt,alt:"Platform Partners",className:"w-screen object-contain",style:{filter:"invert(1) hue-rotate(180deg) brightness(1.05)",borderRadius:"1.5rem",width:"100%"},draggable:!1})]}),i.jsx("section",{id:"features",className:"bg-[#FAF8F4] py-20 px-4",children:i.jsxs("div",{className:"max-w-6xl mx-auto",children:[i.jsxs("div",{className:"text-center mb-16",children:[i.jsxs("h2",{className:"text-5xl md:text-6xl font-bold text-[#1A1A1A] mb-8",children:["What is"," ",i.jsx("span",{className:"text-transparent bg-clip-text",style:{backgroundImage:"linear-gradient(135deg, #9A7A45 0%, #C9A96E 50%, #9A7A45 100%)"},children:"Matchmaker"}),"?"]}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("p",{className:"text-2xl md:text-3xl text-[#1A1A1A] font-semibold max-w-4xl mx-auto leading-relaxed",children:["Matchmaker is the"," ",i.jsx("span",{className:"text-transparent bg-clip-text font-bold",style:{backgroundImage:"linear-gradient(135deg, #9A7A45 0%, #C9A96E 50%, #9A7A45 100%)"},children:"first of its kind"})," ","and the next logical step in the evolution of online dating."]}),i.jsxs("p",{className:"text-xl md:text-2xl text-[#5A5650] max-w-4xl mx-auto leading-relaxed",children:["It's an"," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"AI-native"}),","," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"voice-first"}),","," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"intentionality-focused"})," ","community, based on real-world matchmaking principles â and the most thoroughly"," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"verified community of single professionals"})," ","available today. Every member has a personally designed AI matchmaker that acts as their guide. Everyone is identity-verified, employment-verified, and background-checked, and undergoes an AI-driven onboarding interview. Because Matchmaker truly gets to know each user, members are matched based on deep"," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"compatibility science"})," ","â including"," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"Enneagram matchmaking"})," ","and"," ",i.jsx("span",{className:"text-[#9A7A45] font-bold",children:"attachment style compatibility"})," ","â and introduced through each person's unique story."]}),i.jsx("div",{className:"bg-gradient-to-r from-[#C9A96E]/20 to-[#C9A96E]/20 border border-[#C9A96E]/30 rounded-2xl p-8 max-w-4xl mx-auto",style:{boxShadow:"0 0 30px rgba(198, 161, 90, 0.15)"},children:i.jsxs("p",{className:"text-xl md:text-2xl text-[#1A1A1A] font-semibold leading-relaxed",children:["Our goal is to become the"," ",i.jsx("span",{className:"text-transparent bg-clip-text font-bold",style:{backgroundImage:"linear-gradient(135deg, #9A7A45 0%, #C9A96E 50%, #9A7A45 100%)"},children:"obvious and preferred choice for online dating"}),", by creating the safest, most vetted, and high quality community that engages in the accountable, proven, and transparent matchmaking process."]})})]})]}),i.jsx("section",{className:"bg-[#FAF8F4] px-4",children:i.jsx("div",{className:"max-w-6xl mx-auto",children:i.jsx("div",{className:"relative z-10 mb-8 text-center",children:i.jsx("div",{className:"mt-4",children:t&&i.jsx(Qt,{currentCount:t.currentCount??0})})})})})]})}),i.jsx("section",{id:"experience",className:"bg-[#FAF8F4] pt-6 pb-2 px-4",children:i.jsx("div",{className:"max-w-[440px] mx-auto flex flex-col items-center gap-4 md:gap-8",children:Xt.map(s=>i.jsx("img",{src:s.src,alt:s.alt,loading:"lazy",className:"w-full h-auto",draggable:!1},s.src))})}),i.jsx("section",{className:"w-full flex justify-center items-center py-8",children:i.jsx("div",{className:"w-full max-w-7xl",children:i.jsx("img",{src:"/assets/reverse-horizon.webp",alt:"Reverse horizon",className:"w-full h-auto object-contain",style:{maxHeight:"400px"},draggable:!1})})}),i.jsx("section",{id:"get-started",className:"w-full flex justify-center items-center py-16 px-4 bg-[#FAF8F4]",children:i.jsxs("div",{className:"w-full max-w-7xl",children:[i.jsx("h2",{className:`text-[#1A1A1A] text-4xl md:text-5xl font-bold text-center mb-12 transition-all duration-[600ms] ${n?"animate-title-fade-in":"opacity-0 translate-y-8"}`,style:{animationDelay:n?"0ms":void 0,animationFillMode:"forwards"},children:"Get Started in Minutes"}),i.jsxs("p",{className:"text-[#6F6A60] text-center text-base md:text-lg mb-10 max-w-2xl mx-auto",children:["An ",i.jsx("span",{className:"text-[#9A7A45] font-semibold",children:"affordable alternative to traditional matchmaking"})," â no $5,000 retainers, no agency gatekeeping. Just a verified, AI-driven process that works."]}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:[{step:1,title:"Join the Waitlist",desc:"Enter your email to get started.",delay:"200ms"},{step:2,title:"Verify Your Phone",desc:"Add your phone number for security.",delay:"400ms"},{step:3,title:"Confirm Your ID",desc:"Complete identity verification via a secure link.",delay:"600ms"}
7,{step:4,title:"Get Notified",desc:"You'll be notified when you're moved to the top and granted access.",delay:"800ms"}].map(s=>i.jsxs("div",{className:`bg-[#FAF8F4] border border-black/10 rounded-2xl p-6 flex flex-col transition-all duration-[800ms] ${n?"animate-step-card-rise":"opacity-0 translate-y-12 scale-95"}`,style:{animationDelay:n?s.delay:void 0,animationFillMode:"forwards"},children:[i.jsxs("div",{className:"text-[#9A7A45] text-sm font-medium mb-3",children:["Step ",s.step]}),i.jsx("h3",{className:"text-[#1A1A1A] text-xl font-bold mb-4",children:s.title}),i.jsx("p",{className:"text-[#5A5650] text-base",children:s.desc})]},s.step))})]})})]})}const ei="/assets/appstore-CbaRsRwt.webp";function ti(){return i.jsx("section",{id:"app-download",className:"w-full flex justify-center items-center py-16 px-2",children:i.jsxs("div",{className:"w-[90%] flex flex-col md:flex-row items-center justify-between bg-white rounded-[2.5rem] relative overflow-hidden shadow-xl border border-black/10",style:{minHeight:"420px"},children:[i.jsx("div",{className:"absolute right-0 top-0 w-2/3 h-2/3 pointer-events-none",style:{background:"radial-gradient(ellipse at 80% 0%, rgba(198,161,90,0.22) 0%, rgba(24,24,27,0) 70%)"}}),i.jsx("div",{className:"absolute right-0 top-0 w-1/2 h-1/2 pointer-events-none opacity-60",children:i.jsx("img",{src:"/assets/gold-shimmer.webp",alt:"",className:"w-full h-full object-cover",style:{mixBlendMode:"overlay"},draggable:!1})}),i.jsx("div",{className:"flex-1 flex justify-center items-end min-w-[260px] z-10 pb-1",children:i.jsx("div",{className:"w-[420px] h-[750px] md:w-[480px] md:h-[850px] rounded-2xl overflow-hidden flex items-center justify-center shadow-2xl bg-transparent relative top-[30px]",children:i.jsx("img",{src:ei,alt:"App Store Preview",className:"object-cover w-full h-full",style:{transform:"scale(1.8) translateY(15%)",objectPosition:"center center"}})})}),i.jsxs("div",{className:"flex-1 flex flex-col items-center md:items-start justify-center px-6 py-10 z-10",children:[i.jsxs("h2",{className:"text-[#1A1A1A] text-3xl md:text-4xl font-bold mb-4 text-center md:text-left leading-tight",children:["Download",i.jsx("br",{}),"MatchmakerAI"]}),i.jsxs("p",{className:"text-[#5A5650] text-base md:text-lg mb-6 text-center md:text-left max-w-md",children:["A ",i.jsx("span",{className:"font-semibold text-[#7E6234]",children:"community of verified single professionals"}),", built for people who are serious. AI matchmaking, employment- and background-verified members, compatibility science, and a strict no-ghosting policy â all in one place. An affordable alternative to traditional matchmaking, right in your pocket."]}),i.jsxs("div",{className:"flex flex-col gap-4",children:[i.jsxs("a",{href:"/join",className:"flex items-center justify-center gap-3 text-[#1A1A1A] font-semibold text-xl px-12 py-5 rounded-xl shadow-lg border-0 hover:brightness-110 focus:outline-none focus:ring-2 focus:ring-[#C9A96E]",style:{background:"linear-gradient(135deg, #C9A96E, #E8D5B0)"},children:[i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-7 h-7",children:i.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zM17.9 17.39c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"})}),i.jsx("span",{children:"Join Now on Web"})]}),i.jsxs("a",{href:"https://apps.apple.com/us/app/matchmakerai/id6736773462",className:"flex items-center justify-center gap-4 bg-[#FAF8F4]/90 text-[#1A1A1A] font-semibold text-xl px-12 py-5 rounded-xl shadow-lg border border-black/10 hover:bg-[#FAF8F4] focus:outline-none focus:ring-2 focus:ring-[#C9A96E]",target:"_blank",rel:"noopener noreferrer",children:[i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-8 h-8",children:i.jsx("path",{d:"M17.564 13.271c-.019-2.045 1.668-3.021 1.744-3.066-0.951-1.389-2.426-1.58-2.946-1.601-1.252-.127-2.444.732-3.081.732-.637 0-1.617-.714-2.663-.694-1.37.02-2.637.796-3.34 2.025-1.426 2.47-.364 6.116 1.022 8.122.677.98 1.482 2.08 2.54 2.04 1.025-.04 1.413-.658 2.654-.658 1.241 0 1.579.658 2.663.638 1.104-.02 1.797-.998 2.47-1.982.779-1.137 1.099-2.242 1.117-2.299-.025-.012-2.146-.823-2.166-3.267zm-2.062-6.001c.561-.68.941-1.626.837-2.57-.81.032-1.785.54-2.367 1.22-.519.601-.974 1.563-.803 2.482.85.066 1.772-.432 2.333-1.132z"})}),i.jsx("span",{children:"Download on the App Store"})]})]})]})]})})}const ii=["verification","onboarding","search-engine","date-coordination","getting-ready","get-started","meet-team"],ni=Object.keys(oe),si="hume_chat_group_onboarding_",ae=e=>e.isAustinStepVisible?e.isAustin===!0?"early_onboarding_success":e.isAustin===!1?"success_complete":"austin_location":e.isSubmitted?"success_complete":e.isPhoneOtpSent?"phone_verification":e.isPhoneStepVisible?"ph
7one_input":e.isVerificationSent?"email_verification":"email_input",oi=(e,t,n)=>e==="about"?"member_counter":t.closest(".waitlist-form")?ae(n):oe[e]||"hero_section",ne=({storageKey:e,anonymousUserId:t,email:n,trackAnonymousEvent:s,setResumedChatGroupId:o})=>{const a=localStorage.getItem(e);o(a),a&&t&&s(n?"chat_resumed_with_email":"anonymous_chat_resumed",n?{userId:t,email:n,chatGroupId:a}:{userId:t,chatGroupId:a})},ri=(e,t,n)=>{typeof window>"u"||(window.getAnonymousUserData=e.getAnonymousUserData,window.retryFailedEvents=e.retryFailedEvents,window.resetVerificationStatus=t.resetVerificationStatus,window.getVisitorData=()=>n,window.collectNewVisitorData=()=>ue(()=>import("./waitlistApi-DgTW_una.js"),__vite__mapDeps([0,1,2,3])).then(s=>s.collectVisitorData()))},ai=e=>{const t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth",block:"start"})},li=(e,t,n,s)=>{r.useEffect(()=>{if(e&&e.includes("@")){const o=`${si}${e}`;ne({storageKey:o,anonymousUserId:t,email:e,trackAnonymousEvent:n,setResumedChatGroupId:s})}else if(t&&!e){const o=`hume_chat_group_anonymous_${t}`;ne({storageKey:o,anonymousUserId:t,email:null,trackAnonymousEvent:n,setResumedChatGroupId:s})}else s(null)},[e,t])},ci=(e,t,n)=>{r.useEffect(()=>{const s={root:null,rootMargin:"-20% 0px -20% 0px",threshold:.3},o=new IntersectionObserver(c=>{c.forEach(u=>{if(!u.isIntersecting)return;const d=oi(u.target.id,u.target,e);t.updateUserContext(d,t.getContextDescription(d))})},s);ni.forEach(c=>{const u=document.getElementById(c);u&&o.observe(u)});const a=document.querySelector("section:first-child"),l=document.querySelector(".waitlist-form");return a&&!a.id&&o.observe(a),l&&o.observe(l),()=>o.disconnect()},[e.isSubmitted,e.isPhoneOtpSent,e.isPhoneStepVisible,e.isVerificationSent,e.isAustinStepVisible,e.isAustin,n,t.updateUserContext,t.getContextDescription])},di=(e,t)=>{r.useEffect(()=>{const n=ae(e);t.updateUserContext(n,t.getContextDescription(n))},[e.isSubmitted,e.isPhoneOtpSent,e.isPhoneStepVisible,e.isVerificationSent,e.isAustinStepVisible,e.isAustin,t.updateUserContext,t.getContextDescription])},ui=(e,t)=>{r.useEffect(()=>{if(!e)return;const n=()=>t(!1);return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e])},Ii=({showTeamSection:e=!0})=>{const t=ce(),{user:n}=de(),[s,o]=r.useState(!1),[a,l]=r.useState(null),c=Ce(ii),u=Pe(),{anonymousUserId:d,visitorData:x,trackAnonymousEvent:h,getAnonymousUserData:p,trackEvent:v,trackUserAction:b,identifyUser:g}=u,m=It({anonymousUserId:d,trackAnonymousEvent:h,email:"",resumedChatGroupId:a,setResumedChatGroupId:l,storeAnonymousUserWithChatGroup:()=>{}}),y=vt({anonymousUserId:d,visitorData:x,trackAnonymousEvent:h,getAnonymousUserData:p,trackEvent:v,trackUserAction:b,identifyUser:g,sendContextToHume:m.sendContextToHume,updateUserContext:m.updateUserContext,getContextDescription:m.getContextDescription,resumedChatGroupId:a});we(m.isSessionConnected,"waitlister");const k=y.email;li(k,d,h,l),ci(y,m,d),di(y,m),ui(s,o),ri(u,y,x);const A=()=>{t.push("/join")};return i.jsxs("div",{className:"bg-[#FAF8F4] min-h-screen w-full p-0 m-0",children:[i.jsx(Se,{scrollToSection:ai,isMobileMenuOpen:s,setIsMobileMenuOpen:o,handleEnterMatchmaker:A}),i.jsxs("div",{children:[i.jsxs("section",{id:"hero",className:"relative flex flex-col items-center justify-center min-h-[77vh] w-full overflow-hidden bg-[#FAF8F4] p-0 m-0 pt-40 lg:pt-56",children:[i.jsx(Ot,{accessToken:m.accessToken,isTokenLoading:m.isTokenLoading,isSessionConnected:m.isSessionConnected,setIsSessionConnected:m.setIsSessionConnected,isConnecting:m.isConnecting,setIsConnecting:m.setIsConnecting,isAssistantSpeaking:m.isAssistantSpeaking,showSayHiPrompt:m.showSayHiPrompt,setShowSayHiPrompt:m.setShowSayHiPrompt,voiceProviderRef:m.voiceProviderRef,handleVoiceMessage:m.handleVoiceMessage,handleAudioReceived:m.handleAudioReceived,handleSocketOpen:m.handleSocketOpen,handleSocketClose:m.handleSocketClose,endCall:m.endCall,sendContextToHume:m.sendContextToHume,handleSendSessionSettings:m.handleSendSessionSettings,trackUserAction:b,anonymousUserId:d,resumedChatGroupId:a,userId:n==null?void 0:n.uid}),i.jsx(Jt,{verification:y}),i.jsx(Zt,{sectionVisibility:c,waitlistStats:m.waitlistStats})]}),e&&i.jsx(_e,{visible:c["meet-team"]}),i.jsx(ti,{}),i.jsx("div",{className:"w-full text-center py-4 text-[#6F6A60] text-sm",children:"v1.0.1"}),i.jsx(Ee,{})]})]})};export{Ii 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.