| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- "use client"
- import { LucideIcon } from "lucide-react"
- import { Card, CardContent } from "@/components/ui/card"
- interface StatsCardProps {
- title: string
- value: string | number
- icon: LucideIcon
- description?: string
- color?: "blue" | "green" | "purple" | "orange" | "pink"
- }
- const colorClasses = {
- blue: "bg-blue-100 text-blue-600",
- green: "bg-green-100 text-green-600",
- purple: "bg-purple-100 text-purple-600",
- orange: "bg-orange-100 text-orange-600",
- pink: "bg-pink-100 text-pink-600",
- }
- export function StatsCard({
- title,
- value,
- icon: Icon,
- description,
- color = "blue",
- }: StatsCardProps) {
- return (
- <Card>
- <CardContent className="p-6">
- <div className="flex items-center justify-between">
- <div className="flex-1">
- <p className="text-sm font-medium text-gray-600 mb-1">{title}</p>
- <p className="text-3xl font-bold text-gray-900">{value}</p>
- {description && (
- <p className="text-xs text-gray-500 mt-1">{description}</p>
- )}
- </div>
- <div
- className={`w-12 h-12 rounded-lg flex items-center justify-center ${colorClasses[color]}`}
- >
- <Icon className="w-6 h-6" />
- </div>
- </div>
- </CardContent>
- </Card>
- )
- }
|