Forecast View: Hybrid UK/Pan-EU seasonality weighting for Jan-Aug

This commit is contained in:
Christian Vidal Wolf
2026-01-27 09:49:35 +01:00
parent d496073e88
commit f8c6ecdf29
2 changed files with 54 additions and 13 deletions
+6 -6
View File
@@ -90,7 +90,7 @@ const App: React.FC = () => {
console.log('[App] Successfully loaded', data.length, 'rows');
// Refresh forecast too
handleForecastFetch(data, filters.customer);
handleForecastFetch(data, filters);
} catch (error) {
console.error("Failed to fetch/parse CSV", error);
alert("Error loading data. Please refresh the page.");
@@ -143,9 +143,9 @@ const App: React.FC = () => {
}
}, []);
const handleForecastFetch = useCallback(async (sales: SalesRecord[], customerFilters: string[] = []) => {
const handleForecastFetch = useCallback(async (sales: SalesRecord[], activeFilters: FilterState) => {
try {
const isUK = customerFilters.includes('Amazon UK');
const isUK = activeFilters.customer.includes('Amazon UK');
const filename = isUK ? '/fc UK 26.xlsx' : '/fc 26.xlsx';
console.log(`[App] Fetching forecast from ${filename}...`);
@@ -165,7 +165,7 @@ const App: React.FC = () => {
}
});
const viewData = calculateForecastViewData(sales, fcRecords, meta);
const viewData = calculateForecastViewData(sales, fcRecords, meta, activeFilters);
setForecastData(viewData);
console.log('[App] Forecast loaded:', viewData.length, 'records');
} catch (error) {
@@ -181,7 +181,7 @@ const App: React.FC = () => {
...filters,
year: [] // Ensure we don't filter out 2025/2026 if a single year is selected in UI
});
handleForecastFetch(forecastRelevantData, filters.customer);
handleForecastFetch(forecastRelevantData, filters);
}
}, [filters, rawData, handleForecastFetch]);
@@ -260,7 +260,7 @@ const App: React.FC = () => {
handleTrafficFetch();
// 1d. Fetch Forecast data
handleForecastFetch(cachedData || [], filters.customer);
handleForecastFetch(cachedData || [], filters);
};
initApp();
}, [handleDataFetch]);