feat: replace Forecast tab with Sell-in vs Budget 2026 dashboard

Self-contained view with file upload for Sell in + Budget 26 Excel files.
Parses SKUs (5-digit prefix), compares real sell-in units vs monthly budget
forecast, shows KPIs and per-SKU table sorted by period achievement ascending.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Vidal Wolf
2026-06-17 16:03:20 +02:00
co-authored by Claude Sonnet 4.6
parent be44d8d00f
commit 6e2db6be1a
2 changed files with 428 additions and 680 deletions
+1 -15
View File
@@ -898,21 +898,7 @@ const App: React.FC = () => {
<Suspense fallback={<LoadingSpinner />}>
<div className={view === 'forecast' ? '' : 'hidden'}>
<ForecastView
data={forecastData}
filters={filters}
top50Ranking={top50Ranking2025}
stockMap={stockMap}
vendorStockMap={vendorStockMap}
stockFilter={filters.stock}
onStockFilterChange={(s) => setFilters(prev => ({ ...prev, stock: s }))}
vendorStockFilter={filters.vendorStock}
onVendorStockFilterChange={(s) => setFilters(prev => ({ ...prev, vendorStock: s }))}
wocFilter={filters.woc}
onWocFilterChange={(s) => setFilters(prev => ({ ...prev, woc: s }))}
top50Mode={filters.customer.includes('Amazon UK') ? 'uk' : 'eu'}
buyBoxLostMap={buyBoxLostMap}
/>
<ForecastView />
</div>
</Suspense>