Three Tier Pricing
Three-tier SaaS pricing section: Starter, Pro, and Team columns with feature lists and highlighted middle tier using indigo ring. Dark React pricing table mapped from a plans array. Easy to customize prices.
Dependencies
react
npm install react react-domconst plans = [
{ name: "Starter", price: 0, features: ["5 projects", "Community support"] },
{ name: "Pro", price: 29, features: ["Unlimited projects", "Priority support"], highlight: true },
{ name: "Team", price: 79, features: ["SSO", "Dedicated manager"] },
];
export function ThreeTierPricing() {
return (
<section className="grid gap-6 px-6 py-16 md:grid-cols-3">
{plans.map((p) => (
<div key={p.name} className={`rounded-2xl border p-6 ${p.highlight ? "border-indigo-500 bg-indigo-950/30 ring-2 ring-indigo-500" : "border-zinc-800 bg-zinc-950"}`}>
<h3 className="font-semibold text-white">{p.name}</h3>
<p className="mt-2 text-3xl font-bold text-white">${p.price}<span className="text-sm font-normal text-zinc-500">/mo</span></p>
<ul className="mt-4 space-y-2 text-sm text-zinc-400">{p.features.map((f) => <li key={f}>✓ {f}</li>)}</ul>
<button className="mt-6 w-full rounded-xl bg-white py-2.5 text-sm font-semibold text-zinc-900">Get {p.name}</button>
</div>
))}
</section>
);
}
Please implement this code in the current project and add it to (Your Desired Section, e.g. homepage hero, pricing page, dashboard). Change the primary accent color to (YOUR HEX CODE COLOR, e.g. #6366F1).
Requirements:
- Use React + Tailwind CSS (match the project's existing setup)
- Install dependencies if needed: npm install react react-dom
- Keep the layout responsive on mobile and desktop
- Replace placeholder copy with content that fits the project
The UI code:
const plans = [
{ name: "Starter", price: 0, features: ["5 projects", "Community support"] },
{ name: "Pro", price: 29, features: ["Unlimited projects", "Priority support"], highlight: true },
{ name: "Team", price: 79, features: ["SSO", "Dedicated manager"] },
];
export function ThreeTierPricing() {
return (
<section className="grid gap-6 px-6 py-16 md:grid-cols-3">
{plans.map((p) => (
<div key={p.name} className={`rounded-2xl border p-6 ${p.highlight ? "border-indigo-500 bg-indigo-950/30 ring-2 ring-indigo-500" : "border-zinc-800 bg-zinc-950"}`}>
<h3 className="font-semibold text-white">{p.name}</h3>
<p className="mt-2 text-3xl font-bold text-white">${p.price}<span className="text-sm font-normal text-zinc-500">/mo</span></p>
<ul className="mt-4 space-y-2 text-sm text-zinc-400">{p.features.map((f) => <li key={f}>✓ {f}</li>)}</ul>
<button className="mt-6 w-full rounded-xl bg-white py-2.5 text-sm font-semibold text-zinc-900">Get {p.name}</button>
</div>
))}
</section>
);
}
Replace (Your Desired Section) and (YOUR HEX CODE COLOR) before pasting into Cursor, Copilot, or ChatGPT.