fix: use all-country ads for MKT tab to match Excel file total

filteredAdsData applies PAN_EU default when no marketplace is selected,
cutting UK/other spend and showing 118k instead of the full 151k.
mktAdsData skips the PAN_EU restriction: no customer filter = all
countries, still respects explicit customer/year/week selections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Christian Vidal Wolf
2026-03-12 16:52:06 +01:00
co-authored by Claude Sonnet 4.6
parent 910e6d2a4d
commit 777a01e417
+12 -1
View File
@@ -529,6 +529,17 @@ const App: React.FC = () => {
const filteredData = useMemo(() => filterData(rawData, deferredFilters, stockMap, vendorStockMap, top50Mode), [rawData, deferredFilters, stockMap, vendorStockMap, top50Mode]);
const filteredAdsData = useMemo(() => filterAdsData(adsData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode), [adsData, deferredFilters, globalAsinMetadata, stockMap, vendorStockMap, top50Mode]);
// MKT tab: ads without PAN_EU default restriction — includes all countries unless
// the user explicitly selects a marketplace filter
const mktAdsData = useMemo(() => adsData.filter(ad => {
const countryMatch = deferredFilters.customer.length === 0
? true
: deferredFilters.customer.some(c => c.toUpperCase() === ad.country.toUpperCase());
const yearMatch = deferredFilters.year.length === 0 || deferredFilters.year.includes(ad.year.toString());
const weekMatch = deferredFilters.week.length === 0 || deferredFilters.week.includes(`W${ad.week}`);
return countryMatch && yearMatch && weekMatch;
}), [adsData, deferredFilters.customer, deferredFilters.year, deferredFilters.week]);
const aggregatedData = useMemo(() => aggregateData(filteredData), [filteredData]);
// Calculate country-aware Top 50 Best Sellers for 2025
@@ -926,7 +937,7 @@ const App: React.FC = () => {
<Suspense fallback={<LoadingSpinner />}>
<div className={view === 'mkt' ? '' : 'hidden'}>
<MktDataView rawData={filteredData} adsData={filteredAdsData} />
<MktDataView rawData={filteredData} adsData={mktAdsData} />
</div>
</Suspense>