mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 21:25:24 +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 />}>
|
<Suspense fallback={<LoadingSpinner />}>
|
||||||
<div className={view === 'forecast' ? '' : 'hidden'}>
|
<div className={view === 'forecast' ? '' : 'hidden'}>
|
||||||
<ForecastView
|
<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}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</Suspense>
|
</Suspense>
|
||||||
|
|
||||||
|
|||||||
+398
-636
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user