- Applied #121212 background and #222222 border to StatCards and Tables. - Tightened internal padding to 8px-12px. - Enforced 0px border radius and removed shadows. - Numeric values in StatCards now match label size. - Caution Orange used for emphasis in StatCards. - Removed zebra-striping and applied 1px horizontal dividers to Tables. - Headers updated to Title Case Space Grotesk. - Complies with AI_RULES.md (no bold, no uppercase).
26 lines
847 B
TypeScript
26 lines
847 B
TypeScript
import React from 'react';
|
|
import { LucideIcon } from 'lucide-react';
|
|
|
|
interface StatCardProps {
|
|
label: string;
|
|
value: number;
|
|
icon?: LucideIcon;
|
|
}
|
|
|
|
export default function StatCard({ label, value, icon: Icon }: StatCardProps) {
|
|
return (
|
|
<div className="flex justify-between items-center gap-2 p-2 md:p-3 bg-surface-container border border-border transition-all hover:bg-surface-bright" role="status">
|
|
<div className="flex items-center gap-2.5 min-w-0">
|
|
{Icon && <Icon className="w-5 h-5 text-primary flex-shrink-0" aria-hidden="true" />}
|
|
<span className="text-base md:text-lg text-secondary font-normal truncate">
|
|
{label}
|
|
</span>
|
|
</div>
|
|
|
|
<span className="text-base md:text-lg font-normal text-primary whitespace-nowrap tabular-nums">
|
|
{value}
|
|
</span>
|
|
</div>
|
|
);
|
|
}
|