| import { Card } from "@/components/ui/card"; | |
| import { LucideIcon } from "lucide-react"; | |
| interface StatsCardProps { | |
| title: string; | |
| value: string | number; | |
| icon: LucideIcon; | |
| color: "purple" | "green" | "red" | "blue"; | |
| } | |
| const colorClasses = { | |
| purple: "text-purple-400 bg-purple-500/10 border-purple-500/20", | |
| green: "text-green-400 bg-green-500/10 border-green-500/20", | |
| red: "text-red-400 bg-red-500/10 border-red-500/20", | |
| blue: "text-blue-400 bg-blue-500/10 border-blue-500/20", | |
| }; | |
| export function StatsCard({ title, value, icon: Icon, color }: StatsCardProps) { | |
| return ( | |
| <Card className={`p-4 backdrop-blur-sm ${colorClasses[color]}`}> | |
| <div className="flex items-center justify-between mb-2"> | |
| <Icon className="w-5 h-5" /> | |
| </div> | |
| <div className={`text-2xl font-bold ${colorClasses[color].split(" ")[0]}`}> | |
| {value} | |
| </div> | |
| <div className="text-xs text-muted-foreground mt-1">{title}</div> | |
| </Card> | |
| ); | |
| } |