import type { Lead } from "@/types/entities"; import { cx } from "@/utils/cx"; interface KpiCardsProps { leads: Lead[]; } type KpiCard = { label: string; value: number; delta: string; deltaColor: string; isHero: boolean; }; export const KpiCards = ({ leads }: KpiCardsProps) => { const newCount = leads.filter((l) => l.leadStatus === "NEW").length; const assignedCount = leads.filter((l) => l.assignedAgent !== null).length; const contactedCount = leads.filter((l) => l.leadStatus === "CONTACTED").length; const convertedCount = leads.filter((l) => l.leadStatus === "CONVERTED").length; const cards: KpiCard[] = [ { label: "New Leads Today", value: newCount, delta: "+12% vs yesterday", deltaColor: "text-success-primary", isHero: true, }, { label: "Assigned to CC", value: assignedCount, delta: "85% assigned", deltaColor: "text-brand-secondary", isHero: false, }, { label: "Contacted", value: contactedCount, delta: "+8% vs yesterday", deltaColor: "text-success-primary", isHero: false, }, { label: "Converted", value: convertedCount, delta: "+3 this week", deltaColor: "text-warning-primary", isHero: false, }, ]; return (
{card.label}
{card.value}
{card.delta}