1import{j as e}from"./vendor-query-DvnPdOMX.js";import{r as s,L as N}from"./vendor-react-woJBpfBI.js";import{T as x}from"./CompetitorVsTrakkrLayout-Cayt_XhO.js";import"./PricingFitCalculator-DTCDEkBP.js";import"./GridPattern-CUKfSmKl.js";import"./TrakkrNav-0CTZJrZm.js";import{C,S}from"./index-1YQNuixL.js";import"./FAQAccordion-DUcEzjlR.js";import{H as E,d as F,a as b,F as v,G as j,P as I,g as L,S as y,E as O}from"./HubLayout-CJKM_wB8.js";import"./ArticleLayout-d86MzwDT.js";import"./DomainInput-vUg1URTx.js";import"./PlatformShowcase-DHfwZ9TU.js";import"./Pricing-ptq4m-7K.js";import{g as $,a as A}from"./articles-loader-CB9zEpO7.js";import{b6 as R,q as w,m as _}from"./vendor-icons-BLMEbmRV.js";import"./loader-D29pARao.js";import"./index-5-ANdmUr.js";import"./product-facts-BSPHiX2M.js";import"./vendor-facts-gbUlqRZ5.js";import"./SwitchingOffer-DLsi5sO5.js";import"./promptImport-BOEXxqiw.js";import"./pricing-benchmark-McydAlyS.js";import"./nav-data-CoOJgUd4.js";import"./customer-proof-CZMea5q8.js";import"./status-DzUBJRaD.js";import"./vendor-supabase-DaZXgOw0.js";import"./vendor-utils-BNe0Xlio.js";import"./vendor-motion-ZmH_6coE.js";import"./MarketingShell-DU3RRca3.js";import"./DotGrid-BktcFMjn.js";import"./TrackDemo-Bs15bVwj.js";import"./ShipDemoUltimate-ac0Oi3F4.js";import"./pricing-intent-ffJOWNUd.js";import"./fetch-json-Brek8T8D.js";const g=C.growthMonthlyShort,h=[{slug:"profound-vs-trakkr",competitorName:"Profound",competitorDomain:"tryprofound.com",hook:`Trakkr ${g} vs Profound's free one-off Trial and custom Enterprise. Compare coverage, workflow, and trials.`,href:"/compare/profound-vs-trakkr"},{slug:"athenahq-vs-trakkr",competitorName:"AthenaHQ",competitorDomain:"athenahq.ai",hook:"Credit-based pricing vs fixed monthly. Action workflows compared head-to-head.",href:"/compare/athenahq-vs-trakkr"},{slug:"conductor-vs-trakkr",competitorName:"Conductor",competitorDomain:"conductor.com",hook:"Enterprise SEO suite vs focused AI visibility. Where each one earns its price.",href:"/compare/conductor-vs-trakkr"},{slug:"otterly-vs-trakkr",competitorName:"Otterly AI",competitorDomain:"otterly.ai",hook:`Two self-serve tools, different depth ceilings. Which one to pick at ${g} vs $189.`,href:"/compare/otterly-vs-trakkr"},{slug:"writesonic-vs-trakkr",competitorName:"Writesonic",competitorDomain:"writesonic.com",hook:"Content-suite-with-AEO vs visibility-first. The honest comparison.",href:"/compare/writesonic-vs-trakkr"},{slug:"aiclicks-vs-trakkr",competitorName:"AIClicks",competitorDomain:"aiclicks.io",hook:`AIClicks $79 entry vs Trakkr ${g}. The differences only show up once you scale.`,href:"/compare/aiclicks-vs-trakkr"}],H=s.memo(function({item:o,index:a,isLoaded:c}){return e.jsxs(N,{to:o.href,className:` 2 group flex items-center gap-4 px-5 py-4 border-t border-default first:border-t-0 3 hover:bg-muted/30 transition-all duration-300 4 ${c?"opacity-100":"opacity-0"} 5 `,style:{transitionDelay:`${Math.min(a,20)*30}ms`,transitionTimingFunction:y},children:[e.jsxs("div",{className:"flex items-center -space-x-2 flex-shrink-0",children:[e.jsx(x,{domain:o.competitorDomain,name:o.competitorName,size:28}),e.jsx(x,{domain:"trakkr.ai",name:"Trakkr",size:28})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs("h3",{className:"text-[15px] font-medium text-primary group-hover:text-accent transition-colors duration-150 truncate",children:[o.competitorName," vs Trakkr"]}),e.jsx("span",{className:"flex-shrink-0 text-[9px] font-semibold uppercase tracking-wider text-accent bg-accent-subtle px-1.5 py-0.5 rounded",children:"Featured"})]}),e.jsx("p",{className:"text-[13px] text-secondary truncate",children:o.hook})]}),e.jsxs("div",{className:"hidden sm:flex items-center gap-4 flex-shrink-0",children:[e.jsx("span",{className:"text-[11px] text-muted tabular-nums",children:"Head-to-head"}),e.jsx(w,{size:14,strokeWidth:1.5,className:"text-muted opacity-0 group-hover:opacity-100 group-hover:translate-x-0.5 transition-all duration-150"})]})]})}
5),P=s.memo(function({activeFilter:o,onFilterChange:a,counts:c,searchQuery:n,onSearchChange:p,isLoaded:d}){const m=[{key:"all",label:"All"},{key:"trakkr",label:"Trakkr vs..."},{key:"competitors",label:"Tool vs Tool"}];return e.jsxs("div",{className:`px-5 py-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 border-b border-default transition-all duration-500 ${d?"opacity-100":"opacity-0"}`,style:{transitionDelay:"200ms",transitionTimingFunction:y},children:[e.jsx("div",{className:"flex items-center gap-2",children:m.map(r=>e.jsxs("button",{onClick:()=>a(r.key),className:`px-3 py-1.5 text-[13px] font-medium rounded transition-all duration-150 ${o===r.key?"bg-accent-subtle text-accent":"text-secondary hover:text-primary hover:bg-muted"}`,children:[r.label,e.jsx("span",{className:"ml-1.5 text-[11px] opacity-60 tabular-nums",children:c[r.key]})]},r.key))}),e.jsxs("div",{className:"relative",children:[e.jsx(_,{size:14,strokeWidth:1.5,className:"absolute left-3 top-1/2 -translate-y-1/2 text-muted"}),e.jsx("input",{type:"text",placeholder:"Search tools...",value:n,onChange:r=>p(r.target.value),className:"w-full sm:w-64 pl-9 pr-4 py-2 text-[13px] border border-default rounded bg-surface focus:outline-none focus:border-accent focus:ring-1 focus:ring-accent/10 transition-all duration-150"})]})]})}),D=s.memo(function({article:o,index:a,isLoaded:c}){const n=o.mode==="trakkr_vs_competitor";return e.jsxs(N,{to:`/compare/${A(o.slug)}`,className:` 6 group flex items-center gap-4 px-5 py-4 border-t border-default first:border-t-0 7 hover:bg-muted/30 transition-all duration-300 8 ${c?"opacity-100":"opacity-0"} 9 `,style:{transitionDelay:`${Math.min(a,20)*20}ms`,transitionTimingFunction:y},children:[e.jsxs("div",{className:"flex items-center -space-x-2 flex-shrink-0",children:[e.jsx(x,{domain:o.toolA.domain,name:o.toolA.name,size:28}),e.jsx(x,{domain:o.toolB.domain,name:o.toolB.name,size:28})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxs("h3",{className:"text-[15px] font-medium text-primary group-hover:text-accent transition-colors duration-150 truncate",children:[o.toolA.name," vs ",o.toolB.name]}),n&&e.jsx("span",{className:"flex-shrink-0 text-[9px] font-semibold uppercase tracking-wider text-accent bg-accent-subtle px-1.5 py-0.5 rounded",children:"Trakkr"})]}),e.jsx("p",{className:"text-[13px] text-secondary truncate",children:o.description})]}),e.jsxs("div",{className:"hidden sm:flex items-center gap-4 flex-shrink-0",children:[e.jsxs("span",{className:"text-[11px] text-muted tabular-nums",children:[o.readingTime," min"]}),e.jsx(w,{size:14,strokeWidth:1.5,className:"text-muted opacity-0 group-hover:opacity-100 group-hover:translate-x-0.5 transition-all duration-150"})]})]})}),M=s.memo(function({articles:o,isLoaded:a,displayCount:c,onLoadMore:n}){if(o.length===0)return e.jsx(O,{message:"No comparisons match your search."});const p=o.slice(0,c),d=o.length>c,m=o.length-c;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"divide-y divide-default",children:p.map((r,u)=>e.jsx(D,{article:r,index:u,isLoaded:a},r.slug))}),d&&e.jsx("div",{className:"px-5 py-4 border-t border-default",children:e.jsxs("button",{onClick:n,className:"w-full py-2.5 text-[13px] font-medium text-accent hover:bg-accent-subtle rounded transition-colors duration-150",children:["Load more (",m," remaining)"]})})]})});function ve(){const[l,o]=s.useState("all"),[a,c]=s.useState(""),[n,p]=s.useState(!1),[d,m]=s.useState(20),r=s.useMemo(()=>$(),[]);s.useEffect(()=>{window.scrollTo(0,0);const t=setTimeout(()=>p(!0),50);return()=>clearTimeout(t)},[]),s.useEffect(()=>{m(20)},[l,a]);const u=s.useMemo(()=>{let t=r;if(l==="trakkr"?t=t.filter(i=>i.mode==="trakkr_vs_competitor"):l==="competitors"&&(t=t.filter(i=>i.mode==="competitor_vs_competitor")),a.trim()){const i=a.toLowerCase();t=t.filter(f=>f.toolA.name.toLowerCase().includes(i)||f.toolB.name.toLowerCase().includes(i)||f.title.toLowerCase().includes(i))}return t},[r,l,a]),k=s.useMemo(()=>({all:r.length,trakkr:r.filter(t=>t.mode==="trakkr_vs_competitor").length,competitors:r.filter(t=>t.mode==="competitor_vs_competitor").length}),[r]),T=s.useMemo(()=>({name:"Trakkr tool comparison guides",description:"Head-to-head comparison pages for AI visibility, SEO, and marketing tools.",itemListOrder:"https://schema.org/ItemListOrderAscending",items:[...h.map((t,i)=>({name:`${t.competitorName} vs Trakkr`,url:t.href,description:t.hook,position:i+1})),...r.map((t,i)=>({name:t.title,url:`/compare/${A(t.slug)}`,description:t.description,position:h.length+i+1}))]}),[r]);return e.jsxs(E,{children:[e.jsx(S,{title:"Tool Comparisons | Trakkr",description:"Head-to-head comparisons of AI visibility, SEO, and marketing tools. Find the right solution for tracking your brand in AI search.",path:"/compare",type:"CollectionPage",breadcrumbs:[{name:"Resources",path:"/resources"},{name:"Compare",path:"/compare"}],keywords:["tool comparisons","AI visibility tools","SEO tool comparison","marketing tool comparison"],itemList:T}),e.jsx(F,{badge:"Compare",BadgeIcon:R,title:"Tool comparisons",de
9scription:"Head-to-head comparisons of AI visibility, SEO, and marketing tools. Find the right solution for your brand.",stats:[{label:"comparisons",value:r.length},{label:"featuring Trakkr",value:k.trakkr},{label:"tool-vs-tool",value:k.competitors}],isLoaded:n}),e.jsx(b,{number:"01",title:"Featured head-to-heads",subtitle:`${h.length} bespoke comparisons`}),e.jsx(v,{children:e.jsxs(j,{children:[e.jsx("div",{className:"px-5 py-3 border-b border-default text-[12px] text-muted leading-relaxed",children:"Hand-built side-by-sides with full pricing tables, cost-per-prompt math, platform coverage matrices, and use-case fit. Updated against public pricing pages within the last 30 days."}),h.map((t,i)=>e.jsx(H,{item:t,index:i,isLoaded:n},t.slug))]})}),e.jsx(b,{number:"02",title:"All Comparisons",subtitle:`${u.length} articles`}),e.jsx(v,{children:e.jsxs(j,{children:[e.jsx(P,{activeFilter:l,onFilterChange:o,counts:k,searchQuery:a,onSearchChange:c,isLoaded:n}),e.jsx(M,{articles:u,isLoaded:n,displayCount:d,onLoadMore:()=>m(t=>t+20)}),e.jsx(I,{items:[`${r.length} total comparisons`,"Updated weekly","AI-powered analysis"],isLoaded:n})]})}),e.jsx(L,{title:"Ready to compare your AI visibility?",description:"See how your brand stacks up against competitors in ChatGPT, Claude, and Perplexity.",isLoaded:n})]})}export{ve as CompareHome,ve 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.