import { Button } from "@/components/ui/button"; import Icon from "@/components/ui/icon"; import { cn } from "@/lib/utils"; export interface PricingTier { name: string; price: string; priceAnnual: string; period: string; periodAnnual: string; description: string; tagline: string; features: string[]; cta: string; highlighted: boolean; } export function PricingCard({ tier, billingPeriod, onCtaClick, disabled = false, loading = false, }: { tier: PricingTier; billingPeriod: "monthly" | "annual"; onCtaClick: () => void; disabled?: boolean; loading?: boolean; }) { return (
{tier.highlighted && (
{tier.tagline}
)}

{tier.name}

{billingPeriod === "annual" ? tier.priceAnnual : tier.price} {billingPeriod === "annual" ? tier.periodAnnual : tier.period}

{tier.description}

); } export const pricingTiers: PricingTier[] = [ { name: "Starter", price: "£0", priceAnnual: "£0", period: "Free forever", periodAnnual: "Free forever", description: "Perfect for side projects and solo developers", tagline: "For solo devs and small projects", features: [ "1 organisation (owned or joined)", "1 project", "5 sprints", "100 issues", "Up to 5 team members", "Static avatars only", "Pixel icon style", "Email support", ], cta: "Get started free", highlighted: false, }, { name: "Pro", price: "£11.99", priceAnnual: "£9.99", period: "per user/month", periodAnnual: "per user/month", description: "For growing teams and professionals", tagline: "Most Popular", features: [ "Everything in starter", "Unlimited organisations", "Unlimited projects", "Unlimited sprints", "Unlimited issues", "Animated avatars", "Custom icon styles", "Feature toggling", "Advanced time tracking & reports", "Custom issue statuses", "Priority email support", ], cta: "Upgrade to Pro", highlighted: true, }, ];