WMS / src /client /components /StatCard.tsx
amir-salar's picture
Add static WMS demo for Hugging Face Spaces
86a4856
Raw
History Blame Contribute Delete
1.36 kB
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { LucideIcon } from "lucide-react";
interface StatCardProps {
title: string;
value: string;
change?: string;
icon?: LucideIcon;
customIcon?: string;
}
export function StatCard({ title, value, change, icon: Icon, customIcon }: StatCardProps) {
return (
<Card className="border-l-4 border-l-primary">
<CardHeader className="flex flex-row items-center justify-between space-y-0 pb-2">
<CardTitle className="text-sm font-medium text-muted-foreground">
{title}
</CardTitle>
<div className="h-8 w-8 rounded-lg bg-primary/10 flex items-center justify-center">
{customIcon ? (
<img
src={customIcon}
alt={title}
className="h-4 w-4 brightness-0 saturate-100"
style={{ filter: 'invert(17%) sepia(90%) saturate(3000%) hue-rotate(198deg) brightness(95%) contrast(101%)' }}
/>
) : Icon ? (
<Icon className="h-4 w-4 text-primary" />
) : null}
</div>
</CardHeader>
<CardContent>
<div className="text-2xl font-bold">{value}</div>
{change && (
<p className="text-xs text-muted-foreground mt-1">{change}</p>
)}
</CardContent>
</Card>
);
}