refactor: Remove trpc/react dependency from @calcom/atoms (#26694)
* mv useTeamMembersWithSegment * remove * fix ts error * remove * remove * remove * biome rule
This commit is contained in:
@@ -26,9 +26,9 @@ import {
|
||||
import { showToast } from "@calcom/ui/components/toast";
|
||||
|
||||
import {
|
||||
useTeamMembersWithSegment,
|
||||
useTeamMembersWithSegmentPlatform,
|
||||
} from "../../../../../packages/platform/atoms/event-types/hooks/useTeamMembersWithSegment";
|
||||
} from "@calcom/atoms/event-types/hooks/useTeamMembersWithSegmentPlatform";
|
||||
import { useTeamMembersWithSegment } from "@calcom/web/modules/event-types/hooks/useTeamMembersWithSegment";
|
||||
|
||||
type TeamMemberItemProps = {
|
||||
member: Omit<TeamMember, "defaultScheduleId"> & { weight?: number };
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
};
|
||||
+32
@@ -323,6 +323,38 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"includes": [
|
||||
"packages/platform/atoms/**/*.{ts,tsx,js,jsx,mts,mjs,cjs,cts}"
|
||||
],
|
||||
"linter": {
|
||||
"rules": {
|
||||
"style": {
|
||||
"noRestrictedImports": {
|
||||
"level": "error",
|
||||
"options": {
|
||||
"patterns": [
|
||||
{
|
||||
"group": [
|
||||
"@calcom/trpc/react",
|
||||
"@calcom/trpc/react/**"
|
||||
],
|
||||
"message": "atoms package should not import from @calcom/trpc/react."
|
||||
},
|
||||
{
|
||||
"group": [
|
||||
"../../trpc/react",
|
||||
"../../trpc/react/**"
|
||||
],
|
||||
"message": "atoms package should not import from trpc/react."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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<ReturnType<typeof TravelScheduleRepository.findTravelSchedulesByUserId>>;
|
||||
handleDelete: () => void;
|
||||
allowDelete?: boolean;
|
||||
allowSetToDefault?: boolean;
|
||||
@@ -195,7 +195,7 @@ const DateOverride = ({
|
||||
}: {
|
||||
workingHours: WorkingHours[];
|
||||
userTimeFormat: number | null;
|
||||
travelSchedules?: RouterOutputs["viewer"]["travelSchedules"]["get"];
|
||||
travelSchedules?: Awaited<ReturnType<typeof TravelScheduleRepository.findTravelSchedulesByUserId>>;
|
||||
weekStart: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
||||
overridesModalClassNames?: string;
|
||||
classNames?: {
|
||||
@@ -642,7 +642,7 @@ export const AvailabilitySettings = forwardRef<AvailabilitySettingsFormRef, Avai
|
||||
form="availability-form"
|
||||
loading={isSaving}
|
||||
disabled={isLoading || !formHasChanges}
|
||||
>
|
||||
>
|
||||
{t("save")}
|
||||
</Button>
|
||||
<Button
|
||||
|
||||
+3
-37
@@ -10,12 +10,11 @@ import type {
|
||||
TeamMemberDto,
|
||||
FindTeamMembersMatchingAttributeOutputDto,
|
||||
} from "@calcom/platform-types";
|
||||
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 +23,7 @@ interface UseTeamMembersWithSegmentProps {
|
||||
value: Host[];
|
||||
}
|
||||
|
||||
const useProcessTeamMembersData = ({
|
||||
export const useProcessTeamMembersData = ({
|
||||
initialTeamMembers,
|
||||
assignRRMembersUsingSegment,
|
||||
matchingTeamMembersWithResult,
|
||||
@@ -105,37 +104,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,
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -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",
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
"../../dayjs",
|
||||
"../../prisma/zod-utils.ts",
|
||||
"../../prisma/zod",
|
||||
"../../trpc/react",
|
||||
"../../trpc/server/routers/viewer/slots",
|
||||
"../../trpc/server/types",
|
||||
"../../features/eventtypes",
|
||||
|
||||
Reference in New Issue
Block a user