1368ffe55d
* 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>
51 lines
1.6 KiB
TypeScript
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,
|
|
};
|
|
}
|