Split CTA With Thread
A split call-to-action on a soft `bg-muted` panel: an eyebrow, light heading, paragraph, and two accent buttons sit beside an image tile. A small floating card overlaps the image, mocking a team message thread with a couple of chat bubbles, avatar initials, and short text.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, avatar-initials, media-slot dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/split-cta-with-thread.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta75.tsx instead.
Usage
The file also exports cta75Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Cta75, cta75Demo } from "@/components/blocks/cta/cta75"; export default function Page() { return <Cta75 {...cta75Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | "Built for teams" | Small pill label above the heading. |
| heading | string | "Keep every thread in one place" | Light-weight headline. |
| description | string | none | Short supporting paragraph. |
| primaryLabel | string | "Start free trial" | Label for the primary button. |
| primaryHref | string | "#" | Link target for the primary button. |
| secondaryLabel | string | "Watch demo" | Label for the secondary (outline) button. |
| secondaryHref | string | "#" | Link target for the secondary button. |
| image | MediaSlotImage | none | Image shown in the tile beside the text column. |
| messages | ThreadMessage[] | none | Up to 3 chat messages shown in the floating thread card, each with a sender name and short text. |
| className | string | none | Extra classes for the outer section element. |
Types
interface ThreadMessage { name: string; text: string; }
Behavior notes
- The floating thread card is a static, absolutely-positioned mock with fixed demo copy and avatar initials derived from name; it's not a live chat integration.
- Both buttons are inert links (`render={<Link/>}`); no form submission or real navigation logic is wired up.
More CTA Blocks
View all →centered-newsletter-cta
Centered Newsletter CTA
Minimal centered call-to-action with heading, description, and action buttons.
split-layout-newsletter-cta
Split Layout Newsletter CTA
Two-column call-to-action with a decorative image on one side and a feature list plus subscribe form on the other.
newsletter-social-proof-cta
Newsletter CTA with Social Proof
Newsletter call-to-action with an avatar stack, subscriber count, and a testimonial quote.
banner-cta
Banner CTA
Horizontal banner call-to-action with heading and action buttons side by side.
stats-cta
Stats CTA
Call-to-action section with impressive statistics and trust indicators above action buttons.
multi-card-cta
Multi-Card CTA
Three action cards side by side, each offering a different path to conversion.