import { ServiceStatus } from '@/types/monitoring'; import { cn } from '@/lib/utils'; import { CheckCircle2, AlertTriangle, XCircle, HelpCircle } from 'lucide-react'; interface OverallStatusProps { status: ServiceStatus; totalServices: number; operationalServices: number; } const statusConfig = { operational: { icon: CheckCircle2, title: 'Tous les systèmes sont opérationnels', bgClass: 'bg-success/10 border-success/30', iconClass: 'text-success', }, degraded: { icon: AlertTriangle, title: 'Certains systèmes sont dégradés', bgClass: 'bg-warning/10 border-warning/30', iconClass: 'text-warning', }, down: { icon: XCircle, title: 'Incident majeur en cours', bgClass: 'bg-destructive/10 border-destructive/30', iconClass: 'text-destructive', }, unknown: { icon: HelpCircle, title: 'Status inconnu', bgClass: 'bg-muted border-muted-foreground/20', iconClass: 'text-muted-foreground', }, }; export function OverallStatus({ status, totalServices, operationalServices }: OverallStatusProps) { const config = statusConfig[status]; const Icon = config.icon; return (
{operationalServices}/{totalServices} services opérationnels