mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 17:10:56 +00:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { LucideIcon } from 'lucide-react';
|
|
import { cn } from '@/lib/utils';
|
|
|
|
interface StatCardProps {
|
|
title: string;
|
|
value: string | number;
|
|
icon: LucideIcon;
|
|
trend?: {
|
|
value: number;
|
|
isPositive: boolean;
|
|
};
|
|
color?: 'blue' | 'green' | 'purple' | 'orange';
|
|
}
|
|
|
|
const colorClasses = {
|
|
blue: 'bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400',
|
|
green: 'bg-green-100 text-[rgb(20,113,76)] dark:bg-green-900/30 dark:text-green-400',
|
|
purple: 'bg-purple-100 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400',
|
|
orange: 'bg-green-100 text-[rgb(20,113,76)] dark:bg-green-900/30 dark:text-green-400',
|
|
};
|
|
|
|
export default function StatCard({ title, value, icon: Icon, color = 'blue' }: StatCardProps) {
|
|
return (
|
|
<div className="card">
|
|
<div className="flex items-center justify-between">
|
|
<div>
|
|
<p className="text-sm font-medium text-muted-foreground">{title}</p>
|
|
<p className="mt-2 text-3xl font-bold text-foreground">{value}</p>
|
|
</div>
|
|
<div className={cn('rounded-full p-3', colorClasses[color])}>
|
|
<Icon className="h-6 w-6" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|