diff --git a/components/ForecastView.tsx b/components/ForecastView.tsx index 1e120f6..bd072f0 100644 --- a/components/ForecastView.tsx +++ b/components/ForecastView.tsx @@ -21,7 +21,6 @@ interface ForecastViewProps { stockMap?: Map; stockFilter: string[]; onStockFilterChange: (newFilters: string[]) => void; - customerFilters: string[]; top50Mode: 'eu' | 'uk'; } @@ -47,9 +46,9 @@ const ForecastRow: React.FC<{ } } - const monthlySales = activeMonths.map(m => item.monthlyData[m]?.units || 0); - const avgMonthly = monthlySales.reduce((a, b) => a + b, 0) / (activeMonths.length || 1); - const peakMonthly = Math.max(...monthlySales, 0); + const monthlySales = activeMonths.map(m => (item.monthlyData && item.monthlyData[m]?.units) || 0); + const avgMonthly = monthlySales.length > 0 ? monthlySales.reduce((a, b) => a + b, 0) / activeMonths.length : 0; + const peakMonthly = monthlySales.length > 0 ? Math.max(...monthlySales) : 0; return ( @@ -76,21 +75,21 @@ const ForecastRow: React.FC<{ - {item.actualUnits.toLocaleString('de-DE')} + {(item.actualUnits || 0).toLocaleString('de-DE')} - {item.forecastUnits.toLocaleString('de-DE')} + {(item.forecastUnits || 0).toLocaleString('de-DE')}
- {Math.round(avgMonthly).toLocaleString('de-DE')} - Peak: {Math.round(peakMonthly).toLocaleString('de-DE')} + {(Math.round(avgMonthly) || 0).toLocaleString('de-DE')} + Peak: {(Math.round(peakMonthly) || 0).toLocaleString('de-DE')}
- ({ name: m, units: item.monthlyData[m]?.units || 0 }))}> + ({ name: m, units: (item.monthlyData && item.monthlyData[m]?.units) || 0 }))}> @@ -113,7 +112,7 @@ const ForecastRow: React.FC<{ ); }); -const ForecastView: React.FC = ({ data, filters, top50Ranking, stockMap, stockFilter, onStockFilterChange, customerFilters, top50Mode }) => { +const ForecastView: React.FC = ({ data, filters, top50Ranking, stockMap, stockFilter, onStockFilterChange, top50Mode }) => { const [searchTerm, setSearchTerm] = useState(''); const [showOnlyTop50, setShowOnlyTop50] = useState(false); const [displayCount, setDisplayCount] = useState(50); @@ -184,14 +183,14 @@ const ForecastView: React.FC = ({ data, filters, top50Ranking
Global Actuals
-
{globalSummary.actualUnits.toLocaleString('de-DE')}
+
{(globalSummary.actualUnits || 0).toLocaleString('de-DE')}
Global Forecast
-
{globalSummary.forecastUnits.toLocaleString('de-DE')}
+
{(globalSummary.forecastUnits || 0).toLocaleString('de-DE')}