diff --git a/components/ForecastView.tsx b/components/ForecastView.tsx index 79cfc0d..25b397d 100644 --- a/components/ForecastView.tsx +++ b/components/ForecastView.tsx @@ -94,48 +94,49 @@ const ForecastRow: React.FC<{ - {/* Forecast (Period) */} - - - {forecastPeriod.toLocaleString('de-DE')} - - + + {/* Forecast (Period) */} + + + {forecastPeriod.toLocaleString('de-DE')} + + - {/* Actual Units Sales 2026 */} - - - {actualUnits.toLocaleString('de-DE')} - - + {/* Actual Units Sales 2026 */} + + + {actualUnits.toLocaleString('de-DE')} + + - {/* FC 26 Achievement (Annual %) */} - -
-
- {fcAchievement.toFixed(1)}% -
- - OF ANNUAL {Math.round(annualForecast / 1000)}K + {/* FC 26 Achievement (Annual %) */} + +
+
+ {fcAchievement.toFixed(1)}% +
+ + OF ANNUAL {Math.round(annualForecast / 1000)}K + +
+ + + {/* YTD Achievement (Period %) */} + +
+
+ = 100 ? 'text-emerald-400' : 'text-slate-300'}`}> + {ytdAchievement.toFixed(1)}%
- - - {/* YTD Achievement (Period %) */} - -
-
- = 100 ? 'text-emerald-400' : 'text-slate-300'}`}> - {ytdAchievement.toFixed(1)}% - -
-
-
-
+
+
- +
+ ); }); @@ -215,110 +216,41 @@ const ForecastView: React.FC = ({ }, [finalFilteredData]); return ( -
-
-
-
-
- Global Actuals -
-
{(globalSummary.actualUnits || 0).toLocaleString('de-DE')}
-
-
-
-
- Global Forecast -
-
{(globalSummary.forecastUnits || 0).toLocaleString('de-DE')}
-
-
- -
-
-

Product Performance Comparison

-
- {top50Ranking && (top50Ranking.eu.size > 0 || top50Ranking.uk.size > 0) && ( -
- -
- )} - setSearchTerm(e.target.value)} - className="bg-slate-950 border border-white/10 rounded-xl px-4 py-2 text-sm text-white focus:outline-none w-64" - /> - -
-
- -
- - - -
-
- Product Details -
- - 0)', - 'In Stock (>20)', - 'Low Stock (<10)', - ]}
-
- - - - - - - - - - - - {data.map(item => ( - 0 ? filters.month : MONTH_ORDER} - top50Ranking={top50Ranking} - top50Mode={top50Mode} - stockMap={stockMap} - vendorStockMap={vendorStockMap} - /> - ))} - -
Product InfoForecast (Period)Actual Units Sales 2026FC 26 AchievementYTD Achievement
+
+ + + + + + + + + + + + {finalFilteredData.map(item => ( + 0 ? filters.month : MONTH_ORDER} + top50Ranking={top50Ranking} + top50Mode={top50Mode} + stockMap={stockMap} + vendorStockMap={vendorStockMap} + /> + ))} + +
Product InfoForecast (Period)Actual Units Sales 2026FC 26 AchievementYTD Achievement
- {data.length === 0 && ( -
-

No forecast data found for current filters

-
- )} -
- - {/* Filter Panel (In-Column Stock Filter is handled inside components if needed, or we can add a toolbar later) */} -
- ); + {finalFilteredData.length === 0 && ( +
+

No forecast data found for current filters

+
+ )} +
+
+ ); }; - export default ForecastView; +export default ForecastView;