diff --git a/apps/web/modules/bookings/views/bookings-listing-view.tsx b/apps/web/modules/bookings/views/bookings-listing-view.tsx index 8db8d40f1c..09df18a107 100644 --- a/apps/web/modules/bookings/views/bookings-listing-view.tsx +++ b/apps/web/modules/bookings/views/bookings-listing-view.tsx @@ -19,6 +19,7 @@ import { useFilterValue, ZMultiSelectFilterValue, ZDateRangeFilterValue, + ZTextFilterValue, } from "@calcom/features/data-table"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { RouterOutputs } from "@calcom/trpc/react"; @@ -114,6 +115,8 @@ function BookingsContent({ status }: BookingsProps) { const teamIds = useFilterValue("teamId", ZMultiSelectFilterValue)?.data as number[] | undefined; const userIds = useFilterValue("userId", ZMultiSelectFilterValue)?.data as number[] | undefined; const dateRange = useFilterValue("dateRange", ZDateRangeFilterValue)?.data; + const attendeeName = useFilterValue("attendeeName", ZTextFilterValue); + const attendeeEmail = useFilterValue("attendeeEmail", ZTextFilterValue); const query = trpc.viewer.bookings.get.useInfiniteQuery( { @@ -123,6 +126,8 @@ function BookingsContent({ status }: BookingsProps) { eventTypeIds, teamIds, userIds, + attendeeName, + attendeeEmail, afterStartDate: dateRange?.startDate ?? undefined, beforeEndDate: dateRange?.endDate ?? undefined, }, @@ -164,7 +169,7 @@ function BookingsContent({ status }: BookingsProps) { }), columnHelper.accessor((row) => row.type === "data" && row.booking.user?.id, { id: "userId", - header: t("people"), + header: t("member"), enableColumnFilter: true, enableSorting: false, cell: () => null, @@ -175,6 +180,32 @@ function BookingsContent({ status }: BookingsProps) { }, }, }), + columnHelper.accessor((row) => row, { + id: "attendeeName", + header: t("attendee_name"), + enableColumnFilter: true, + enableSorting: false, + cell: () => null, + filterFn: () => true, + meta: { + filter: { + type: ColumnFilterType.TEXT, + }, + }, + }), + columnHelper.accessor((row) => row, { + id: "attendeeEmail", + header: t("attendee_email_variable"), + enableColumnFilter: true, + enableSorting: false, + cell: () => null, + filterFn: () => true, + meta: { + filter: { + type: ColumnFilterType.TEXT, + }, + }, + }), columnHelper.accessor((row) => row, { id: "dateRange", header: t("date_range"), @@ -314,6 +345,8 @@ function BookingsContent({ status }: BookingsProps) { eventTypeId: false, teamId: false, userId: false, + attendeeName: false, + attendeeEmail: false, dateRange: false, }, }, diff --git a/packages/features/data-table/components/filters/TextFilterOptions.tsx b/packages/features/data-table/components/filters/TextFilterOptions.tsx index 70ba4f3311..cfe25f9c22 100644 --- a/packages/features/data-table/components/filters/TextFilterOptions.tsx +++ b/packages/features/data-table/components/filters/TextFilterOptions.tsx @@ -65,7 +65,7 @@ export function TextFilterOptions({ column }: TextFilterOptionsProps) { )} /> -
+