refactor Property components to be resused for both session/event data. Implement session-data screens + filtering. Remove all event-data specific compoenents/queries

This commit is contained in:
Francis Cao committed 2026-04-29 13:11:03 -07:00
1 parent 9da332c489
commit 680a1ca1a2
71 files changed
+2814 -958

No files matched your search

@@ -1,17 +1,36 @@
import type { ReactQueryOptions } from '@/lib/types';
import { serializePropertyFilters } from '@/lib/params';
import type { PropertyFilter } from '@/lib/types';
import { useApi } from '../useApi';
import { useDateParameters } from '../useDateParameters';
import { useFilterParameters } from '../useFilterParameters';
export function useSessionDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
export function useSessionDataPropertiesQuery(
websiteId: string,
params?: {
selectedPropertyName?: string;
propertyFilters?: PropertyFilter[];
},
options?: ReactQueryOptions,
) {
const { get, useQuery } = useApi();
const { startAt, endAt, unit, timezone } = useDateParameters();
const filters = useFilterParameters();
const filters = useFilterParameters({ includePagination: false });
const { selectedPropertyName, propertyFilters = [] } = params || {};
return useQuery<any>({
queryKey: [
'websites:session-data:properties',
{ websiteId, startAt, endAt, unit, timezone, ...filters },
{
websiteId,
selectedPropertyName,
propertyFilters,
startAt,
endAt,
unit,
timezone,
...filters,
},
],
queryFn: () =>
get(`/websites/${websiteId}/session-data/properties`, {
@@ -19,6 +38,8 @@ export function useSessionDataPropertiesQuery(websiteId: string, options?: React
endAt,
unit,
timezone,
selectedPropertyName,
...serializePropertyFilters(propertyFilters),
...filters,
}),
enabled: !!websiteId,