Split Comparison CTA
Side-by-side comparison cards showing a free tier and a pro tier, each with a short feature list and its own call-to-action button. The pro card is visually accented with a border, shadow, and a badge to draw the eye. Perfect for upgrade and upsell sections.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, badge dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/split-comparison-cta.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/cta/cta17.tsx instead.
Usage
The file also exports cta17Demo, 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 { Cta17, cta17Demo } from "@/components/blocks/cta/cta17"; export default function Page() { return <Cta17 {...cta17Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Find the right plan for you" | Heading above the cards. |
| description | string | "Start free and upgrade whenever you're ready for more." | Short supporting copy under the heading. |
| freeTitle | string | "Free" | Title of the left (muted) card. |
| freeDescription | string | "For trying things out." | Short description under the free card's title. |
| freeFeatures | string[] | none | Feature list rows shown on the free card. |
| freeButtonLabel | string | "Continue with Free" | Label for the free card's button. |
| freeButtonHref | string | "#" | Link target for the free card's button. |
| proTitle | string | "Pro" | Title of the right (accented) card. |
| proDescription | string | "For teams that ship often." | Short description under the pro card's title. |
| proBadgeLabel | string | "Recommended" | Badge text shown next to the pro card's title. |
| proFeatures | string[] | none | Feature list rows shown on the pro card. |
| proButtonLabel | string | "Upgrade to Pro" | Label for the pro card's button. |
| proButtonHref | string | "#" | Link target for the pro card's button. |
| className | string | none | Extra classes for the outer section element. |
Behavior notes
- Layout only: the free card uses a muted background and a plain outline button, the pro card uses a primary-colored border, a subtle shadow, and a solid button, plus a small `Badge` next to its title, to read as the recommended option.
- Both cards' buttons are inert links (`render={<Link/>}`) pointing at `#` by default; there is no real checkout or upgrade flow wired up.
- Feature rows are a flat, pre-sorted list rendered with a checkmark icon; there is no diff/highlight logic comparing the two lists against each other.
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.