diff --git a/src/components/weather/WeatherAverageBar.tsx b/src/components/weather/WeatherAverageBar.tsx new file mode 100644 index 0000000..cfc6186 --- /dev/null +++ b/src/components/weather/WeatherAverageBar.tsx @@ -0,0 +1,44 @@ +// 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 ( +
+ + Moyenne équipe + + {AXES.map(({ key, label }) => { + const avg = getAverageEmoji(entries.map((e) => e[key])); + return ( +
+ {avg ?? '—'} + {label} +
+ ); + })} +
+ ); +} diff --git a/src/components/weather/index.ts b/src/components/weather/index.ts index 3cf0761..7182374 100644 --- a/src/components/weather/index.ts +++ b/src/components/weather/index.ts @@ -2,3 +2,4 @@ export { WeatherBoard } from './WeatherBoard'; export { WeatherCard } from './WeatherCard'; export { WeatherLiveWrapper } from './WeatherLiveWrapper'; export { WeatherInfoPanel } from './WeatherInfoPanel'; +export { WeatherAverageBar } from './WeatherAverageBar';