Compare commits

...

4 commits

Author SHA1 Message Date
Mike Cao
6d480d9c36
Merge pull request #3950 from AymanAlSuleihi/fix/compare-metrics
Some checks failed
Node.js CI / build (push) Has been cancelled
Fix metrics bar not updating on compare mode switch
2026-01-10 18:56:54 -08:00
AymanAlSuleihi
a049fbb5b0 Update compare parameter to use enum for valid values 2026-01-09 23:41:16 +00:00
AymanAlSuleihi
6420f2c813 Remove redundant compare param definition 2026-01-09 22:54:50 +00:00
AymanAlSuleihi
fbf03d6563 Fix metrics bar not updating on compare mode switch 2026-01-09 19:35:48 +00:00
3 changed files with 11 additions and 4 deletions

View file

@ -31,7 +31,9 @@ export async function GET(
const data = await getWebsiteStats(websiteId, filters); const data = await getWebsiteStats(websiteId, filters);
const { startDate, endDate } = getCompareDate('prev', filters.startDate, filters.endDate); const compare = filters.compare ?? 'prev';
const { startDate, endDate } = getCompareDate(compare, filters.startDate, filters.endDate);
const comparison = await getWebsiteStats(websiteId, { const comparison = await getWebsiteStats(websiteId, {
...filters, ...filters,

View file

@ -1,5 +1,6 @@
import type { UseQueryOptions } from '@tanstack/react-query'; import type { UseQueryOptions } from '@tanstack/react-query';
import { useDateParameters } from '@/components/hooks/useDateParameters'; import { useDateParameters } from '@/components/hooks/useDateParameters';
import { useDateRange } from '@/components/hooks/useDateRange';
import { useApi } from '../useApi'; import { useApi } from '../useApi';
import { useFilterParameters } from '../useFilterParameters'; import { useFilterParameters } from '../useFilterParameters';
@ -24,12 +25,16 @@ export function useWebsiteStatsQuery(
) { ) {
const { get, useQuery } = useApi(); const { get, useQuery } = useApi();
const { startAt, endAt, unit, timezone } = useDateParameters(); const { startAt, endAt, unit, timezone } = useDateParameters();
const { compare } = useDateRange();
const filters = useFilterParameters(); const filters = useFilterParameters();
return useQuery<WebsiteStatsData>({ return useQuery<WebsiteStatsData>({
queryKey: ['websites:stats', { websiteId, startAt, endAt, unit, timezone, ...filters }], queryKey: [
'websites:stats',
{ websiteId, startAt, endAt, unit, timezone, compare, ...filters },
],
queryFn: () => queryFn: () =>
get(`/websites/${websiteId}/stats`, { startAt, endAt, unit, timezone, ...filters }), get(`/websites/${websiteId}/stats`, { startAt, endAt, unit, timezone, compare, ...filters }),
enabled: !!websiteId, enabled: !!websiteId,
...options, ...options,
}); });

View file

@ -20,7 +20,7 @@ export const dateRangeParams = {
endDate: z.coerce.date().optional(), endDate: z.coerce.date().optional(),
timezone: timezoneParam.optional(), timezone: timezoneParam.optional(),
unit: unitParam.optional(), unit: unitParam.optional(),
compare: z.string().optional(), compare: z.enum(['prev', 'yoy']).optional(),
}; };
export const filterParams = { export const filterParams = {