Files
workshop-manager/src/components/weather/WeatherAverageBar.tsx

43 lines
1.3 KiB
TypeScript

// src/components/weather/WeatherAverageBar.tsx
import { getAverageEmoji } from '@/lib/weather-utils';
interface WeatherEntry {
performanceEmoji: string | null;
moralEmoji: string | null;
fluxEmoji: string | null;
valueCreationEmoji: string | null;
}
interface WeatherAverageBarProps {
entries: WeatherEntry[];
}
const AXES = [
{ key: 'performanceEmoji' as const, label: 'Performance' },
{ key: 'moralEmoji' as const, label: 'Moral' },
{ key: 'fluxEmoji' as const, label: 'Flux' },
{ key: 'valueCreationEmoji' as const, label: 'Création de valeur' },
];
export function WeatherAverageBar({ entries }: WeatherAverageBarProps) {
if (entries.length === 0) return null;
return (
<div className="flex flex-wrap items-center gap-3 mb-4">
<span className="text-xs font-medium text-muted uppercase tracking-wide">Moyenne équipe</span>
{AXES.map(({ key, label }) => {
const avg = getAverageEmoji(entries.map((e) => e[key]));
return (
<div
key={key}
className="flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1"
>
<span className="text-lg leading-none">{avg ?? '—'}</span>
<span className="text-xs text-muted">{label}</span>
</div>
);
})}
</div>
);
}