Files
gitea-mirror/src/components/dashboard/StatusCard.tsx
2025-05-18 09:31:23 +05:30

34 lines
914 B
TypeScript

import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { cn } from "@/lib/utils";
interface StatusCardProps {
title: string;
value: string | number;
icon: React.ReactNode;
description?: string;
className?: string;
}
export function StatusCard({
title,
value,
icon,
description,
className,
}: StatusCardProps) {
return (
<Card className={cn("overflow-hidden", className)}>
<CardHeader className="flex flex-row items-center justify-between pb-2 space-y-0">
<CardTitle className="text-sm font-medium">{title}</CardTitle>
<div className="h-4 w-4 text-muted-foreground">{icon}</div>
</CardHeader>
<CardContent>
<div className="text-2xl font-bold">{value}</div>
{description && (
<p className="text-xs text-muted-foreground mt-1">{description}</p>
)}
</CardContent>
</Card>
);
}