mirror of
https://github.com/umami-software/umami.git
synced 2026-02-04 04:37:11 +01:00
Compare commits
4 commits
fbe031bfe9
...
6d480d9c36
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d480d9c36 | ||
|
|
a049fbb5b0 | ||
|
|
6420f2c813 | ||
|
|
fbf03d6563 |
3 changed files with 11 additions and 4 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue