mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 12:45:23 +02:00
fix: Restore missing top50Ranking2025 definition
This commit is contained in:
@@ -554,6 +554,37 @@ const App: React.FC = () => {
|
|||||||
const aggregatedData = useMemo(() => aggregateData(filteredData), [filteredData]);
|
const aggregatedData = useMemo(() => aggregateData(filteredData), [filteredData]);
|
||||||
console.timeEnd('aggregatedData');
|
console.timeEnd('aggregatedData');
|
||||||
|
|
||||||
|
const top50Ranking2025 = useMemo(() => {
|
||||||
|
// Filter only 2025 data
|
||||||
|
const data2025 = rawData.filter(r => r.year === 2025);
|
||||||
|
|
||||||
|
const calculateTop50 = (entries: SalesRecord[]) => {
|
||||||
|
const asinTotals = new Map<string, number>();
|
||||||
|
entries.forEach(r => {
|
||||||
|
const asin = r.asin.trim().toUpperCase();
|
||||||
|
asinTotals.set(asin, (asinTotals.get(asin) || 0) + r.sellOut);
|
||||||
|
});
|
||||||
|
|
||||||
|
const sorted = Array.from(asinTotals.entries())
|
||||||
|
.sort((a, b) => b[1] - a[1])
|
||||||
|
.slice(0, 50);
|
||||||
|
|
||||||
|
const rankMap = new Map<string, number>();
|
||||||
|
sorted.forEach(([asin], index) => {
|
||||||
|
rankMap.set(asin, index + 1);
|
||||||
|
});
|
||||||
|
return rankMap;
|
||||||
|
};
|
||||||
|
|
||||||
|
const euData = data2025.filter(r => !r.customer.toLowerCase().includes('uk'));
|
||||||
|
const ukData = data2025.filter(r => r.customer.toLowerCase().includes('uk'));
|
||||||
|
|
||||||
|
return {
|
||||||
|
eu: calculateTop50(euData),
|
||||||
|
uk: calculateTop50(ukData)
|
||||||
|
};
|
||||||
|
}, [rawData]);
|
||||||
|
|
||||||
const filteredBsrData = useMemo(() => filterBsrData(bsrData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode), [bsrData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode]);
|
const filteredBsrData = useMemo(() => filterBsrData(bsrData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode), [bsrData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode]);
|
||||||
|
|
||||||
console.time('combinedAdsData');
|
console.time('combinedAdsData');
|
||||||
|
|||||||
Reference in New Issue
Block a user