1import{au as f,j as e,C as s,$ as i,T as n,D as h,G as o,E as r,aw as l,W as u,X as c,av as g,a7 as w,ae as y,az as b,aA as x,aB as j}from"./index-dE8a1mPK.js";import{R as k}from"./RiskBadge-DX_mBJmP.js";import{S as v}from"./SimpleGrid-DkEuk0DW.js";import{I as P}from"./IconArrowRight-Ajq43paw.js";import{I}from"./IconHeart-CFNXoJCy.js";import{I as z}from"./IconCalendar-OaV4qSkS.js";import{I as C}from"./IconUserPlus-zPvIjFMg.js";import{I as L}from"./IconRoute-BmxJMQgj.js";const S=[{to:"/campaigns/new/dm",feature:"dmOutreachCampaign",minPlan:"Starter",icon:e.jsx(y,{size:28}),title:"DM Outreach",blurb:"Send personalized DMs to a list of prospects. Multi-step sequences with auto-follow-ups, spintax, multi-account rotation.",status:"ready",fanout:"multi",riskLevel:"moderate"},{to:"/campaigns/new/auto-engage",feature:"autoEngageCampaign",minPlan:"Pro",icon:e.jsx(I,{size:28}),title:"Auto Engage",blurb:"Continuously discover tweets matching keywords and engage (like / retweet / AI-generated reply) based on a tunable action mix.",status:"ready",fanout:"single",riskLevel:"moderate"},{to:"/campaigns/new/posts",feature:"autoPostsCampaign",minPlan:"Starter",icon:e.jsx(z,{size:28}),title:"Automated Posts",blurb:"Always-on top-of-feed presence. AI-generated tweets driven by your brand profile and topic angles, scheduled within working hours.",status:"ready",fanout:"single",riskLevel:"safe"},{to:"/campaigns/new/follow-unfollow",feature:"followUnfollowCampaign",minPlan:"Starter",icon:e.jsx(C,{size:28}),title:"Follow / Unfollow",blurb:"Follow a list of prospects, wait N days, unfollow anyone who didnât follow back. The classic growth play with caps + working hours applied.",status:"ready",fanout:"multi",riskLevel:"moderate"},{to:"/campaigns/new/sequence",feature:"sequenceCampaign",minPlan:"Pro",icon:e.jsx(L,{size:28}),title:"Sequence",blurb:"Multi-step drip across days: follow â reply â @-post â DM â follow-up. Each step can wait days and skip itself if the prospect already replied / followed back.",status:"ready",fanout:"single",riskLevel:"moderate"},{to:"/campaigns/new/reply-boost",feature:"autoEngageCampaign",minPlan:"Pro",icon:e.jsx(b,{size:28}),title:"Reply Boost",blurb:"When one of your own posts takes off, engage the people commenting on it â while they are still in the thread. Nothing to queue up front; it watches what you publish.",status:"ready",fanout:"multi",riskLevel:"safe"},{to:"/reply-guy",icon:e.jsx(x,{size:28}),title:"Reply Guy",blurb:"Watch up to 20 influencer accounts. The moment any of them tweet, AI drafts a high-quality reply within ~90 seconds. You approve, it sends. Compounds impressions from the right replies.",status:"ready",fanout:"single",riskLevel:"moderate"},{to:"/bait",feature:"baitCampaign",minPlan:"Pro",icon:e.jsx(j,{size:28}),title:"Bait",blurb:"Attach a tweet of yours; the worker pipes everyone who replies into a list. Pair with a Sequence on that list to close the loop: bait â engagers â list â sequence â pipeline.",status:"ready",fanout:"single",riskLevel:"safe"}],p={single:{label:"1 account",tooltip:"Multi-account on the same feed gets flagged. Pick one."},multi:{label:"1+ accounts",tooltip:"Round-robins across accounts you select. Distributes load + lowers per-account risk."}};function U(){const{hasFeature:d,planLabel:m}=f();return e.jsxs(s,{gap:"md",children:[e.jsx(i,{order:2,children:"New campaign"}),e.jsx(n,{c:"dimmed",size:"sm",children:"Pick the type of campaign to create."}),e.jsx(v,{cols:{base:1,sm:2,md:3},spacing:"md",children:S.map(a=>{const t=a.feature&&!d(a.feature);return e.jsx(h,{withBorder:!0,p:"lg",style:t?{opacity:.65}:void 0,children:e.jsxs(s,{gap:"sm",h:"100%",children:[e.jsxs(o,{justify:"space-between",align:"flex-start",wrap:"nowrap",children:[e.jsx("div",{children:a.icon}),e.jsxs(o,{gap:6,wrap:"wrap",justify:"flex-end",children:[t&&e.jsxs(r,{variant:"light",color:"dark",leftSection:e.jsx(l,{size:10}),children:[a.minPlan,"+"]}),a.riskLevel&&e.jsx(k,{level:a.riskLevel,compact:!0}),a.fanout&&e.jsx(u,{label:p[a.fanout].tooltip,multiline:!0,w:240,withArrow:!0,children:e.jsx(r,{variant:"light",color:a.fanout==="multi"?"blue":"gray",children:p[a.fanout].label})})]})]}),e.jsx(i,{order:4,children:a.title}),e.jsx(n,{size:"sm",c:"dimmed",style:{flex:1},children:a.blurb}),e.jsx(o,{justify:"flex-end",children:t?e.jsx(u,{label:`Your ${m} plan doesn't include this. Upgrade to ${a.minPlan} or above.`,withArrow:!0,children:e.jsxs(c,{onClick:()=>g({reason:`${a.title} is in the ${a.minPlan} plan and above.`,code:"plan-gate"}),variant:"light",color:"dark",leftSection:e.jsx(l,{size:14}),children:["Upgrade to ",a.minPlan]})}):e.jsx(c,{component:w,to:a.to,rightSection:e.jsx(P,{size:14}),children:"Start"})})]})},a.to)})})]})}export{U 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.