mirror of
https://github.com/christianvidalwolf-prog/CrazeAnalytix.git
synced 2026-08-03 15:35:22 +02:00
Implement Dashboard-specific YTD filtering
This commit is contained in:
@@ -525,6 +525,20 @@ const App: React.FC = () => {
|
||||
});
|
||||
}, [combinedAdsData, gridContext.maxWeek]);
|
||||
|
||||
// Derived Data for Dashboard (YTD Filtered - Isolated)
|
||||
// Dashboard needs aggregated data respecting the max week limit of current year.
|
||||
const ytdFilteredData = useMemo(() => {
|
||||
return filteredData.filter(r => r.week <= gridContext.maxWeek);
|
||||
}, [filteredData, gridContext.maxWeek]);
|
||||
|
||||
const ytdFilteredAdsData = useMemo(() => {
|
||||
return filteredAdsData.filter(r => r.week <= gridContext.maxWeek);
|
||||
}, [filteredAdsData, gridContext.maxWeek]);
|
||||
|
||||
const ytdAggregatedData = useMemo(() => {
|
||||
return aggregateData(ytdFilteredData);
|
||||
}, [ytdFilteredData]);
|
||||
|
||||
// Derived Data for Views
|
||||
const years = useMemo(() => getUniqueValues(rawData, 'year').sort().reverse(), [rawData]);
|
||||
|
||||
@@ -701,7 +715,7 @@ const App: React.FC = () => {
|
||||
<FilterBar filters={filters} onFilterChange={handleFilterChange} options={filterOptions} />
|
||||
<div className="mt-6">
|
||||
<div className={view === 'dashboard' ? '' : 'hidden'}>
|
||||
<Dashboard data={aggregatedData} filterState={filters} adsData={filteredAdsData} stockMap={stockMap} />
|
||||
<Dashboard data={ytdAggregatedData} filterState={filters} adsData={ytdFilteredAdsData} stockMap={stockMap} />
|
||||
</div>
|
||||
|
||||
<Suspense fallback={<LoadingSpinner />}>
|
||||
|
||||
Reference in New Issue
Block a user