refactor: remove useInsightsParameters() (#25020)

* refactor: remove useInsightsParameters (no longer needed)

* remove log
This commit is contained in:
Eunjae Lee
2025-11-14 10:50:22 +01:00
committed by GitHub
parent 06e5c9803a
commit d7e6334ccb
3 changed files with 18 additions and 93 deletions
@@ -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<FilterableColumn, { type: ColumnFilterType.DATE_R
};
export function RoutingFormResponsesTable() {
const { isAll, teamId, userId, routingFormId } = useInsightsParameters();
const { isAll, teamId, userId } = useInsightsOrgTeams();
const routingFormId = useFilterValue("formId", ZSingleSelectFilterValue)?.data as string | undefined;
const { t } = useLocale();
@@ -150,7 +153,7 @@ export function RoutingFormResponsesTable() {
{ctaContainerRef.current &&
createPortal(
<>
<DateRangeFilter column={createdAtColumn} />
<DateRangeFilter column={createdAtColumn} options={{ convertToTimeZone: true }} />
<RoutingFormResponsesDownload sorting={sorting} />
</>,
ctaContainerRef.current
@@ -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<PresetOptionValue>(() => {
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,
};
}
@@ -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"],