PageSourceSearch

https://oriamarketing.com/assets/tenant-signup-oSti_kdy.js

js oriamarketing.com collected 2026-09-25 23:15:26 UTC 31,561 bytes, 1 lines download raw bytes

1import{a as l,j as e}from"./react-vendor-Cj4cBEvf.js";import{u as Re}from"./router-BMgApeuJ.js";import{i as f,a as Fe,b as Be,h as $e,B as v}from"./index-BqvpdcJu.js";import{C as O,b as D,a as W}from"./card-CoFigNgP.js";import{I as h}from"./input-B7jeI0zG.js";import{L as g}from"./label-xqmsnZug.js";import{S as me,a as ge,b as he,c as xe,d as ye}from"./select-tuum9-T1.js";import{L as U}from"./oria-logo-BbWMmXwG.js";import{T as Ie}from"./turnstile-widget-D9UAc1-v.js";import"./schema-DBAbq4mx.js";/* empty css                            */import{d as j,A as Le,Q as fe,am as T,u as Me,a as ze,p as Oe}from"./icons-BolBVcAj.js";import{P as R}from"./plan-tiers-DhfbFXkM.js";import"./fullcalendar-DxFl_for.js";import"./query-DuA8FwnC.js";import"./radix-Cu77hBNh.js";import"./charts-C3VUr0cJ.js";const De=[{value:"General Construction",label:"General Contractor"},{value:"Electrical",label:"Electrician"},{value:"Plumbing",label:"Plumber"},{value:"Painting",label:"Painter"},{value:"Flooring",label:"Flooring"},{value:"Roofing",label:"Roofing"},{value:"HVAC",label:"HVAC"},{value:"Landscaping",label:"Landscaping"},{value:"Concrete",label:"Concrete / Masonry"},{value:"Framing",label:"Framing"},{value:"Solar",label:"Solar"},{value:"Pool Builder",label:"Pool Builder"},{value:"Windows & Doors",label:"Windows & Doors"},{value:"Garage Doors",label:"Garage Doors"},{value:"Fencing",label:"Fencing"},{value:"Paving",label:"Paving / Hardscaping"},{value:"Cabinets",label:"Cabinets & Closets"},{value:"Waterproofing",label:"Waterproofing"},{value:"Insulation",label:"Insulation"},{value:"Demolition",label:"Demolition"},{value:"Handyman",label:"Handyman"},{value:"Cleaning",label:"Cleaning / Restoration"},{value:"Other",label:"Other"}];function st(){const[be,F]=l.useState("plan"),[i,S]=l.useState(""),[d,H]=l.useState(!1),[x,G]=l.useState(""),[r,k]=l.useState(null),[V,P]=l.useState(!1);l.useEffect(()=>{const t=new URLSearchParams(window.location.search),a=t.get("coupon"),s=t.get("plan");s&&["starter","growth","pro"].includes(s)&&S(s),a&&(G(a.toUpperCase()),(async()=>{P(!0);try{const n=await f("POST","/api/billing/validate-coupon",{code:a});k(await n.json())}catch(n){console.error("Failed to validate coupon:",n)}finally{P(!1)}})()),t.get("autoCheckout")==="true"&&t.get("google")==="success"&&(async()=>{try{const n=s||"starter",m={planKey:n,skipTrial:!!a,successUrl:`${window.location.origin}/onboarding?billing=success&plan=${n}`,cancelUrl:`${window.location.origin}/signup?billing=canceled&plan=${n}`};a&&(m.couponCode=a);const N=await(await f("POST","/api/billing/create-checkout",m)).json();N.url&&(window.location.href=N.url)}catch(n){console.warn("Auto-checkout failed:",n.message)}})()},[]);const Y=t=>r?.valid?r.discountType==="percent"?Math.round(t*(1-r.discountValue/100)):Math.max(0,t-r.discountValue):null,B=t=>!r?.valid||!r.applicablePlans||r.applicablePlans.length===0?!0:r.applicablePlans.includes(t),[c,q]=l.useState({companyName:"",slug:"",ownerName:"",ownerEmail:"",password:"",phone:"",licenseNumber:"",businessType:"",state:"",smsConsent:!1}),[ve,je]=l.useState([]);l.useEffect(()=>{Fe("/api/markets/states").then(t=>t.json()).then(t=>{Array.isArray(t)&&je(t)}).catch(()=>{})},[]);const[K,w]=l.useState(""),[_,Q]=l.useState(!1),[A,X]=l.useState(!1),[$,J]=l.useState(""),Z=!0,[ee,te]=l.useState(!1),[ae,I]=l.useState(""),[b,we]=l.useState(""),[u,re]=l.useState(null),[se,ne]=l.useState(!1),[,Ce]=Re(),{toast:L}=Be(),{isAuthenticated:oe,isLoading:Ne,user:M,tenant:C,logout:Se,refetchSession:ke}=$e(),p=(t,a)=>{q(s=>{const n={...s,[t]:a};return t==="companyName"&&(n.slug=a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")),n})},Pe=async t=>{if(t.preventDefault(),w(""),Z&&!$){w("Please complete the bot-check below before submitting.");return}Q(!0);try{await f("POST","/api/auth/register",{...c,selectedPlan:i,turnstileToken:$||void 0}),typeof window<"u"&&window.fbq&&window.fbq("track","CompleteRegistration",{content_name:i,currency:"USD"}),typeof window<"u"&&window.gtag&&window.gtag("event","sign_up",{method:"email",plan:i});try{const a={planKey:i,skipTrial:r?.valid?!0:d,successUrl:`${window.location.origin}/onboarding?billing=success&plan=${i}`,cancelUrl:`${window.location.origin}/signup?billing=canceled&plan=${i}`};x&&r?.valid&&(a.couponCode=x);const n=await(await f("POST","/api/billing/create-checkout",a)).json();if(n.url){window.location.href=n.url;return}
1w("Payment setup failed. Please try again or contact support."),L({title:"Payment setup failed",description:"Please try again.",variant:"destructive"})}catch(a){console.warn("Checkout redirect failed:",a.message),w(`Payment setup error: ${a.message}. Please try again.`),L({title:"Payment error",description:a.message,variant:"destructive"})}}catch(a){w(a.message||"Registration failed")}finally{Q(!1)}},le=async()=>{X(!0);try{await Se(),await ke()}catch{}finally{X(!1)}};if(Ne)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50",children:e.jsx(j,{className:"w-8 h-8 animate-spin text-amber-600"})});const ie=oe&&C?.status==="pending";if(oe&&!ie)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 px-4 py-8",children:e.jsxs(O,{className:"w-full max-w-md","data-testid":"signup-already-auth-card",children:[e.jsxs(D,{className:"text-center space-y-2 pb-2",children:[e.jsx("div",{className:"mx-auto w-14 h-14 rounded-full bg-amber-100 flex items-center justify-center",children:e.jsx(U,{size:28,color:"#F59E0B"})}),e.jsx("h1",{className:"text-xl font-bold text-gray-900","data-testid":"text-already-signed-in",children:"You're Already Signed In"}),e.jsxs("p",{className:"text-sm text-gray-500",children:["You're currently logged in as ",e.jsx("strong",{children:M?.name||M?.email}),C?.companyName&&e.jsxs(e.Fragment,{children:[" at ",e.jsx("strong",{children:C.companyName})]}),"."]})]}),e.jsxs(W,{className:"space-y-3",children:[e.jsxs(v,{className:"w-full bg-amber-500 hover:bg-amber-600 text-white",onClick:()=>Ce("/admin"),"data-testid":"button-go-to-dashboard",children:[e.jsx(Le,{className:"w-4 h-4 mr-2"}),"Go to My Dashboard"]}),e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("div",{className:"w-full border-t border-gray-200"})}),e.jsx("div",{className:"relative flex justify-center text-xs",children:e.jsx("span",{className:"bg-white px-2 text-gray-400",children:"or"})})]}),e.jsxs(v,{variant:"outline",className:"w-full",onClick:le,disabled:A,"data-testid":"button-logout-and-signup",children:[A?e.jsx(j,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(fe,{className:"w-4 h-4 mr-2"}),"Sign Out & Create New Account"]})]})]})});if(ie){const t=async()=>{if(b.trim()){ne(!0);try{const o=await f("POST","/api/billing/validate-coupon",{code:b});re(await o.json())}catch{re({valid:!1})}finally{ne(!1)}}},a=C?.plan||"starter",s=a==="pro"?1997:a==="growth"?997:497,n=u?.valid&&u.discountType==="percent"?Math.round(s*(1-u.discountValue/100)):s,m=async()=>{te(!0),I("");try{const o={planKey:a,skipTrial:(u?.valid,!0),successUrl:`${window.location.origin}/onboarding?billing=success&plan=${a}`,cancelUrl:`${window.location.origin}/signup?billing=canceled`};b&&u?.valid&&(o.couponCode=b);const y=await(await f("POST","/api/billing/create-checkout",o)).json();if(y.url){window.location.href=y.url;return}I(y.error||"Failed to create checkout. Check Stripe configuration.")}catch(o){I(o.message||"Checkout error")}finally{te(!1)}};return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 px-4 py-8",children:e.jsxs(O,{className:"w-full max-w-md",children:[e.jsxs(D,{className:"text-center space-y-2 pb-2",children:[e.jsx("div",{className:"mx-auto w-14 h-14 rounded-full bg-amber-100 flex items-center justify-center",children:e.jsx(T,{className:"w-7 h-7 text-amber-600"})}),e.jsx("h1",{className:"text-xl font-bold",children:"Complete Payment"}),e.jsxs("p",{className:"text-sm text-gray-500",children:["Hi ",M?.name||"there","! Your account at ",e.jsx("strong",{children:C?.companyName})," is ready. Complete payment to start your onboarding."]})]}),e.jsxs(W,{className:"space-y-3",children:[ae&&e.jsx("div",{className:"bg-red-50 border border-red-200 text-red-700 text-sm rounded-lg p-3",children:ae}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(h,{placeholder:"Coupon code (optional)",value:b,onChange:o=>we(o.target.value.toUpperCase())}),e.jsx(v,{variant:"outline",size:"sm",onClick:t,disabled:se||!b.trim(),children:se?e.jsx(j,{className:"w-3 h-3 animate-spin"}):"Apply"})]}),u?.valid&&e.jsxs("div",{className:"bg-green-50 border border-green-200 text-green-700 text-sm rounded-lg p-2 text-center",children:["✓ ",u.discountValue,"% off applied — $",n,"/mo"]}),u&&!u.valid&&e.jsx("div",{className:"bg-red-50 border border-red-200 text-red-600 text-sm rounded-lg p-2 text-center",children:"Invalid coupon"}),e.jsxs(v,{className:"w-full bg-teal-600 hover:bg-teal-700 text-white",onClick:m,disabled:ee,children:[ee?e.jsx(j,{className:"w-4 h-4 animate-spin mr-2"}):e.jsx(T,{className:"w-4 h-4 mr-2"}),"Complete Checkout — $",n,"/mo"]}),e.jsxs(v,{variant:"outline",className:"w-full",onClick:le,disabled:A,children:[A?e.jsx(j,{className:"w-4 h-4 animate-spin mr-2"}):e.jsx(fe,{className:"w-4 h-4 mr-2"}),"Start Over with Different Account"]})]})]})})}const ce={starter:"var(--teal2, #00BFA5)",growth:"var(--teal, #1DE9B6)",pro:"var(--amber, #F59E0B)"},Ae={starter:"1,200",growth:"2,400",pro:"4,200"},de=[{name:"WEBSITE & INTELLIGENCE",color:"var(--teal, #1DE9B6)",rows:[{feature:"Website Intelligence",starter:"✓",growth:"✓",pro:"✓"},{feature:"Permit Radar",starter:"—",growth:"—",pro:"Unlimited ZIPs"},{feature:"Permit Leads",starter:"—",growth:"—",pro:"✓"},{feature:"Recently Sold",starter:"—",growth:"—",pro:"✓"},{feature:"KnockIQ Contacts & Campaigns",starter:"—",growth:"✓",pro:"✓"},{feature:"Neighborhood Ripple",starter:"—",growth:"✓",pro:"✓"},{feature:"Property Signals & Homeowner Intelligence",starter:"—",growth:"—",pro:"✓"},{feature:"Tracerfy Skip-Trace",starter:"—",growth:"—",pro:"✓"}]},{name:"CRM & PIPELINE",color:"var(--blue, #4A9EFF)",rows:[{feature:"CRM & Pipeline",starter:"100 leads/mo",growth:"Unlimited",pro:"Unlimited"},{feature:"AI Lead Scoring",starter:"✓",growth:"✓",pro:"✓"},{feature:"Calls & SMS Tracking",starter:"✓",growth:"✓",pro:"✓"},{feature:"Email Inbox & Sequences",starter:"Basic",growth:"Full",pro:"Full + AI"},{feature:"Spam Filter",starter:"✓",growth:"✓",pro:"✓"},{feature:"Past Client Reactivation",starter:"✓",growth:"✓",pro:"✓"}]},{name:"OUTREACH & PARTNERS",color:"var(--purple, #A78BFA)",rows:[{feature:"Partner Outreach",starter:"—",growth:"All 7 types",pro:"All 7 types"},{feature:"Buyer Confidence Engine",starter:"—",growth:"✓",pro:"✓"},{feature:"Patch.com Engine",starter:"—",growth:"—",pro:"✓"}]},{name:"MARKETING & SEO",color:"var(--amber, #F59E0B)",rows:[{feature:"SEO Engine",starter:"8 posts/mo",growth:"24 posts/mo",pro:"50/mo + LLM"},{feature:"AI Ad Engine",starter:"—",growth:"Google + Meta",pro:"4 platforms + autopilot"},{feature:"GMB Management",starter:"Basic",growth:"Full",pro:"Full + Heat Map"},{feature:"Social Command",starter:"—",growth:"✓",pro:"✓"},{feature:"Landing Pages",starter:"—",growth:"✓",pro:"✓"},{feature:"Case Studies",starter:"—",growth:"✓",pro:"✓"}]},{name:"STRATEGY & GROWTH",color:"var(--rose, #F43F5E)",rows:[{feature:"Business Performance Dashboard",starter:"✓",growth:"✓",pro:"✓"},{feature:"Growth Center Analytics",starter:"—",growth:"✓",pro:"✓"},{feature:"Authority Radar",starter:"—",growth:"—",pro:"Weekly AI scans"},{feature:"90-Day Domination Plan",starter:"—",growth:"—",pro:"✓"}]},{name:"OPERATIONS",color:"var(--green, #22C55E)",rows:[{feature:"Quote Builder & Contracts",starter:"✓",growth:"✓",pro:"✓"},{feature:"Project Manager Portal",starter:"Up to 5 PMs",growth:"Up to 5 PMs",pro:"Up to 20 PMs"},{feature:"Live Project Portfolio",starter:"—",growth:"—",pro:"✓"},{feature:"License Monitor",starter:"✓",growth:"✓",pro:"✓"}]},{name:"CREDITS & ADD-ONS",color:"var(--t2, #7A8EA8)",rows:[{feature:"User Seats",starter:"2",growth:"5",pro:"Unlimited"},{feature:"Enrichment Credits",starter:"—",growth:"—",pro:"100/mo"},{feature:"Postcard Credits",starter:"—",growth:"—",pro:"200/mo"},{feature:"Additional PMs",starter:"$25/PM/mo",growth:"$25/PM/mo",pro:"$25/PM/mo"},{feature:"AI Website Edits",starter:"3/mo",growth:"10/mo",pro:"25/mo"},{feature:"Website Rebuild",starter:"$500 add-on",growth:"$250 add-on",pro:"Included free"},{feature:"Permit Markets",starter:"0",growth:"1 included",pro:"2 included"},{feature:"Dedicated Account Manager",starter:"—",growth:"—",pro:"✓"},{feature:"Weekly Strategy Calls",starter:"—",growth:"—",pro:"✓"}]}],[ue,Ee]=l.useState(()=>new Set(de.map(t=>t.name))),Te=t=>{Ee(a=>
1{const s=new Set(a);return s.has(t)?s.delete(t):s.add(t),s})},z=t=>t==="✓"?e.jsx("span",{style:{color:"#1DE9B6",fontWeight:700},children:"✓"}):t==="—"?e.jsx("span",{style:{color:"var(--t3, #3A4558)"},children:"—"}):e.jsx("span",{style:{color:"var(--t1, #E2E8F4)",fontSize:12},children:t});return be==="plan"?e.jsx("div",{className:"om-page",style:{minHeight:"100vh"},children:e.jsxs("div",{style:{padding:"48px 24px 96px",maxWidth:1160,margin:"0 auto"},children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:48},children:[e.jsx("div",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:56,height:56,borderRadius:"50%",background:"rgba(245,158,11,0.12)",marginBottom:16},children:e.jsx(U,{size:28,color:"#F59E0B"})}),e.jsx("div",{className:"tag",style:{color:"var(--teal)",background:"rgba(29,233,182,0.1)",border:"1px solid rgba(29,233,182,0.2)",marginBottom:16,display:"inline-flex"},"data-testid":"tag-pricing",children:"PRICING"}),e.jsxs("h1",{className:"ox",style:{fontSize:44,fontWeight:800,lineHeight:1,letterSpacing:"-.025em",marginBottom:16,color:"var(--t1)"},"data-testid":"text-choose-plan-title",children:["ONE PLATFORM.",e.jsx("br",{}),e.jsx("span",{style:{background:"linear-gradient(135deg, #fde68a, #F59E0B)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"FRACTION OF THE COST."})]}),e.jsx("p",{style:{color:"var(--t2)",fontSize:15,maxWidth:560,margin:"0 auto"},children:"Ready to grow? Start with full access or try free for 7 days. Territory exclusive — one contractor per market per trade."})]}),e.jsxs("div",{style:{marginBottom:24,padding:"16px 24px",background:"var(--s)",border:"1px solid var(--b)",borderRadius:10,maxWidth:480,margin:"0 auto 24px"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:8},children:[e.jsx(T,{style:{width:14,height:14,color:"var(--teal)"}}),e.jsx("span",{style:{fontSize:13,color:"var(--t1)"},children:"Have a coupon or demo code?"})]}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsx("input",{value:x,onChange:t=>{G(t.target.value.toUpperCase()),k(null)},placeholder:"Enter code",style:{background:"var(--bg)",border:"1px solid var(--b)",borderRadius:7,padding:"8px 14px",color:"var(--t1)",fontSize:13,width:180,outline:"none",fontFamily:"'Fira Code', monospace"},"data-testid":"input-signup-coupon"}),e.jsx("button",{className:"btn btn-outline btn-sm",onClick:async()=>{P(!0);try{const t=await f("POST","/api/billing/validate-coupon",{code:x});k(await t.json())}catch(t){L({title:"Invalid coupon",description:t.message,variant:"destructive"}),k(null)}finally{P(!1)}},disabled:!x.trim()||V,"data-testid":"button-apply-signup-coupon",children:V?"...":"Apply"})]}),r?.valid&&e.jsxs("div",{style:{marginTop:8,fontSize:13,color:"#1DE9B6",display:"flex",alignItems:"center",gap:6},"data-testid":"text-signup-coupon-success",children:[e.jsx(Me,{style:{width:14,height:14}}),r.code,": ",r.discountType==="percent"?`${r.discountValue}% off`:`$${r.discountValue} off`,r.applicablePlans?.length>0&&` — Valid for: ${r.applicablePlans.join(", ")}`]})]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:16,alignItems:"start",marginBottom:32},className:"three-col",children:R.map(t=>{const a="popular"in t&&t.popular,s=ce[t.key]||"var(--t2)",n=i===t.key,m=r?.valid&&B(t.key)?Y(t.price):null;return e.jsxs("div",{onClick:()=>S(t.key),style:{background:"var(--s)",borderRadius:14,padding:"32px 28px",position:"relative",cursor:"pointer",border:n?"2px solid var(--teal)":a?"1px solid rgba(29,233,182,0.33)":"1px solid var(--b)",transform:a?"scale(1.02)":"none",boxShadow:n?"0 0 0 1px rgba(29,233,182,0.3), 0 8px 40px rgba(29,233,182,0.2)":a?"0 0 0 1px rgba(29,233,182,0.13), 0 8px 40px rgba(29,233,182,0.18)":"none",transition:"all .2s"},"data-testid":`card-plan-${t.key}`,children:[a&&e.jsx("div",{style:{position:"absolute",top:-13,left:"50%",transform:"translateX(-50%)"},children:e.jsx("span",{className:"tag",style:{color:"var(--teal)",background:"rgba(29,233,182,0.15)",border:"1px solid rgba(29,233,182,0.3)"},children:"★ MOST POPULAR"})}),e.jsxs("div",{style:{marginBottom:24}
1,children:[e.jsx("div",{className:"fc",style:{fontSize:10,color:s,letterSpacing:".1em",marginBottom:8},children:t.tag.toUpperCase()}),e.jsx("div",{className:"ox",style:{fontSize:30,fontWeight:800,color:"var(--t1)"},children:t.name}),e.jsx("div",{style:{display:"flex",alignItems:"baseline",gap:3,marginTop:8},children:m!==null?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{fontSize:18,color:"var(--t3)",textDecoration:"line-through"},children:["$",t.price]}),e.jsxs("span",{className:"ox fc",style:{fontSize:44,fontWeight:800,color:"#1DE9B6"},children:["$",m]}),e.jsx("span",{style:{fontSize:14,color:"var(--t2)"},children:"/month"})]}):e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"ox fc",style:{fontSize:44,fontWeight:800,color:s},children:["$",t.price]}),e.jsx("span",{style:{fontSize:14,color:"var(--t2)"},children:"/month"})]})}),r?.valid&&!B(t.key)&&e.jsx("div",{style:{fontSize:11,color:"#F59E0B",marginTop:4},children:"Coupon not valid for this plan"}),e.jsxs("div",{style:{marginTop:8,fontSize:12,color:"var(--t3)"},children:["Replaces ~$",Ae[t.key],"/mo in tools"]})]}),e.jsx("div",{style:{height:1,background:"var(--b)",marginBottom:24}}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:9,marginBottom:28},children:t.features.map((o,N)=>{const y=o.startsWith("Everything"),E=o.includes("Website Rebuild"),pe=y||E||o.includes("user seat")||o==="Unlimited leads"||o.includes("Project Manager")||o.includes("Quote Builder");return e.jsxs("div",{style:{display:"flex",gap:9,alignItems:"flex-start"},children:[e.jsx("span",{style:{color:E?"var(--amber)":y?s:"var(--teal)",fontSize:12,flexShrink:0,marginTop:2},children:E?"🌐":"✓"}),e.jsx("span",{style:{fontSize:12,color:E?"var(--amber)":y?s:pe?"var(--t1)":"var(--t2)",lineHeight:1.5,fontWeight:pe?700:400},children:o})]},N)})}),e.jsxs("button",{className:"btn btn-teal",onClick:o=>{o.stopPropagation(),S(t.key),H((r?.valid,!0)),F("form")},style:{width:"100%",justifyContent:"center",fontSize:14,padding:"13px 20px"},"data-testid":`button-start-now-${t.key}`,children:[r?.valid?"Get Started":"Start Now"," — ",m!==null?e.jsxs(e.Fragment,{children:[e.jsxs("span",{style:{textDecoration:"line-through",opacity:.6,marginRight:4},children:["$",t.price]}),"$",m,"/mo"]}):e.jsxs(e.Fragment,{children:["$",t.price,"/mo"]})]}),!r?.valid&&e.jsx("button",{onClick:o=>{o.stopPropagation(),S(t.key),H(!1),F("form")},style:{width:"100%",textAlign:"center",marginTop:10,fontSize:12,color:"var(--t3)",background:"none",border:"none",cursor:"pointer",padding:4},"data-testid":`button-trial-${t.key}`,children:"or start 7-day free trial →"})]},t.key)})}),e.jsx("div",{style:{marginTop:24,padding:"16px 24px",background:"rgba(29,233,182,0.1)",border:"1px solid rgba(29,233,182,0.2)",borderRadius:10,textAlign:"center"},children:e.jsxs("span",{style:{fontSize:14,color:"var(--t2)"},children:["Every plan includes your own AI engine — ",e.jsx("strong",{style:{color:"var(--teal)"},children:"it works 24/7, learns your market, and gets smarter every week"}),". No extra cost."]})}),e.jsx("div",{style:{marginTop:12,padding:"20px 28px",background:"rgba(245,158,11,0.1)",border:"1px solid rgba(245,158,11,0.2)",borderRadius:10,textAlign:"center"},children:e.jsxs("span",{style:{fontSize:14,color:"var(--t2)"},children:["At an average project value of ",e.jsx("strong",{style:{color:"var(--amber)"},children:"$145K"}),", you need to close ",e.jsx("strong",{style:{color:"var(--amber)"},children:"one job every 12 months"})," to cover the entire Pro plan. Most clients close 2–4 per month."]})}),e.jsxs("div",{style:{marginTop:56},children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:32},children:[e.jsx("span",{className:"tag",style:{color:"var(--teal)",background:"rgba(29,233,182,0.1)",border:"1px solid rgba(29,233,182,0.2)",marginBottom:12,display:"inline-flex"},children:"FULL COMPARISON"}),e.jsx("h2",{className:"ox",style:{fontSize:32,fontWeight:800,color:"var(--t1)",marginTop:12},children:"COMPARE EVERY FEATURE"})]}),e.jsx("div",{style:{overflowX:"auto"},children:e.jsxs("table",{style:{width:"100%",minWidth:700,borderCollapse:"collapse"},"data-testid":"table-feature-comparison",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{position:"sticky",top:0,zIndex:10,background:"var(--bg)"},children:[e.jsx("th",{style:{textAlign:"left",padding:"12px 16px",fontSize:12,color:"var(--t3)",borderBottom:"1px solid var(--b)",width:"40%"},children:"Feature"}),R.map(t=>e.jsxs("th",{style:{textAlign:"center",padding:"12px 16px",fontSize:13,fontWeight:800,borderBottom:"1px solid var(--b)",width:"20%",color:ce[t.key]},className:"ox",children:[t.name,e.jsxs("div",{style:{fontSize:11,fontWeight:400,color:"var(--t3)",marginTop:2},children:["$",t.price,"/mo"]})]},t.key))]})}),e.jsx("tbody",{children:de.map(t=>e.jsxs(e.Fragment,{children:[e.jsx("tr",{onClick:()=>Te(t.name),style:{cursor:"pointer"},"data-testid":`row-category-${t.name.replace(/\s+/g,"-").toLowerCase()}`,children:e.jsx("td",{colSpan:4,style:{padding:"14px 16px",borderBottom:"1px solid var(--b)"},children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[ue.has(t.name)?e.jsx(ze,{style:{width:14,height:14,color:t.color}}):e.jsx(Oe,{style:{width:14,height:14,color:t.color}}),e.jsx("span",{className:"fc",style:{fontSize:10,fontWeight:700,letterSpacing:".1em",color:t.color},children:t.name})]})})},`cat-${t.name}`),ue.has(t.name)&&t.rows.map((a,s)=>e.jsxs("tr",{style:{background:s%2===0?"var(--bg)":"var(--s)"},"data-testid":`row-feature-${a.feature.replace(/\s+/g,"-").toLowerCase()}`,children:[e.jsx("td",{style:{padding:"10px 16px",fontSize:13,color:"var(--t2)",borderBottom:"1px solid var(--b)"},children:a.feature}),e.jsx("td",{style:{padding:"10px 16px",textAlign:"center",borderBottom:"1px solid var(--b)"},children:z(a.starter)}),e.jsx("td",{style:{padding:"10px 16px",textAlign:"center",borderBottom:"1px solid var(--b)"},children:z(a.growth)}),e.jsx("td",{style:{padding:"10px 16px",textAlign:"center",borderBottom:"1px solid var(--b)"},children:z(a.pro)})]},`${t.name}-${s}`))]}))})]})})]}),e.jsx("div",{style:{textAlign:"center",marginTop:48},children:r?.valid?e.jsxs("p",{style:{fontSize:14,color:"var(--teal)",fontWeight:600},children:["Your discount code ",e.jsx("strong",{children:r.code}),' is applied. Click "Get Started" to begin.']}):e.jsxs(e.Fragment,{children:[e.jsxs("p",{style:{fontSize:14,color:"var(--t2)",marginBottom:8},children:["Already had a demo? ",e.jsx("strong",{style:{color:"var(--teal)"},children:'Click "Start Now"'})," on any plan to get full access immediately."]}),e.jsx("p",{style:{fontSize:12,color:"var(--t3)"},children:"Not sure yet? Every plan includes a 7-day free trial. No charge until the trial ends."})]})})]})}):e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gray-50 px-4 py-8",children:e.jsxs(O,{className:"w-full max-w-md","data-testid":"signup-card",children:[e.jsxs(D,{className:"text-center space-y-2 pb-2",children:[e.jsx("div",{className:"mx-auto w-14 h-14 roun
1ded-full bg-amber-100 flex items-center justify-center",children:e.jsx(U,{size:28,color:"#F59E0B"})}),e.jsx("h1",{className:"text-2xl font-bold text-gray-900","data-testid":"text-title",children:r?.valid?"Get Started":d?"Create Your Account":"Start Your 7-Day Free Trial"}),e.jsx("div",{className:`inline-flex items-center gap-1.5 ${d?"bg-teal-50 border-teal-200":"bg-amber-50 border-amber-200"} border rounded-full px-3 py-1 mx-auto`,children:e.jsxs("span",{className:`text-xs font-semibold ${d?"text-teal-700":"text-amber-700"}`,children:[R.find(t=>t.key===i)?.name," Plan — $",(()=>{const t=R.find(s=>s.key===i);if(!t)return"...";const a=Y(t.price);return a!==null?`${a}/mo`:`${t.price}/mo`})(),!d&&!r?.valid?" after trial":"",r?.valid&&B(i)?` (${r.code} applied)`:""]})}),e.jsxs("p",{className:"text-sm text-gray-500 flex items-center justify-center gap-1","data-testid":"text-tagline",children:[e.jsx(T,{className:"w-3.5 h-3.5"}),d?"Full access starts immediately after payment.":"Credit card collected during onboarding. Cancel anytime during trial."]})]}),e.jsxs(W,{children:[e.jsxs("a",{href:`/api/auth/google?plan=${i}${x&&r?.valid?`&coupon=${x}`:""}`,className:"flex items-center justify-center gap-3 w-full px-4 py-3 mb-4 border border-gray-300 rounded-lg bg-white hover:bg-gray-50 transition-colors text-sm font-medium text-gray-700","data-testid":"button-google-signup",children:[e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",children:[e.jsx("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92a5.06 5.06 0 01-2.2 3.32v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.1z",fill:"#4285F4"}),e.jsx("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),e.jsx("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),e.jsx("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]}),"Sign up with Google"]}),e.jsxs("div",{className:"relative mb-4",children:[e.jsx("div",{className:"absolute inset-0 flex items-center",children:e.jsx("div",{className:"w-full border-t border-gray-200"})}),e.jsx("div",{className:"relative flex justify-center text-xs",children:e.jsx("span",{className:"bg-white px-2 text-gray-400",children:"or create account with email"})})]}),e.jsxs("form",{onSubmit:Pe,className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"companyName",children:"Company Name"}),e.jsx(h,{id:"companyName",placeholder:"Acme Construction",value:c.companyName,onChange:t=>p("companyName",t.target.value),required:!0,"data-testid":"input-company-name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"slug",children:"Your URL"}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(h,{id:"slug",placeholder:"acme-construction",value:c.slug,onChange:t=>p("slug",t.target.value),required:!0,"data-testid":"input-slug"}),e.jsx("span",{className:"text-sm text-gray-400 whitespace-nowrap",children:".oriamarketing.com"})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"state",children:"State"}),e.jsxs(me,{value:c.state,onValueChange:t=>p("state",t),children:[e.jsx(ge,{"data-testid":"select-state",children:e.jsx(he,{placeholder:"Select state"})}),e.jsx(xe,{children:ve.map(t=>e.jsx(ye,{value:t.code,children:t.name},t.code))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"businessType",children:"Business Type"}),e.jsxs(me,{value:c.businessType,onValueChange:t=>p("businessType",t),children:[e.jsx(ge,{"data-testid":"select-business-type",children:e.jsx(he,{placeholder:"Select type"})}),e.jsx(xe,{children:De.map(t=>e.jsx(ye,{value:t.value,children:t.label},t.value))})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"licenseNumber",children:"License #"}),e.jsx(h,{id:"licenseNumber",placeholder:"e.g. 1234567",value:c.licenseNumber,onChange:t=>p("licenseNumber",t.target.value),"data-testid":"input-license-number"})]}),e.jsx("hr",{className:"my-2"}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"ownerName",children:"Your Name"}),e.jsx(h,{id:"ownerName",placeholder:"John Doe",value:c.ownerName,onChange:t=>p("ownerName",t.target.value),required:!0,"data-testid":"input-owner-name"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"ownerEmail",children:"Email"}),e.jsx(h,{id:"ownerEmail",type:"email",placeholder:"[email protected]",value:c.ownerEmail,onChange:t=>p("ownerEmail",t.target.value),required:!0,"data-testid":"input-owner-email"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"password",children:"Password"}),e.jsx(h,{id:"password",type:"password",placeholder:"Min. 12 characters",value:c.password,onChange:t=>p("password",t.target.value),required:!0,minLength:12,"data-testid":"input-password"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(g,{htmlFor:"phone",children:"Phone (optional)"}),e.jsx(h,{id:"phone",type:"tel",placeholder:"(555) 123-4567",value:c.phone,onChange:t=>p("phone",t.target.value),"data-testid":"input-phone"}),e.jsxs("div",{className:"flex items-start gap-2 mt-2",children:[e.jsx("input",{type:"checkbox",id:"smsConsent",checked:c.smsConsent,onChange:t=>q(a=>({...a,smsConsent:t.target.checked})),className:"mt-1","data-testid":"checkbox-sms-consent"}),e.jsxs("label",{htmlFor:"smsConsent",className:"text-xs text-gray-500",children:["(Optional) I agree to re
1ceive SMS notifications from Oria Marketing including lead alerts, appointment reminders, and account updates. Up to 10 msgs/month. Msg & data rates may apply. Reply STOP to unsubscribe, HELP for help. Consent is not required to use the platform."," ",e.jsx("a",{href:"/terms-of-service",className:"underline",children:"Terms"})," &"," ",e.jsx("a",{href:"/privacy-policy",className:"underline",children:"Privacy Policy"}),"."]})]})]}),e.jsx(Ie,{onVerify:J,onExpire:()=>J("")}),K&&e.jsx("p",{className:"text-sm text-red-600","data-testid":"text-error",children:K}),e.jsx(v,{type:"submit",className:`w-full font-semibold ${d?"bg-teal-600 hover:bg-teal-700 text-white":"bg-amber-500 hover:bg-amber-600 text-white"}`,disabled:_||Z&&!$,"data-testid":"button-signup",children:_?e.jsxs(e.Fragment,{children:[e.jsx(j,{className:"w-4 h-4 mr-2 animate-spin"}),"Creating account..."]}):d?"Create Account & Pay →":"Create Account & Start Free Trial →"}),e.jsx("p",{className:"text-center text-xs text-gray-400",children:d?"You'll be taken to secure checkout after account creation. Full access starts immediately.":"7-day free trial. Credit card collected during onboarding. Cancel anytime."}),e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("button",{type:"button",onClick:()=>F("plan"),className:"text-amber-600 font-medium hover:underline text-xs","data-testid":"link-change-plan",children:"← Change plan"}),e.jsxs("p",{className:"text-gray-500",children:["Already have an account?"," ",e.jsx("a",{href:"/login",className:"text-amber-600 font-medium hover:underline","data-testid":"link-login",children:"Sign In"})]})]})]})]})]})})}export{st 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.