From d440a44d96e939c9b81b806068f2736cf2fcc4e4 Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 7 Oct 2025 09:07:34 -0700 Subject: [PATCH 1/2] clean-up useWebsite query params --- .../hooks/queries/useWebsiteMetricsQuery.ts | 16 +++++++++++----- .../hooks/queries/useWebsitePageviewsQuery.ts | 17 ++++++++++++++--- .../hooks/queries/useWebsiteStatsQuery.ts | 7 ++++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/src/components/hooks/queries/useWebsiteMetricsQuery.ts b/src/components/hooks/queries/useWebsiteMetricsQuery.ts index 8370db8eb..a5ec7ac99 100644 --- a/src/components/hooks/queries/useWebsiteMetricsQuery.ts +++ b/src/components/hooks/queries/useWebsiteMetricsQuery.ts @@ -1,8 +1,8 @@ +import { ReactQueryOptions } from '@/lib/types'; import { keepPreviousData } from '@tanstack/react-query'; import { useApi } from '../useApi'; -import { useFilterParameters } from '../useFilterParameters'; import { useDateParameters } from '../useDateParameters'; -import { ReactQueryOptions } from '@/lib/types'; +import { useFilterParameters } from '../useFilterParameters'; export type WebsiteMetricsData = { x: string; @@ -15,7 +15,7 @@ export function useWebsiteMetricsQuery( options?: ReactQueryOptions, ) { const { get, useQuery } = useApi(); - const date = useDateParameters(); + const { startAt, endAt, unit, timezone } = useDateParameters(); const filters = useFilterParameters(); return useQuery({ @@ -23,14 +23,20 @@ export function useWebsiteMetricsQuery( 'websites:metrics', { websiteId, - ...date, + startAt, + endAt, + unit, + timezone, ...filters, ...params, }, ], queryFn: async () => get(`/websites/${websiteId}/metrics`, { - ...date, + startAt, + endAt, + unit, + timezone, ...filters, ...params, }), diff --git a/src/components/hooks/queries/useWebsitePageviewsQuery.ts b/src/components/hooks/queries/useWebsitePageviewsQuery.ts index 5784cae8e..6f471bab0 100644 --- a/src/components/hooks/queries/useWebsitePageviewsQuery.ts +++ b/src/components/hooks/queries/useWebsitePageviewsQuery.ts @@ -13,12 +13,23 @@ export function useWebsitePageviewsQuery( options?: ReactQueryOptions, ) { const { get, useQuery } = useApi(); - const date = useDateParameters(); + const { startAt, endAt, unit, timezone } = useDateParameters(); const queryParams = useFilterParameters(); return useQuery({ - queryKey: ['websites:pageviews', { websiteId, compare, ...date, ...queryParams }], - queryFn: () => get(`/websites/${websiteId}/pageviews`, { compare, ...date, ...queryParams }), + queryKey: [ + 'websites:pageviews', + { websiteId, compare, startAt, endAt, unit, timezone, ...queryParams }, + ], + queryFn: () => + get(`/websites/${websiteId}/pageviews`, { + compare, + startAt, + endAt, + unit, + timezone, + ...queryParams, + }), enabled: !!websiteId, ...options, }); diff --git a/src/components/hooks/queries/useWebsiteStatsQuery.ts b/src/components/hooks/queries/useWebsiteStatsQuery.ts index 98ae9d8ff..64304b1b9 100644 --- a/src/components/hooks/queries/useWebsiteStatsQuery.ts +++ b/src/components/hooks/queries/useWebsiteStatsQuery.ts @@ -23,12 +23,13 @@ export function useWebsiteStatsQuery( options?: UseQueryOptions, ) { const { get, useQuery } = useApi(); - const date = useDateParameters(); + const { startAt, endAt, unit, timezone } = useDateParameters(); const filters = useFilterParameters(); return useQuery({ - queryKey: ['websites:stats', { websiteId, ...date, ...filters }], - queryFn: () => get(`/websites/${websiteId}/stats`, { ...date, ...filters }), + queryKey: ['websites:stats', { websiteId, startAt, endAt, unit, timezone, ...filters }], + queryFn: () => + get(`/websites/${websiteId}/stats`, { startAt, endAt, unit, timezone, ...filters }), enabled: !!websiteId, ...options, }); From d948e122ea93563f8cc3a15260f99d8c4d457d4e Mon Sep 17 00:00:00 2001 From: Francis Cao Date: Tue, 7 Oct 2025 09:44:59 -0700 Subject: [PATCH 2/2] fix resetAt logic --- src/lib/request.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/request.ts b/src/lib/request.ts index b48953b51..97086c2f4 100644 --- a/src/lib/request.ts +++ b/src/lib/request.ts @@ -1,6 +1,6 @@ import { checkAuth } from '@/lib/auth'; import { DEFAULT_PAGE_SIZE, FILTER_COLUMNS } from '@/lib/constants'; -import { getAllowedUnits, getMinimumUnit, parseDateRange } from '@/lib/date'; +import { getAllowedUnits, getMinimumUnit, maxDate, parseDateRange } from '@/lib/date'; import { fetchWebsite } from '@/lib/load'; import { filtersArrayToObject } from '@/lib/params'; import { badRequest, unauthorized } from '@/lib/response'; @@ -84,7 +84,7 @@ export async function setWebsiteDate(websiteId: string, data: Record