1import{r as n,a as u,j as t,S as b,B as y,L as j,k as N,e as w}from"./index-utzdZf0y.js";const v=["free","hunter","enterprise"];function C(){const o=!!N().accessToken,[c,h]=n.useState(null),[r,p]=n.useState("month"),[d,m]=n.useState(null),[a,i]=n.useState(null);n.useEffect(()=>{u.billingPlans().then(e=>h(v.map(s=>e.plans[s]).filter(Boolean))).catch(()=>i("Could not load pricing. Please retry."))},[]);const g=async e=>{if(!o){window.location.href=`/auth?next=${encodeURIComponent("/pricing")}`;return}if(e.id==="enterprise"){window.open("https://cyble.com/request-demo/","_blank","noopener,noreferrer");return}if(e.id==="free"){window.location.href="/";return}m(e.id),i(null);try{const s=await u.subscribeCheckout("hunter",r);window.location.href=s.url}catch(s){i(w(s)),m(null)}},f=e=>e.id==="free"?{amount:"$0",unit:"forever"}:e.id==="enterprise"?{amount:"Custom",unit:"contact sales"}:r==="year"?{amount:`$${Math.round(e.annualPriceUsd/12)}`,unit:"/mo billed annually"}:{amount:`$${e.monthlyPriceUsd}`,unit:"/mo"};return t.jsxs("div",{className:"mx-auto max-w-5xl",children:[t.jsx(b,{title:"Pricing",description:"MalwareAnalyzer by Cyble pricing: public file and URL analysis is free for everyone. Pro adds private analysis, API access, interactive VM, and hunting.",canonicalPath:"/pricing"}),t.jsxs("div",{className:"text-center",children:[t.jsx("p",{className:"text-micro font-semibold uppercase tracking-wider text-accent-500",children:"Pricing"}),t.jsx("h1",{className:"mt-1 text-3xl font-bold tracking-tight text-text-primary",children:"Simple, transparent plans"}),t.jsx("p",{className:"mx-auto mt-3 max-w-2xl text-text-secondary",children:"Public malware & URL analysis is free for everyone, with the full analysis toolset included. Premium compute (private detonation, deep URL scan, interactive VM, retrohunt, the Agent) spends credits â upgrade for a bigger monthly credit allotment and higher limits."}),t.jsx("div",{className:"mt-4 inline-flex items-center gap-1 rounded-lg border border-border-subtle bg-bg-surface p-1",children:["month","year"].map(e=>t.jsx("button",{onClick:()=>p(e),className:`rounded-md px-3 py-1.5 text-sm transition-colors ${r===e?"bg-cta text-cta-fg":"text-text-secondary hover:text-text-primary"}`,children:e==="month"?"Monthly":"Annual (2 months free)"},e))})]}),a&&t.jsx("p",{className:"mt-4 rounded-md border border-status-danger/30 bg-status-danger/10 px-3 py-2 text-center text-sm text-status-danger",children:a}),t.jsxs("div",{className:"mt-8 grid grid-cols-1 gap-4 md:grid-cols-3",children:[(c??[]).map(e=>{const s=f(e),l=e.id==="hunter";return t.jsxs("div",{className:`flex flex-col rounded-xl border p-5 ${l?"border-accent-500/50 bg-accent-500/10 shadow-sm":"border-border-subtle bg-bg-raised"}`,children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-lg font-bold text-text-primary",children:e.name}),l&&t.jsx("span",{className:"rounded-full bg-cta px-2 py-0.5 text-micro font-semibold uppercase tracking-wide text-white",children:"Popular"})]}),t.jsx("p",{className:"mt-1 text-sm text-text-secondary",children:e.tagline??""}),t.jsxs("div",{className:"mt-4 flex items-baseline gap-1",children:[t.jsx("span",{className:"text-3xl font-bold text-text-primary",children:s.amount}),t.jsx("span",{className:"text-sm text-text-muted",children:s.unit})]}),e.monthlyCredits>0&&t.jsxs("p",{className:"mt-2 text-sm text-text-secondary",children:[t.jsx("span",{className:"font-semibold text-text-primary",children:e.monthlyCredits.toLocaleString()})," credits / month",e.dailyCaps&&e.dailyCaps.detonations>=0?` · ${e.dailyCaps.detonations.toLocaleString()} free detonations/day`:""]}),t.jsx(y,{className:"mt-4 w-full font-semibold",variant:l?void 0:"secondary",onClick:()=>void g(e),disabled:d===e.id,children:d===e.id?"Redirectingâ¦":e.id==="free"?"Start free":e.id==="enterprise"?"Contact sales":o?"Upgrade to Pro":"Sign up for Pro"}),t.jsx("ul",{className:"mt-5 space-y-2",children:(e.highlights??[]).map(x=>t.jsxs("li",{className:"flex items-start gap-2 text-sm text-text-secondary",children:[t.jsx("svg",{className:"mt-0.5 shrink-0 text-verdict-clean",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,
1children:t.jsx("path",{d:"M20 6L9 17l-5-5"})}),x]},x))})]},e.id)}),!c&&!a&&t.jsx("p",{className:"col-span-full text-center text-sm text-text-muted",children:"Loading plansâ¦"})]}),t.jsxs("p",{className:"mt-8 text-center text-xs text-text-muted",children:["Prices in USD. Need more credits without a subscription? Buy one-off credit packs on the"," ",t.jsx(j,{to:"/billing",className:"text-accent-400 hover:underline",children:"Billing"})," page. Cancel anytime."]})]})}export{C as PricingPage}; 2//# sourceMappingURL=PricingPage-CL6GzVA9.js.map
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.