'use client'; interface Rating { operator: string; totalAircraft: number; activeAircraft: number; maintenanceAircraft: number; rating: number; category: 'best' | 'average' | 'worst'; } interface Props { ratings: Rating[]; } const catConfig = { best: { title: '🏆 Лучшие по КЛГ', bg: 'bg-green-50', border: 'border-green-200', ratingColor: 'text-green-600' }, average: { title: '📊 Средние', bg: 'bg-yellow-50', border: 'border-yellow-200', ratingColor: 'text-yellow-600' }, worst: { title: '⚠️ Требуют внимания', bg: 'bg-red-50', border: 'border-red-200', ratingColor: 'text-red-600' }, }; export default function OperatorRatings({ ratings }: Props) { if (!ratings.length) return null; return (

📈 Рейтинг операторов по КЛГ

{(['best', 'average', 'worst'] as const).map(cat => { const items = ratings.filter(r => r.category === cat); const cfg = catConfig[cat]; return (

{cfg.title}

{items.length > 0 ? items.map((r, i) => (
{r.operator}
ВС: {r.totalAircraft} (акт: {r.activeAircraft}, ТО: {r.maintenanceAircraft})
{r.rating}%
)) :
Нет данных
}
); })}
); }