1import{r as k,j as e}from"./vendor-react-Dqm4a0k5.js";import{a as D}from"./vendor-query-BQV4-hhd.js";import{W as M,n as K,v as S,H as R,I as P,t as U,o as A,X as I,P as v,x as O,u as z,s as _}from"./index-DsUIL5GE.js";import{s as H,r as G}from"./featureVisits-KWpJYMPZ.js";import{p as B,ak as Q,aG as X,Q as V,V as J,X as E,b as N,A as L,k as Z,m as ee,aH as te}from"./vendor-icons-Dv6Y7wXg.js";import"./vendor-supabase-RijQlDjE.js";import"./vendor-utils-KLhAiGEE.js";import"./radix-react-slot-CrO6XSQS.js";import"./radix-react-compose-refs-IIetlP92.js";function se(x){const{user:b}=z(),{data:o}=D({queryKey:["prospect_tool_count",b?.id],enabled:x&&!!b?.id,staleTime:5*6e4,queryFn:async()=>{try{const[c,y]=await Promise.all([_.from("tools").select("id",{count:"exact",head:!0}),_.from("appsumo_products").select("uuid",{count:"exact",head:!0})]);return c.error||y.error?null:(c.count??0)+(y.count??0)}catch{return null}}});return typeof o=="number"&&o>0?o:null}const ae=[{icon:X,label:"Claude & ChatGPT connection (MCP)",detail:"ask your stack anything, from the AI you already use"},{icon:V,label:"AI Search + Stack Agent",detail:"find, deduplicate and act across everything you own"},{icon:J,label:"Duplicate & refund alerts",detail:"the deadline-savers that pay for the plan"},{icon:B,label:"Tool update & shutdown alerts",detail:"know when a tool you own changes or dies"}];function xe({segmentOverride:x,trialDaysOverride:b}={}){const o=M(),c=x??o.segment,y=x??o.analyticsSegment,w=x!==void 0?b??null:o.trialDaysRemaining,a=c==="trial",f=a||c==="free",s=se(f),{config:r}=K(),[T,$]=k.useState(S(r.offer_mode));k.useEffect(()=>{$(S(r.offer_mode))},[r.offer_mode]);const u=R(r.offer_mode,T),W=P(r.offer_mode);if(k.useEffect(()=>{f&&U("upgrade_page_viewed",{segment:c,toolCount:s??void 0})},[f,c,s]),!f)return null;const d=v.free.toolsLimit??0,h=v.pro.toolsLimit??0,q=v.pro.monthlyCredits,Y=v.team.monthlyCredits,j=v.team.chromeExtensionSeats,p=A(r,"pro",u).price,m=A(r,"team",u).price,n=u==="lifetime",i=n?"once":"a year",C=H(s),g=G(s)==="TEAM",l=g?{name:"Pro",price:m}:{name:"Starter",price:p},F=t=>()=>O({cta_location:t,plan_segment:y});return e.jsxs("div",{"data-testid":"prospect-upgrade",children:[e.jsx("section",{className:"bg-v2-bg","aria-labelledby":"prospect-status-heading",children:e.jsxs("div",{className:"max-w-[1080px] mx-auto px-4 sm:px-6 pt-2 pb-12 md:pb-16 text-center",children:[e.jsx("p",{className:"inline-flex items-center gap-2 px-4 py-2 rounded-v2-pill border border-v2-line bg-v2-bg-2 text-v2-sm font-semibold",children:a?e.jsxs(e.Fragment,{children:[e.jsx(B,{className:"h-4 w-4 text-v2-warn","aria-hidden":!0}),e.jsx("span",{className:"text-v2-warn",children:I(w)})]}):e.jsxs(e.Fragment,{children:[e.jsx(Q,{className:"h-4 w-4 text-v2-mint","aria-hidden":!0}),e.jsxs("span",{className:"text-v2-ink",children:["Youâre on Free",s!=null?e.jsxs(e.Fragment,{children:[" â ",s," tools in your library"]}):null]})]})}),e.jsx("h2",{id:"prospect-status-heading",className:"font-display font-bold text-v2-2xl md:text-v2-3xl text-v2-ink mt-6 mb-4 tracking-[-0.02em] leading-[1.05]",style:{textWrap:"balance"},children:a?"Donât let your setup expire.":"Your stack has outgrown Free."}),e.jsx("p",{className:"text-v2-lg text-v2-muted max-w-[58ch] mx-auto",children:a?e.jsxs(e.Fragment,{children:[s!=null?`Youâve already organized ${s} tools. `:"","When the trial ends your account drops to the Free plan â ",d," tools, no AI.",n?" One payment keeps everything youâve set up, forever.":" A paid plan keeps everything youâve set up."]}):e.jsxs(e.Fragment,{children:["Free tracks up to ",d," tools with no AI features."," ",g?e.jsxs(e.Fragment,{children:["Pro is $",m," ",i,n?" â not a subscription â ":" â ","and tracks unlimited tools with the whole system unlocked."]}):e.jsxs(e.Fragment,{children:["Starter is $",p," ",i,n?" â not a subscription â ":" â ","and unlocks the whole system",n?" for good":"","."]})]})})]})}),e.jsx("section",{className:"bg-v2-bg","aria-labelledby":"prospect-compare-heading",children:e.jsxs("div",{className:"max-w-[1080px] mx-auto px-4 sm:px-6 pb-14 md:pb-20",children:[e.jsx("h3",{id:"prospect-compare-heading",className:"sr-only",children:a?"What you keep versus what you lose":`Free versus ${l.name}`}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2 items-stretch",children:[e.jsxs("div",{className:"rounded-v2-xl border border-v2-line bg-v2-bg-2 p-6 sm:p-8",children:[e.jsx("p",{className:"text-v2-xs uppercase tracking-[0.14em] font-semibold text-v2-muted mb-5",children:a?"When your trial ends, you lose":"What Free leaves locked"}),e.jsxs("ul",{className:"flex flex-col gap-4",role:"list",children:[ae.map(t=>e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(E,{className:"h-4 w-4 mt-1 shrink-0 text-v2-warn","aria-hidden":!0}),e.jsxs("span",{className:"text-v2-sm text-v2-muted",children:[e.jsx("span",{className:"font-semibold text-v2-ink",children:t.label})," â ",t.detail]})]},t.label)),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(E,{className:"h-4 w-4 mt-1 shrink-0 text-v2-warn","aria-hidden":!0}),e.jsxs("span",{className:"text-v2-sm text-v2-muted",children:[e.jsxs("span",{className:"font-semibold text-v2-ink",children:["Tracking beyond ",d," tools"]})," â ","the Free plan caps active tracking at ",d]})]})]})]}),e.jsxs("div",{className:"rounded-v2-xl border p-6 sm:p-8",style:{borderColor:"rgba(46, 234, 204, 0.45)",background:"rgba(46, 234, 204, 0.05)"},children:[W&&e.jsx("div",{className:"mb-4 flex justify-center","data-testid":"prospect-billing-toggle",children:e.jsx("div",{role:"group","aria-label":"Billing",className:"inline-flex items-center rounded-v2-pill border border-v2-line bg-v2-bg-2 p-0.5",children:["lifetime","yearly"].map(t=>e.jsx("button",{type:"button","aria-pressed":u===t,onClick:()=>$(t),className:u===t?"rounded-v2-pill px-3 py-1 text-v2-xs font-semibold bg-v2-mint text-[#00302a]":"rounded-v2-pill px-3 py-1 text-v2-xs font-medium text-v2-muted hover:text-v2-ink",children:t==="lifetime"?"Lifetime":"Annual"},t))})}),e.jsx("p",{className:"text-v2-xs uppercase tracking-[0.14em] font-semibold text-v2-mint mb-5",children:a?`${l.name} keeps it all â $${l.price}, ${i}`:`${l.name} unlocks it all â $${l.price}, ${i}`}),e.jsxs("ul",{className:"flex flex-col gap-4",role:"list",children:[e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(N,{className:"h-4 w-4 mt-1 shrink-0 text-v2-mint","aria-hidden":!0}),e.jsxs("span",{className:"text-v2-sm text-v2-muted",children:[e.jsx("span",{className:"font-semibold text-v2-ink md:hidden",children:"Everything above, permanently"}),e.jsx("span",{className:"font-semibold text-v2-ink hidden md:inline",children:"Everything on the left, permanently"})," â ","MCP, AI Search, Stack Agent and every alert"]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(N,{className:"h-4 w-4 mt-1 shrink-0 text-v2-mint","aria-hidden":!0}),e.jsx("span",{className:"text-v2-sm text-v2-muted",children:g?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-v2-ink",children:"Unlimited tools tracked"}),s!=null?e.jsxs(e.Fragment,{children:[" â ","your ",s," included, and whatever you buy next"]}):e.jsxs(e.Fragment,{children:[" â ","no cap, ever"]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"font-semibold text-v2-ink",children:[h," tools tracked"]}),s!=null?e.jsxs(e.Fragment,{children:[" â ","room for your ",s," and then some"]}):e.jsxs(e.Fragment,{children:[" â ",Math.round(h/d),"Ã the Free limit"]})]})})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(N,{className:"h-4 w-4 mt-1 shrink-0 text-v2-mint","aria-hidden":!0}),e.jsxs("span",{className:"text-v2-sm text-v2-muted",children:[e.jsxs("span",{className:"font-semibold text-v2-ink",children:[g?`${Y.toLocaleStr
1ing()} pooled`:q," AI credits / month"]})," â ","plus BYOK when you want your own key"]})]}),e.jsxs("li",{className:"flex items-start gap-3",children:[e.jsx(N,{className:"h-4 w-4 mt-1 shrink-0 text-v2-mint","aria-hidden":!0}),e.jsx("span",{className:"text-v2-sm text-v2-muted",children:g?e.jsxs(e.Fragment,{children:[e.jsxs("span",{className:"font-semibold text-v2-ink",children:[j," seats + Team Hub"]})," â ","Chrome extension on every one, one-click AppSumo import"]}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"font-semibold text-v2-ink",children:"Chrome extension"})," â ","one-click AppSumo import"]})})]})]}),e.jsxs("a",{href:"#pricing",onClick:F("upgrade_body"),className:"mt-7 inline-flex items-center gap-2 px-6 py-3.5 rounded-v2-pill bg-v2-mint text-[#00302a] font-semibold text-v2-base hover:bg-v2-mint-2 transition-all focus:outline-none focus:ring-2 focus:ring-v2-mint focus:ring-offset-2 focus:ring-offset-v2-bg",style:{boxShadow:"0 8px 32px -8px var(--v2-mint-glow)"},children:[a?`Keep my setup â $${l.price} ${i}
1`:`Upgrade to ${l.name} â $${l.price} ${i}`,e.jsx(L,{className:"h-4 w-4","aria-hidden":!0})]}),e.jsx("p",{className:"mt-3 text-v2-xs text-v2-faint",children:C?`Need seats or more room? Pro is $${m} ${i} â unlimited tools, ${j} seats, team hub. Both below.`:`Starter is $${p} ${i}, but it caps at ${h} tools â below the ${s} you already have. Both below.`})]})]})]})}),e.jsx("section",{className:"bg-v2-bg","aria-labelledby":"prospect-trust-heading",children:e.jsxs("div",{className:"max-w-[1080px] mx-auto px-4 sm:px-6 pb-14 md:pb-20",children:[e.jsx("h3",{id:"prospect-trust-heading",className:"sr-only",children:"Why upgrading is safe"}),e.jsx("div",{className:"grid gap-4 sm:grid-cols-3",children:[{icon:Z,title:n?"One payment. Ever.":"Cancel whenever.",body:n?"Lifetime means lifetime â no subscription, no renewal, no surprise charge later.":"Billed once a year, cancel any time â no long contract, no early-exit fee."},{icon:ee,title:"7-day refund window",body:"Not what you expected? Full refund within 7 days of purchase, no hoops."},{icon:te,title:"Your data stays yours",body:"Upgrade or donât â your account and tools stay. Export or delete any time."}].map(t=>e.jsxs("div",{className:"rounded-v2-xl border border-v2-line bg-v2-bg-2 p-6",children:[e.jsx(t.icon,{className:"h-5 w-5 text-v2-mint mb-3","aria-hidden":!0}),e.jsx("p",{className:"font-semibold text-v2-ink text-v2-sm mb-1.5",children:t.title}),e.jsx("p",{className:"text-v2-xs text-v2-muted leading-relaxed",children:t.body})]},t.title))})]})}),e.jsx("section",{className:"bg-v2-bg","aria-labelledby":"prospect-faq-heading",children:e.jsxs("div",{className:"max-w-[720px] mx-auto px-4 sm:px-6 pb-14 md:pb-20",children:[e.jsx("h3",{id:"prospect-faq-heading",className:"font-display font-bold text-v2-xl text-v2-ink mb-6 text-center tracking-[-0.01em]",children:"The honest answers"}),e.jsx("div",{className:"flex flex-col gap-3",children:[{q:n?"Is it really a one-time payment?":"What am I actually billed?",a:n?`Yes. $${m} (Pro) or $${p} (Starter) once. DealKeep is built for lifetime-deal buyers â selling you a subscription would be a strange way to do that.`:`$${m}/year (Pro) or $${p}/year (Starter), renewing annually until you cancel.${P(r.offer_mode)?" A one-time lifetime price is also available â switch the toggle above.":""}`},...a?[{q:"What happens if I just let the trial end?",a:`Your account moves to the Free plan: your data stays, active tracking is limited to ${d} tools, and the AI features (MCP, AI Search, Stack Agent) and alerts switch off. Nothing is deleted.`}]:[{q:"What does Free actually include?",a:`Core tracking for up to ${d} tools, forever. The AI layer â MCP, AI Search, Stack Agent â and the alert system are what a paid plan adds.`}],{q:"What if itâs not for me?",a:"Every paid plan has a 7-day refund window from purchase. Ask, and you get your money back."},{q:"Starter or Pro?",a:C?`Starter ($${p}, ${h} tools, solo) fits most deal buyers â including you, at ${s??"your current"} tools. Pro ($${m}) is unlimited tools, ${j} seats, shared stacks and pooled credits.`:`Pro ($${m}): unlimited tools, ${j} seats, shared stacks and pooled credits. Starter caps at ${h} tools and you already have ${s}, so it would not track your whole library.`}].map(t=>e.jsxs("details",{className:"group rounded-v2-lg border border-v2-line bg-v2-bg-2 open:bg-v2-bg-3 transition-colors",children:[e.jsxs("summary",{className:"cursor-pointer list-none px-5 py-4 flex items-center justify-between gap-3 text-v2-sm font-semibold text-v2-ink",children:[e.jsx("span",{children:t.q}),e.jsx("span",{className:"text-v2-muted group-open:rotate-45 transition-transform text-xl leading-none","aria-hidden":!0,children:"+"})]}),e.jsx("div",{className:"px-5 pb-5 text-v2-sm text-v2-muted leading-relaxed",children:t.a})]},t.q))})]})}),e.jsxs("section",{className:"relative overflow-hidden bg-v2-bg text-center","aria-labelledby":"prospect-close-heading",children:[e.jsx("div",{"aria-hidden":!0,className:"absolute inset-x-[15%] inset-y-[25%] -z-10 opacity-60",style:{background:"radial-gradient(ellipse at center, var(--v2-mint-glow), transparent 65%)",filter:"blur(40px)"}}),e.jsxs("div",{className:"relative max-w-[820px] mx-auto px-4 sm:px-6 pb-16 md:pb-24",children:[e.jsx("h3",{id:"prospect-close-heading",className:"font-display font-bold text-v2-2xl md:text-v2-3xl text-v2-ink mb-4 tracking-[-0.02em] leading-[1.05]",style:{textWrap:"balance"},children:a?"Your setup is done. Keep it.":"Youâve done the organizing. Unlock the rest."}),e.jsx("p",{className:"text-v2-lg text-v2-muted mx-auto mb-8 max-w-[54ch]",children:a?`${I(w)}. ${n?"One payment and the countdown stops mattering.":"Pick a plan and the countdown stops mattering."}`:n?"One payment. Every feature. Yours for as long as DealKeep exists.":"Every feature, for as long as your plan runs."}),e.jsxs("a",{href:"#pricing",onClick:F("upgrade_close"),className:"inline-flex items-center gap-2 px-7 py-4 rounded-v2-pill bg-v2-mint text-[#00302a] font-semibold text-v2-base hover:bg-v2-mint-2 hover:-translate-y-
1px transition-all focus:outline-none focus:ring-2 focus:ring-v2-mint focus:ring-offset-2 focus:ring-offset-v2-bg",style:{boxShadow:"0 8px 32px -8px var(--v2-mint-glow)"},children:[a?"Keep everything â choose a plan":"See my upgrade options",e.jsx(L,{className:"h-4 w-4","aria-hidden":!0})]}),e.jsxs("p",{className:"mt-4 text-v2-xs text-v2-faint tracking-[0.04em]",children:[n?"One-time payment · Yours forever":"Billed yearly · cancel anytime"," · 7-day refund window"]})]})]})]})}export{xe 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.