mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 16:35:23 +02:00
fix: resolve ReferenceError by moving aggregateWoc after filteredRows initialization
This commit is contained in:
+20
-19
@@ -559,25 +559,6 @@ const WeeklyGrid: React.FC<WeeklyGridProps & { top50Mode: 'eu' | 'uk' }> = ({
|
|||||||
return totals;
|
return totals;
|
||||||
}, [rows, weeks]);
|
}, [rows, weeks]);
|
||||||
|
|
||||||
const aggregateWoc = useMemo(() => {
|
|
||||||
if (!vendorStockMap || !velocityMap || filteredRows.length === 0) return null;
|
|
||||||
|
|
||||||
let totalStock = 0;
|
|
||||||
let totalVelocity = 0;
|
|
||||||
|
|
||||||
filteredRows.forEach(row => {
|
|
||||||
const asin = row.asin.trim().toUpperCase();
|
|
||||||
const stockData = vendorStockMap.get(asin);
|
|
||||||
if (stockData) {
|
|
||||||
totalStock += (top50Mode === 'uk' ? stockData.uk : stockData.eu);
|
|
||||||
}
|
|
||||||
totalVelocity += (velocityMap.get(asin) || 0);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (totalVelocity > 0) return totalStock / totalVelocity;
|
|
||||||
if (totalStock > 0) return 999;
|
|
||||||
return 0;
|
|
||||||
}, [filteredRows, vendorStockMap, velocityMap, top50Mode]);
|
|
||||||
|
|
||||||
// 1. Filter by search term, Top 50, and growth (using debounced value)
|
// 1. Filter by search term, Top 50, and growth (using debounced value)
|
||||||
const filteredRows = useMemo(() => {
|
const filteredRows = useMemo(() => {
|
||||||
@@ -727,6 +708,26 @@ const WeeklyGrid: React.FC<WeeklyGridProps & { top50Mode: 'eu' | 'uk' }> = ({
|
|||||||
return result;
|
return result;
|
||||||
}, [rows, debouncedSearch, showOnlyTop50, showActiveExperiments, experimentMap, top50Ranking, growthFilterMode, growthThreshold, sortConfig, weeks, top50Mode, wocFilter, velocityMap, vendorStockMap, numericFilters, columnFilters]);
|
}, [rows, debouncedSearch, showOnlyTop50, showActiveExperiments, experimentMap, top50Ranking, growthFilterMode, growthThreshold, sortConfig, weeks, top50Mode, wocFilter, velocityMap, vendorStockMap, numericFilters, columnFilters]);
|
||||||
|
|
||||||
|
const aggregateWoc = useMemo(() => {
|
||||||
|
if (!vendorStockMap || !velocityMap || filteredRows.length === 0) return null;
|
||||||
|
|
||||||
|
let totalStock = 0;
|
||||||
|
let totalVelocity = 0;
|
||||||
|
|
||||||
|
filteredRows.forEach(row => {
|
||||||
|
const asin = row.asin.trim().toUpperCase();
|
||||||
|
const stockData = vendorStockMap.get(asin);
|
||||||
|
if (stockData) {
|
||||||
|
totalStock += (top50Mode === 'uk' ? stockData.uk : stockData.eu);
|
||||||
|
}
|
||||||
|
totalVelocity += (velocityMap.get(asin) || 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (totalVelocity > 0) return totalStock / totalVelocity;
|
||||||
|
if (totalStock > 0) return 999;
|
||||||
|
return 0;
|
||||||
|
}, [filteredRows, vendorStockMap, velocityMap, top50Mode]);
|
||||||
|
|
||||||
// 2. Sort results
|
// 2. Sort results
|
||||||
const sortedRows = useMemo(() => {
|
const sortedRows = useMemo(() => {
|
||||||
if (!sortConfig || filteredRows.length === 0) return filteredRows;
|
if (!sortConfig || filteredRows.length === 0) return filteredRows;
|
||||||
|
|||||||
Reference in New Issue
Block a user