From b83d39d78f20250cee46d72b1618d8867e4ef2a9 Mon Sep 17 00:00:00 2001 From: hbjORbj Date: Sat, 10 Jan 2026 23:59:04 +0900 Subject: [PATCH 1/8] mv useTeamMembersWithSegment --- .../EditWeightsForAllTeamMembers.tsx | 4 +- .../hooks/useTeamMembersWithSegment.tsx | 37 ++++++++++++++++++ ... => useTeamMembersWithSegmentPlatform.tsx} | 39 ++----------------- 3 files changed, 42 insertions(+), 38 deletions(-) create mode 100644 apps/web/modules/event-types/hooks/useTeamMembersWithSegment.tsx rename packages/platform/atoms/event-types/hooks/{useTeamMembersWithSegment.tsx => useTeamMembersWithSegmentPlatform.tsx} (77%) diff --git a/apps/web/modules/event-types/components/EditWeightsForAllTeamMembers.tsx b/apps/web/modules/event-types/components/EditWeightsForAllTeamMembers.tsx index 89f9db882e1293..b0b1f677acf120 100644 --- a/apps/web/modules/event-types/components/EditWeightsForAllTeamMembers.tsx +++ b/apps/web/modules/event-types/components/EditWeightsForAllTeamMembers.tsx @@ -26,9 +26,9 @@ import { import { showToast } from "@calcom/ui/components/toast"; import { - useTeamMembersWithSegment, useTeamMembersWithSegmentPlatform, -} from "../../../../../packages/platform/atoms/event-types/hooks/useTeamMembersWithSegment"; +} from "../../../../../packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform"; +import { useTeamMembersWithSegment } from "@calcom/web/modules/event-types/hooks/useTeamMembersWithSegment"; type TeamMemberItemProps = { member: Omit & { weight?: number }; diff --git a/apps/web/modules/event-types/hooks/useTeamMembersWithSegment.tsx b/apps/web/modules/event-types/hooks/useTeamMembersWithSegment.tsx new file mode 100644 index 00000000000000..d4492bdf93d645 --- /dev/null +++ b/apps/web/modules/event-types/hooks/useTeamMembersWithSegment.tsx @@ -0,0 +1,37 @@ +import { useQuery } from "@tanstack/react-query"; +import type { AttributesQueryValue } from "@calcom/lib/raqb/types"; +import { trpc } from "@calcom/trpc/react"; +import { type UseTeamMembersWithSegmentProps, useProcessTeamMembersData } from "@calcom/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform"; + +export const useTeamMembersWithSegment = ({ + initialTeamMembers, + assignRRMembersUsingSegment, + teamId, + queryValue, + value, +}: UseTeamMembersWithSegmentProps) => { + const { data: matchingTeamMembersWithResult, isPending } = + trpc.viewer.attributes.findTeamMembersMatchingAttributeLogic.useQuery( + { + teamId: teamId || 0, + attributesQueryValue: queryValue as AttributesQueryValue, + _enablePerf: true, + }, + { + enabled: assignRRMembersUsingSegment && !!queryValue && !!teamId, + } + ); + + const { teamMembers, localWeightsInitialValues } = useProcessTeamMembersData({ + initialTeamMembers, + assignRRMembersUsingSegment, + matchingTeamMembersWithResult, + value, + }); + + return { + teamMembers, + localWeightsInitialValues, + isPending, + }; +}; diff --git a/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegment.tsx b/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx similarity index 77% rename from packages/platform/atoms/event-types/hooks/useTeamMembersWithSegment.tsx rename to packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx index da3a36b122ee7b..cb0529d4e8eba3 100644 --- a/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegment.tsx +++ b/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx @@ -15,7 +15,7 @@ import { trpc } from "@calcom/trpc/react"; import { useAtomsContext } from "../../hooks/useAtomsContext"; import http from "../../lib/http"; -interface UseTeamMembersWithSegmentProps { +export interface UseTeamMembersWithSegmentProps { initialTeamMembers: TeamMember[]; assignRRMembersUsingSegment: boolean; teamId?: number; @@ -24,7 +24,7 @@ interface UseTeamMembersWithSegmentProps { value: Host[]; } -const useProcessTeamMembersData = ({ +export const useProcessTeamMembersData = ({ initialTeamMembers, assignRRMembersUsingSegment, matchingTeamMembersWithResult, @@ -105,37 +105,4 @@ export const useTeamMembersWithSegmentPlatform = ({ localWeightsInitialValues, isPending, }; -}; - -export const useTeamMembersWithSegment = ({ - initialTeamMembers, - assignRRMembersUsingSegment, - teamId, - queryValue, - value, -}: UseTeamMembersWithSegmentProps) => { - const { data: matchingTeamMembersWithResult, isPending } = - trpc.viewer.attributes.findTeamMembersMatchingAttributeLogic.useQuery( - { - teamId: teamId || 0, - attributesQueryValue: queryValue as AttributesQueryValue, - _enablePerf: true, - }, - { - enabled: assignRRMembersUsingSegment && !!queryValue && !!teamId, - } - ); - - const { teamMembers, localWeightsInitialValues } = useProcessTeamMembersData({ - initialTeamMembers, - assignRRMembersUsingSegment, - matchingTeamMembersWithResult, - value, - }); - - return { - teamMembers, - localWeightsInitialValues, - isPending, - }; -}; +}; \ No newline at end of file From 966fea6869355f68d8772db0c9a4ef7b197f66fc Mon Sep 17 00:00:00 2001 From: hbjORbj Date: Sun, 11 Jan 2026 00:00:53 +0900 Subject: [PATCH 2/8] remove --- .../event-types/hooks/useTeamMembersWithSegmentPlatform.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx b/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx index cb0529d4e8eba3..eddaccbc20571a 100644 --- a/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx +++ b/packages/platform/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform.tsx @@ -10,7 +10,6 @@ import type { TeamMemberDto, FindTeamMembersMatchingAttributeOutputDto, } from "@calcom/platform-types"; -import { trpc } from "@calcom/trpc/react"; import { useAtomsContext } from "../../hooks/useAtomsContext"; import http from "../../lib/http"; From 629f3408218a1cfcd6505ec3b43d784a2a0408f1 Mon Sep 17 00:00:00 2001 From: hbjORbj Date: Sun, 11 Jan 2026 19:03:31 +0900 Subject: [PATCH 3/8] fix ts error --- packages/platform/atoms/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/platform/atoms/package.json b/packages/platform/atoms/package.json index 30afb007a34acf..48fe012df14db4 100644 --- a/packages/platform/atoms/package.json +++ b/packages/platform/atoms/package.json @@ -72,6 +72,7 @@ "./event-types/hooks/useEventTypeForm": "./event-types/hooks/useEventTypeForm.ts", "./event-types/hooks/useHandleRouteChange": "./event-types/hooks/useHandleRouteChange.ts", "./event-types/hooks/useTabsNavigations": "./event-types/hooks/useTabsNavigations.tsx", + "./event-types/hooks/useTeamMembersWithSegmentPlatform": "./event-types/hooks/useTeamMembersWithSegmentPlatform.tsx", "./timezone": "./timezone/index.tsx" }, "types": "./dist/index.d.ts", From cfa6164662ef59dfcdcc6b7a401b6670b659e6c1 Mon Sep 17 00:00:00 2001 From: hbjORbj Date: Sun, 11 Jan 2026 19:12:55 +0900 Subject: [PATCH 4/8] remove --- packages/platform/atoms/tsconfig.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/platform/atoms/tsconfig.json b/packages/platform/atoms/tsconfig.json index 2f5bd6c8c0b3ab..c53c46f2069915 100644 --- a/packages/platform/atoms/tsconfig.json +++ b/packages/platform/atoms/tsconfig.json @@ -38,7 +38,6 @@ "../../dayjs", "../../prisma/zod-utils.ts", "../../prisma/zod", - "../../trpc/react", "../../trpc/server/routers/viewer/slots", "../../trpc/server/types", "../../features/eventtypes", From 88abb624e4179f613e7840175c10955e4bee1054 Mon Sep 17 00:00:00 2001 From: hbjORbj Date: Sun, 11 Jan 2026 19:13:30 +0900 Subject: [PATCH 5/8] remove --- .../platform/atoms/availability/AvailabilitySettings.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/platform/atoms/availability/AvailabilitySettings.tsx b/packages/platform/atoms/availability/AvailabilitySettings.tsx index d3b6abc0f11afd..44a92ae0716f80 100644 --- a/packages/platform/atoms/availability/AvailabilitySettings.tsx +++ b/packages/platform/atoms/availability/AvailabilitySettings.tsx @@ -29,7 +29,7 @@ import WebSchedule, { import { availabilityAsString } from "@calcom/lib/availability"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { sortAvailabilityStrings } from "@calcom/lib/weekstart"; -import type { RouterOutputs } from "@calcom/trpc/react"; +import type { TravelScheduleRepository } from "@calcom/features/travelSchedule/repositories/TravelScheduleRepository"; import type { TimeRange, WorkingHours } from "@calcom/types/schedule"; import classNames from "@calcom/ui/classNames"; import { Button } from "@calcom/ui/components/button"; @@ -99,7 +99,7 @@ export type AvailabilitySettingsScheduleType = { type AvailabilitySettingsProps = { skeletonLabel?: string; schedule: AvailabilitySettingsScheduleType; - travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"]; + travelSchedules?: Awaited>; handleDelete: () => void; allowDelete?: boolean; allowSetToDefault?: boolean; @@ -195,7 +195,7 @@ const DateOverride = ({ }: { workingHours: WorkingHours[]; userTimeFormat: number | null; - travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"]; + travelSchedules?: Awaited>; weekStart: 0 | 1 | 2 | 3 | 4 | 5 | 6; overridesModalClassNames?: string; classNames?: { @@ -642,7 +642,7 @@ export const AvailabilitySettings = forwardRef + > {t("save")}