import Link from "next/link" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { CheckCircle, Database, Zap, Users, LucideIcon } from "lucide-react" interface TokenBreakdown { icon: LucideIcon title: string value: string description: string color: 'blue' | 'green' | 'purple' } interface PricingFeature { text: string } interface PricingCardProps { title: string price: string tokensIncluded: string tokenBreakdown: TokenBreakdown[] features: PricingFeature[] ctaText: string ctaHref: string variant?: 'default' | 'featured' } export default function PricingCard({ title, price, tokensIncluded, tokenBreakdown, features, ctaText, ctaHref, variant = 'default' }: PricingCardProps) { const getColorClasses = (color: 'blue' | 'green' | 'purple') => { switch (color) { case 'blue': return { bg: "bg-blue-50 dark:bg-blue-800", icon: "text-blue-600 dark:text-blue-300", title: "text-blue-800 dark:text-blue-200", value: "text-blue-600 dark:text-blue-300", description: "text-blue-700 dark:text-blue-200" } case 'green': return { bg: "bg-green-50 dark:bg-green-800", icon: "text-green-600 dark:text-green-300", title: "text-green-800 dark:text-green-200", value: "text-green-600 dark:text-green-300", description: "text-green-700 dark:text-green-200" } case 'purple': return { bg: "bg-purple-50 dark:bg-purple-800", icon: "text-purple-600 dark:text-purple-300", title: "text-purple-800 dark:text-purple-200", value: "text-purple-600 dark:text-purple-300", description: "text-purple-700 dark:text-purple-200" } } } return ( {title} {price} {tokensIncluded} {/* Token Breakdown */}

🎯 Que comprennent {tokensIncluded} ?

{tokenBreakdown.map((item, index) => { const colorClasses = getColorClasses(item.color) const Icon = item.icon return (

{item.title}

{item.value}

{item.description}

) })}
{/* Features */}
{features.map((feature, index) => (
{feature.text}
))}
{/* CTA */}

Tarification à la consommation + setup personnalisé

) }