From d7e6334ccb233eb9275bc397dc0b665551f367c3 Mon Sep 17 00:00:00 2001 From: Eunjae Lee Date: Fri, 14 Nov 2025 10:50:22 +0100 Subject: [PATCH] refactor: remove useInsightsParameters() (#25020) * refactor: remove useInsightsParameters (no longer needed) * remove log --- .../routing/RoutingFormResponsesTable.tsx | 9 ++- .../insights/hooks/useInsightsParameters.ts | 72 ------------------- .../hooks/useInsightsRoutingParameters.ts | 30 ++++---- 3 files changed, 18 insertions(+), 93 deletions(-) delete mode 100644 packages/features/insights/hooks/useInsightsParameters.ts diff --git a/packages/features/insights/components/routing/RoutingFormResponsesTable.tsx b/packages/features/insights/components/routing/RoutingFormResponsesTable.tsx index 438b2a5142..b8d1136dd2 100644 --- a/packages/features/insights/components/routing/RoutingFormResponsesTable.tsx +++ b/packages/features/insights/components/routing/RoutingFormResponsesTable.tsx @@ -14,6 +14,8 @@ import { DataTableSegment, ColumnFilterType, convertMapToFacetedValues, + useFilterValue, + ZSingleSelectFilterValue, type FilterableColumn, } from "@calcom/features/data-table"; import { useInsightsRoutingParameters } from "@calcom/features/insights/hooks/useInsightsRoutingParameters"; @@ -22,7 +24,7 @@ import { trpc } from "@calcom/trpc"; import { RoutingFormResponsesDownload } from "../../filters/Download"; import { OrgTeamsFilter } from "../../filters/OrgTeamsFilter"; import { useInsightsColumns } from "../../hooks/useInsightsColumns"; -import { useInsightsParameters } from "../../hooks/useInsightsParameters"; +import { useInsightsOrgTeams } from "../../hooks/useInsightsOrgTeams"; import { useInsightsRoutingFacetedUniqueValues } from "../../hooks/useInsightsRoutingFacetedUniqueValues"; import type { RoutingFormTableRow } from "../../lib/types"; import { RoutingKPICards } from "./RoutingKPICards"; @@ -38,7 +40,8 @@ const createdAtColumn: Extract - + , ctaContainerRef.current diff --git a/packages/features/insights/hooks/useInsightsParameters.ts b/packages/features/insights/hooks/useInsightsParameters.ts deleted file mode 100644 index b46285e8b0..0000000000 --- a/packages/features/insights/hooks/useInsightsParameters.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { useMemo } from "react"; - -import dayjs from "@calcom/dayjs"; -import { - useFilterValue, - useColumnFilters, - ZMultiSelectFilterValue, - ZSingleSelectFilterValue, - ZDateRangeFilterValue, -} from "@calcom/features/data-table"; -import { useChangeTimeZoneWithPreservedLocalTime } from "@calcom/features/data-table/hooks/useChangeTimeZoneWithPreservedLocalTime"; -import { - getDefaultStartDate, - getDefaultEndDate, - CUSTOM_PRESET_VALUE, - type PresetOptionValue, -} from "@calcom/features/data-table/lib/dateRange"; - -import { useInsightsOrgTeams } from "./useInsightsOrgTeams"; - -export function useInsightsParameters() { - const { isAll, teamId, userId, scope, selectedTeamId } = useInsightsOrgTeams(); - - const memberUserIds = useFilterValue("bookingUserId", ZMultiSelectFilterValue)?.data as - | number[] - | undefined; - const memberUserId = useFilterValue("bookingUserId", ZSingleSelectFilterValue)?.data as number | undefined; - const eventTypeId = useFilterValue("eventTypeId", ZSingleSelectFilterValue)?.data as number | undefined; - const routingFormId = useFilterValue("formId", ZSingleSelectFilterValue)?.data as string | undefined; - const createdAtRange = useFilterValue("createdAt", ZDateRangeFilterValue)?.data; - // TODO for future: this preserving local time & startOf & endOf should be handled - // from DateRangeFilter out of the box. - // When we do it, we also need to remove those timezone handling logic from the backend side at the same time. - const startDate = useChangeTimeZoneWithPreservedLocalTime( - useMemo(() => { - return dayjs(createdAtRange?.startDate ?? getDefaultStartDate().toISOString()) - .startOf("day") - .toISOString(); - }, [createdAtRange?.startDate]) - ); - const endDate = useChangeTimeZoneWithPreservedLocalTime( - useMemo(() => { - return dayjs(createdAtRange?.endDate ?? getDefaultEndDate().toISOString()) - .endOf("day") - .toISOString(); - }, [createdAtRange?.endDate]) - ); - - const dateRangePreset = useMemo(() => { - return (createdAtRange?.preset as PresetOptionValue) ?? CUSTOM_PRESET_VALUE; - }, [createdAtRange?.preset]); - - const columnFilters = useColumnFilters({ - exclude: ["createdAt"], - }); - - return { - isAll, - teamId, - userId, - scope, - selectedTeamId, - memberUserIds, - memberUserId, - eventTypeId, - routingFormId, - startDate, - endDate, - dateRangePreset, - columnFilters, - }; -} diff --git a/packages/features/insights/hooks/useInsightsRoutingParameters.ts b/packages/features/insights/hooks/useInsightsRoutingParameters.ts index 69b98d3d57..a641b306f2 100644 --- a/packages/features/insights/hooks/useInsightsRoutingParameters.ts +++ b/packages/features/insights/hooks/useInsightsRoutingParameters.ts @@ -2,7 +2,6 @@ import { useMemo } from "react"; import dayjs from "@calcom/dayjs"; import { useFilterValue, useColumnFilters, ZDateRangeFilterValue } from "@calcom/features/data-table"; -import { useChangeTimeZoneWithPreservedLocalTime } from "@calcom/features/data-table/hooks/useChangeTimeZoneWithPreservedLocalTime"; import { getDefaultStartDate, getDefaultEndDate } from "@calcom/features/data-table/lib/dateRange"; import { useInsightsOrgTeams } from "./useInsightsOrgTeams"; @@ -11,23 +10,18 @@ export function useInsightsRoutingParameters() { const { scope, selectedTeamId } = useInsightsOrgTeams(); const createdAtRange = useFilterValue("createdAt", ZDateRangeFilterValue)?.data; - // TODO for future: this preserving local time & startOf & endOf should be handled - // from DateRangeFilter out of the box. - // When we do it, we also need to remove those timezone handling logic from the backend side at the same time. - const startDate = useChangeTimeZoneWithPreservedLocalTime( - useMemo(() => { - return dayjs(createdAtRange?.startDate ?? getDefaultStartDate().toISOString()) - .startOf("day") - .toISOString(); - }, [createdAtRange?.startDate]) - ); - const endDate = useChangeTimeZoneWithPreservedLocalTime( - useMemo(() => { - return dayjs(createdAtRange?.endDate ?? getDefaultEndDate().toISOString()) - .endOf("day") - .toISOString(); - }, [createdAtRange?.endDate]) - ); + + const startDate = useMemo(() => { + return dayjs(createdAtRange?.startDate ?? getDefaultStartDate().toISOString()) + .startOf("day") + .toISOString(); + }, [createdAtRange?.startDate]); + + const endDate = useMemo(() => { + return dayjs(createdAtRange?.endDate ?? getDefaultEndDate().toISOString()) + .endOf("day") + .toISOString(); + }, [createdAtRange?.endDate]); const columnFilters = useColumnFilters({ exclude: ["createdAt"],