Files
calendar/apps/web/modules/insights/hooks/useInsightsBookingParameters.ts
T
Eunjae LeeGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1368ffe55d refactor: move data-table hooks/contexts/provider from features to web modules (#27833)
* refactor: move data-table hooks/contexts/provider from features to web modules

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

* fix: update broken useColumnResizing import path in DataTable.tsx

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

* fix: update remaining broken import paths for moved hooks

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

* docs: update GUIDE.md import paths and file references for moved modules

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-13 00:00:40 +09:00

51 lines
1.6 KiB
TypeScript

import { useMemo } from "react";
import dayjs from "@calcom/dayjs";
import { useColumnFilters } from "~/data-table/hooks/useColumnFilters";
import { useDataTable } from "~/data-table/hooks/useDataTable";
import {
getDefaultStartDate,
getDefaultEndDate,
DEFAULT_PRESET,
} from "@calcom/features/data-table/lib/dateRange";
import { ColumnFilterType, type ColumnFilter } from "@calcom/features/data-table/lib/types";
import { CURRENT_TIMEZONE } from "@calcom/lib/timezoneConstants";
import { useInsightsOrgTeams } from "./useInsightsOrgTeams";
export function useInsightsBookingParameters() {
const { scope, selectedTeamId } = useInsightsOrgTeams();
const { timeZone } = useDataTable();
const columnFilters = useColumnFilters();
const columnFiltersWithDefaultDateRange = useMemo(() => {
const hasDateRangeFilter = columnFilters.find(
(filter) => filter.id === "startTime" || filter.id === "createdAt"
);
if (hasDateRangeFilter) {
return columnFilters;
} else {
return [
...columnFilters,
{
id: "startTime",
value: {
type: ColumnFilterType.DATE_RANGE,
data: {
startDate: dayjs(getDefaultStartDate().toISOString()).startOf("day").toISOString(),
endDate: dayjs(getDefaultEndDate().toISOString()).endOf("day").toISOString(),
preset: DEFAULT_PRESET.value,
},
},
} satisfies ColumnFilter,
];
}
}, [columnFilters]);
return {
scope,
selectedTeamId,
timeZone: timeZone || CURRENT_TIMEZONE,
columnFilters: columnFiltersWithDefaultDateRange,
};
}