mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 11:55:22 +02:00
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:
co-authored by
Claude Sonnet 4.6
parent
be44d8d00f
commit
6e2db6be1a
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user