28 lines
914 B
TypeScript
28 lines
914 B
TypeScript
import { Card, CardContent } from "@/components/ui/card"
|
|
import type { LucideIcon } from "lucide-react"
|
|
|
|
interface StatsCardProps {
|
|
title: string
|
|
value: string | number
|
|
icon: LucideIcon
|
|
description?: string
|
|
}
|
|
|
|
export function StatsCard({ title, value, icon: Icon, description }: StatsCardProps) {
|
|
return (
|
|
<Card>
|
|
<CardContent className="pt-6">
|
|
<div className="flex items-center justify-between">
|
|
<div>
|
|
<p className="text-sm text-muted-foreground mb-1">{title}</p>
|
|
<p className="text-3xl font-bold">{value}</p>
|
|
{description && <p className="text-xs text-muted-foreground mt-1">{description}</p>}
|
|
</div>
|
|
<div className="h-12 w-12 rounded-full flex items-center justify-center bg-background">
|
|
<Icon className="h-6 w-6 text-sidebar-ring" />
|
|
</div>
|
|
</div>
|
|
</CardContent>
|
|
</Card>
|
|
)
|
|
}
|