mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 19:25:24 +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]);
|
||||
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]);
|
||||
|
||||
console.time('combinedAdsData');
|
||||
|
||||
Reference in New Issue
Block a user