From 8c123ece252ce51d00e1ef6e8fbc997fbdb887ab Mon Sep 17 00:00:00 2001 From: Benny Joo Date: Mon, 2 Feb 2026 22:25:41 +0900 Subject: [PATCH] refactor: move shared components from apps/web to packages/features (#27490) * refactor: move shared components from apps/web to packages/features Move components that don't require dependency injection: - DisconnectIntegrationModal - Booking components (Header, Section, TimeFormatToggle, PayIcon, Price) - useInitializeWeekStart hook - TeamEventTypeForm - Event type components (AssignAllTeamMembers, BulkEditDefaultForEventsModal, etc.) - Event type dialogs (HostEditDialogs, ManagedEventDialog) - Location components (LocationInput, types) - Tab components (EventLimitsTab, EventRecurringTab, etc.) Co-Authored-By: benny@cal.com * refactor: update import paths to use @calcom/features Update imports in apps/web and packages/platform/atoms to reference the moved components from @calcom/features instead of @calcom/web. Co-Authored-By: benny@cal.com * refactor: delete original files from apps/web/modules Complete the file move by deleting the original files that were copied to packages/features. This makes it a proper move instead of a copy, reducing the PR size significantly. Co-Authored-By: benny@cal.com * fix: update import paths to use @calcom/features for moved files Update import paths in apps/web files that reference components that were moved from apps/web/modules to packages/features: - LearnMoreLink - ChildrenEventTypeSelect - AssignAllTeamMembers - WeightDescription - LocationCustomClassNames (types) Co-Authored-By: benny@cal.com * fix: update additional import paths for moved components Update import paths in apps/web files that reference components moved from apps/web/modules to packages/features: - AppList.tsx: BulkEditDefaultForEventsModal - schedule-view.tsx: BulkUpdatParams type - AddMembersWithSwitch.tsx: AssignAllTeamMembers, CheckedTeamSelect - EventTypeWebWrapper.tsx: ChildrenEventType, ManagedEventDialog - DefaultLocationSettings.tsx: LocationCustomClassNames, LocationInput - Locations.tsx: LocationCustomClassNames, LocationInput Co-Authored-By: benny@cal.com * fix: resolve circular dependency by adding isPlatform prop to Header This fixes the circular dependency where @calcom/atoms (CalendarViewComponent) was importing Header from @calcom/features, but Header was importing useIsPlatform from @calcom/atoms. The fix adds an isPlatform prop to the Header component so it no longer needs to import useIsPlatform from @calcom/atoms. Callers now pass the isPlatform value directly: - atoms components pass isPlatform={true} - web components pass the isPlatform prop they receive Fix confidence: 9/10 (Cubic AI) Co-Authored-By: unknown <> * fix * fix * fix * fix * fix * fix --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../(use-page-wrapper)/payment/[uid]/PaymentPage.tsx | 4 ++-- apps/web/modules/apps/components/AppList.tsx | 4 ++-- .../apps/components/ConferencingAppsViewWebWrapper.tsx | 2 +- .../installed/[category]/installed-category-view.tsx | 6 +++--- .../modules/availability/[schedule]/schedule-view.tsx | 2 +- apps/web/modules/availability/availability-view.tsx | 4 ++-- .../bookings/components/AvailableTimesHeader.tsx | 2 +- apps/web/modules/bookings/components/Booker.tsx | 4 ++-- .../modules/bookings/components/__mocks__/Header.tsx | 4 ++-- .../modules/bookings/components/__mocks__/Section.tsx | 2 +- .../modules/bookings/components/event-meta/Details.tsx | 2 +- .../modules/bookings/components/event-meta/index.ts | 2 +- .../modules/bookings/views/bookings-single-view.tsx | 2 +- apps/web/modules/ee/teams/views/team-settings-view.tsx | 2 +- .../event-types/components/AddMembersWithSwitch.tsx | 6 +++--- .../event-types/components/CreateEventTypeDialog.tsx | 4 ++-- apps/web/modules/event-types/components/EventType.tsx | 2 +- .../event-types/components/EventTypeDescription.tsx | 2 +- .../event-types/components/EventTypeWebWrapper.tsx | 6 ++++-- apps/web/modules/event-types/components/index.ts | 4 ++-- .../components/locations/DefaultLocationSettings.tsx | 4 ++-- .../event-types/components/locations/Locations.tsx | 4 ++-- .../tabs/advanced/DisableReschedulingController.tsx | 2 +- .../components/tabs/advanced/EventAdvancedTab.tsx | 2 +- .../components/tabs/advanced/FormBuilder.tsx | 2 +- .../tabs/advanced/RequiresConfirmationController.tsx | 2 +- .../tabs/assignment/EventTeamAssignmentTab.tsx | 10 +++++----- .../tabs/limits/EventLimitsTabWebWrapper.tsx | 4 ++-- .../tabs/recurring/EventRecurringWebWrapper.tsx | 4 ++-- .../components/tabs/setup/EventSetupTab.tsx | 2 +- .../modules/settings/teams/[id]/event-types-view.tsx | 2 +- .../apps/components/DisconnectIntegrationModal.tsx | 0 .../features}/bookings/components/Header.tsx | 5 ++--- .../features}/bookings/components/Section.tsx | 0 .../features}/bookings/components/TimeFormatToggle.tsx | 0 .../bookings/components/event-meta/PayIcon.tsx | 0 .../features}/bookings/components/event-meta/Price.tsx | 0 .../features}/bookings/hooks/useInitializeWeekStart.ts | 0 .../ee/teams/components/TeamEventTypeForm.tsx | 0 .../eventtypes}/components/AssignAllTeamMembers.tsx | 0 .../components/BulkEditDefaultForEventsModal.tsx | 0 .../eventtypes}/components/CheckedTeamSelect.tsx | 4 ++-- .../eventtypes}/components/ChildrenEventTypeSelect.tsx | 0 .../eventtypes}/components/CreateEventTypeForm.tsx | 0 .../features/eventtypes}/components/LearnMoreLink.tsx | 0 .../eventtypes}/components/WeightDescription.tsx | 0 .../eventtypes/components/dialogs}/HostEditDialogs.tsx | 4 ++-- .../components/dialogs/ManagedEventDialog.tsx | 2 +- .../eventtypes}/components/locations/LocationInput.tsx | 0 .../features/eventtypes}/components/locations/types.ts | 0 .../components/tabs/limits/EventLimitsTab.tsx | 2 +- .../limits/MaxActiveBookingsPerBookerController.tsx | 2 +- .../components/tabs/recurring/EventRecurringTab.tsx | 0 .../tabs/recurring/RecurringEventController.tsx | 2 +- .../atoms/availability/AvailabilitySettings.tsx | 4 ++-- .../atoms/calendar-view/CalendarViewComponent.tsx | 4 ++-- .../calendar-view/EventTypeCalendarViewComponent.tsx | 4 ++-- .../atoms/event-types/payments/PaymentForm.tsx | 4 ++-- .../wrappers/CreateEventTypePlatformWrapper.tsx | 4 ++-- .../wrappers/EventLimitsTabPlatformWrapper.tsx | 4 ++-- .../wrappers/EventRecurringTabPlatformWrapper.tsx | 4 ++-- 61 files changed, 77 insertions(+), 76 deletions(-) rename {apps/web/modules => packages/features}/apps/components/DisconnectIntegrationModal.tsx (100%) rename {apps/web/modules => packages/features}/bookings/components/Header.tsx (97%) rename {apps/web/modules => packages/features}/bookings/components/Section.tsx (100%) rename {apps/web/modules => packages/features}/bookings/components/TimeFormatToggle.tsx (100%) rename {apps/web/modules => packages/features}/bookings/components/event-meta/PayIcon.tsx (100%) rename {apps/web/modules => packages/features}/bookings/components/event-meta/Price.tsx (100%) rename {apps/web/modules => packages/features}/bookings/hooks/useInitializeWeekStart.ts (100%) rename {apps/web/modules => packages/features}/ee/teams/components/TeamEventTypeForm.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/AssignAllTeamMembers.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/BulkEditDefaultForEventsModal.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/CheckedTeamSelect.tsx (97%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/ChildrenEventTypeSelect.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/CreateEventTypeForm.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/LearnMoreLink.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/WeightDescription.tsx (100%) rename {apps/web/modules/event-types/components => packages/features/eventtypes/components/dialogs}/HostEditDialogs.tsx (97%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/dialogs/ManagedEventDialog.tsx (94%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/locations/LocationInput.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/locations/types.ts (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/tabs/limits/EventLimitsTab.tsx (99%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx (97%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/tabs/recurring/EventRecurringTab.tsx (100%) rename {apps/web/modules/event-types => packages/features/eventtypes}/components/tabs/recurring/RecurringEventController.tsx (99%) diff --git a/apps/web/app/(use-page-wrapper)/payment/[uid]/PaymentPage.tsx b/apps/web/app/(use-page-wrapper)/payment/[uid]/PaymentPage.tsx index a713f912ac..d4af324163 100644 --- a/apps/web/app/(use-page-wrapper)/payment/[uid]/PaymentPage.tsx +++ b/apps/web/app/(use-page-wrapper)/payment/[uid]/PaymentPage.tsx @@ -9,8 +9,8 @@ import { getPaymentAppData } from "@calcom/app-store/_utils/payments/getPaymentA import { getSuccessPageLocationMessage } from "@calcom/app-store/locations"; import dayjs from "@calcom/dayjs"; import { sdkActionManager, useIsEmbed } from "@calcom/embed-core/embed-iframe"; -import { PayIcon } from "@calcom/web/modules/bookings/components/event-meta/PayIcon"; -import { Price } from "@calcom/web/modules/bookings/components/event-meta/Price"; +import { PayIcon } from "@calcom/features/bookings/components/event-meta/PayIcon"; +import { Price } from "@calcom/features/bookings/components/event-meta/Price"; import type { PaymentPageProps } from "@calcom/features/ee/payments/pages/payment"; import { APP_NAME, WEBSITE_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; diff --git a/apps/web/modules/apps/components/AppList.tsx b/apps/web/modules/apps/components/AppList.tsx index 21ab554333..0b60bb3ee7 100644 --- a/apps/web/modules/apps/components/AppList.tsx +++ b/apps/web/modules/apps/components/AppList.tsx @@ -10,8 +10,8 @@ import { AppSetDefaultLinkDialog } from "@calcom/web/modules/apps/components/App import type { BulkUpdatParams, EventTypes, -} from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; -import { BulkEditDefaultForEventsModal } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; +} from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; +import { BulkEditDefaultForEventsModal } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; import { isDelegationCredential } from "@calcom/lib/delegationCredential"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { AppCategories } from "@calcom/prisma/enums"; diff --git a/apps/web/modules/apps/components/ConferencingAppsViewWebWrapper.tsx b/apps/web/modules/apps/components/ConferencingAppsViewWebWrapper.tsx index 217769413f..7bce14d608 100644 --- a/apps/web/modules/apps/components/ConferencingAppsViewWebWrapper.tsx +++ b/apps/web/modules/apps/components/ConferencingAppsViewWebWrapper.tsx @@ -12,7 +12,7 @@ import { SkeletonText, SkeletonContainer } from "@calcom/ui/components/skeleton" import { showToast } from "@calcom/ui/components/toast"; import { AppList } from "./AppList"; -import DisconnectIntegrationModal from "./DisconnectIntegrationModal"; +import DisconnectIntegrationModal from "@calcom/features/apps/components/DisconnectIntegrationModal"; type UpdateUsersDefaultConferencingAppParams = { appSlug: string; diff --git a/apps/web/modules/apps/installed/[category]/installed-category-view.tsx b/apps/web/modules/apps/installed/[category]/installed-category-view.tsx index 1d6e81989b..985509d547 100644 --- a/apps/web/modules/apps/installed/[category]/installed-category-view.tsx +++ b/apps/web/modules/apps/installed/[category]/installed-category-view.tsx @@ -5,10 +5,10 @@ import { useReducer } from "react"; import getAppCategoryTitle from "@calcom/app-store/_utils/getAppCategoryTitle"; import { AppList, type HandleDisconnect } from "@calcom/web/modules/apps/components/AppList"; import type { UpdateUsersDefaultConferencingAppParams } from "@calcom/web/modules/apps/components/AppSetDefaultLinkDialog"; -import DisconnectIntegrationModal from "@calcom/web/modules/apps/components/DisconnectIntegrationModal"; -import type { RemoveAppParams } from "@calcom/web/modules/apps/components/DisconnectIntegrationModal"; +import DisconnectIntegrationModal from "@calcom/features/apps/components/DisconnectIntegrationModal"; +import type { RemoveAppParams } from "@calcom/features/apps/components/DisconnectIntegrationModal"; import { SkeletonLoader } from "@calcom/web/modules/apps/components/SkeletonLoader"; -import type { BulkUpdatParams } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; +import type { BulkUpdatParams } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { AppCategories } from "@calcom/prisma/enums"; import { trpc } from "@calcom/trpc/react"; diff --git a/apps/web/modules/availability/[schedule]/schedule-view.tsx b/apps/web/modules/availability/[schedule]/schedule-view.tsx index 99d6313ad0..e65ec4ad32 100644 --- a/apps/web/modules/availability/[schedule]/schedule-view.tsx +++ b/apps/web/modules/availability/[schedule]/schedule-view.tsx @@ -6,7 +6,7 @@ import { useRouter, useSearchParams } from "next/navigation"; import { useState } from "react"; import { AvailabilitySettings } from "@calcom/atoms/availability/AvailabilitySettings"; -import type { BulkUpdatParams } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; +import type { BulkUpdatParams } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; import { withErrorFromUnknown } from "@calcom/lib/getClientErrorFromUnknown"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { HttpError } from "@calcom/lib/http-error"; diff --git a/apps/web/modules/availability/availability-view.tsx b/apps/web/modules/availability/availability-view.tsx index ce529583ff..c507f45b07 100644 --- a/apps/web/modules/availability/availability-view.tsx +++ b/apps/web/modules/availability/availability-view.tsx @@ -7,8 +7,8 @@ import { useRouter, usePathname } from "next/navigation"; import { useCallback, useState } from "react"; import posthog from "posthog-js"; -import { BulkEditDefaultForEventsModal } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; -import type { BulkUpdatParams } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; +import { BulkEditDefaultForEventsModal } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; +import type { BulkUpdatParams } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; import { NewScheduleButton } from "@calcom/web/modules/schedules/components/NewScheduleButton"; import { ScheduleListItem } from "@calcom/features/schedules/components/ScheduleListItem"; import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams"; diff --git a/apps/web/modules/bookings/components/AvailableTimesHeader.tsx b/apps/web/modules/bookings/components/AvailableTimesHeader.tsx index cdbcd34fb3..82825bc961 100644 --- a/apps/web/modules/bookings/components/AvailableTimesHeader.tsx +++ b/apps/web/modules/bookings/components/AvailableTimesHeader.tsx @@ -8,7 +8,7 @@ import { nameOfDay } from "@calcom/lib/weekday"; import { BookerLayouts } from "@calcom/prisma/zod-utils"; import classNames from "@calcom/ui/classNames"; -import { TimeFormatToggle } from "./TimeFormatToggle"; +import { TimeFormatToggle } from "@calcom/features/bookings/components/TimeFormatToggle"; type AvailableTimesHeaderProps = { date: Dayjs; diff --git a/apps/web/modules/bookings/components/Booker.tsx b/apps/web/modules/bookings/components/Booker.tsx index 4900c067c9..fa16517c32 100644 --- a/apps/web/modules/bookings/components/Booker.tsx +++ b/apps/web/modules/bookings/components/Booker.tsx @@ -45,12 +45,12 @@ import { DatePicker } from "./DatePicker"; import { DryRunMessage } from "./DryRunMessage"; import { EventMeta } from "./EventMeta"; import { HavingTroubleFindingTime } from "./HavingTroubleFindingTime"; -import { Header } from "./Header"; +import { Header } from "@calcom/features/bookings/components/Header"; import { InstantBooking } from "./InstantBooking"; import { LargeCalendar } from "./LargeCalendar"; import { OverlayCalendar } from "./OverlayCalendar/OverlayCalendar"; import { RedirectToInstantMeetingModal } from "./RedirectToInstantMeetingModal"; -import { BookerSection } from "./Section"; +import { BookerSection } from "@calcom/features/bookings/components/Section"; import { SlotSelectionModalHeader } from "./SlotSelectionModalHeader"; import { NotFound } from "./Unavailable"; import { VerifyCodeDialog } from "./VerifyCodeDialog"; diff --git a/apps/web/modules/bookings/components/__mocks__/Header.tsx b/apps/web/modules/bookings/components/__mocks__/Header.tsx index 6bea2f3055..036baee91e 100644 --- a/apps/web/modules/bookings/components/__mocks__/Header.tsx +++ b/apps/web/modules/bookings/components/__mocks__/Header.tsx @@ -1,5 +1,5 @@ import { vi } from "vitest"; -// Mock layout components -vi.mock("../Header", () => ({ + +vi.mock("@calcom/features/bookings/components/Header", () => ({ Header: ({ children }: { children: React.ReactNode }) =>
{children}
, })); diff --git a/apps/web/modules/bookings/components/__mocks__/Section.tsx b/apps/web/modules/bookings/components/__mocks__/Section.tsx index 69decce772..862404f5aa 100644 --- a/apps/web/modules/bookings/components/__mocks__/Section.tsx +++ b/apps/web/modules/bookings/components/__mocks__/Section.tsx @@ -1,7 +1,7 @@ import type React from "react"; import { vi } from "vitest"; -vi.mock("../Section", () => { +vi.mock("@calcom/features/bookings/components/Section", () => { const BookerSection = ({ children, className = "", diff --git a/apps/web/modules/bookings/components/event-meta/Details.tsx b/apps/web/modules/bookings/components/event-meta/Details.tsx index 03fdbea0db..bcff49847b 100644 --- a/apps/web/modules/bookings/components/event-meta/Details.tsx +++ b/apps/web/modules/bookings/components/event-meta/Details.tsx @@ -13,7 +13,7 @@ import { EventDetailBlocks } from "@calcom/features/bookings/types"; import { AvailableEventLocations } from "./AvailableEventLocations"; import { EventDuration } from "./Duration"; import { EventOccurences } from "./Occurences"; -import { Price } from "./Price"; +import { Price } from "@calcom/features/bookings/components/event-meta/Price"; type EventDetailsPropsBase = { event: Pick< diff --git a/apps/web/modules/bookings/components/event-meta/index.ts b/apps/web/modules/bookings/components/event-meta/index.ts index 42cf522430..4a759c058d 100644 --- a/apps/web/modules/bookings/components/event-meta/index.ts +++ b/apps/web/modules/bookings/components/event-meta/index.ts @@ -3,4 +3,4 @@ export { EventTitle } from "./Title"; export { EventMetaSkeleton } from "./Skeleton"; export { EventMembers } from "./Members"; export { PriceIcon } from "./PriceIcon"; -export { PayIcon } from "./PayIcon"; +export { PayIcon } from "@calcom/features/bookings/components/event-meta/PayIcon"; diff --git a/apps/web/modules/bookings/views/bookings-single-view.tsx b/apps/web/modules/bookings/views/bookings-single-view.tsx index d623b36fd0..4106899949 100644 --- a/apps/web/modules/bookings/views/bookings-single-view.tsx +++ b/apps/web/modules/bookings/views/bookings-single-view.tsx @@ -21,7 +21,7 @@ import { useIsBackgroundTransparent, useIsEmbed, } from "@calcom/embed-core/embed-iframe"; -import { Price } from "@calcom/web/modules/bookings/components/event-meta/Price"; +import { Price } from "@calcom/features/bookings/components/event-meta/Price"; import { getCalendarLinks, CalendarLinkType } from "@calcom/features/bookings/lib/getCalendarLinks"; import { RATING_OPTIONS, validateRating } from "@calcom/features/bookings/lib/rating"; import { isWithinMinimumRescheduleNotice as isWithinMinimumRescheduleNoticeUtil } from "@calcom/features/bookings/lib/reschedule/isWithinMinimumRescheduleNotice"; diff --git a/apps/web/modules/ee/teams/views/team-settings-view.tsx b/apps/web/modules/ee/teams/views/team-settings-view.tsx index f33e905978..a4feb4bd6e 100644 --- a/apps/web/modules/ee/teams/views/team-settings-view.tsx +++ b/apps/web/modules/ee/teams/views/team-settings-view.tsx @@ -21,7 +21,7 @@ import { SettingsToggle } from "@calcom/ui/components/form"; import { CheckboxField } from "@calcom/ui/components/form"; import { showToast } from "@calcom/ui/components/toast"; import { revalidateTeamDataCache } from "@calcom/web/app/(booking-page-wrapper)/team/[slug]/[type]/actions"; -import { IntervalLimitsManager } from "@calcom/web/modules/event-types/components/tabs/limits/EventLimitsTab"; +import { IntervalLimitsManager } from "@calcom/features/eventtypes/components/tabs/limits/EventLimitsTab"; import DisableTeamImpersonation from "../components/DisableTeamImpersonation"; import { default as InternalNotePresetsView } from "../components/InternalNotePresetsView"; diff --git a/apps/web/modules/event-types/components/AddMembersWithSwitch.tsx b/apps/web/modules/event-types/components/AddMembersWithSwitch.tsx index 37ad31a9cb..d90fbdad67 100644 --- a/apps/web/modules/event-types/components/AddMembersWithSwitch.tsx +++ b/apps/web/modules/event-types/components/AddMembersWithSwitch.tsx @@ -15,9 +15,9 @@ import { Controller, useFormContext } from "react-hook-form"; import type { Options } from "react-select"; import { AddMembersWithSwitchWebWrapper } from "./AddMembersWithSwitchWebWrapper"; -import AssignAllTeamMembers from "./AssignAllTeamMembers"; -import type { CheckedSelectOption, CheckedTeamSelectCustomClassNames } from "./CheckedTeamSelect"; -import CheckedTeamSelect from "./CheckedTeamSelect"; +import AssignAllTeamMembers from "@calcom/features/eventtypes/components/AssignAllTeamMembers"; +import type { CheckedSelectOption, CheckedTeamSelectCustomClassNames } from "@calcom/features/eventtypes/components/CheckedTeamSelect"; +import CheckedTeamSelect from "@calcom/features/eventtypes/components/CheckedTeamSelect"; interface IUserToValue { id: number | null; diff --git a/apps/web/modules/event-types/components/CreateEventTypeDialog.tsx b/apps/web/modules/event-types/components/CreateEventTypeDialog.tsx index 389c83a0ff..9af51bf556 100644 --- a/apps/web/modules/event-types/components/CreateEventTypeDialog.tsx +++ b/apps/web/modules/event-types/components/CreateEventTypeDialog.tsx @@ -4,7 +4,7 @@ import { z } from "zod"; import { Dialog } from "@calcom/features/components/controlled-dialog"; import { useOrgBranding } from "@calcom/features/ee/organizations/context/provider"; -import CreateEventTypeForm from "@calcom/web/modules/event-types/components/CreateEventTypeForm"; +import CreateEventTypeForm from "@calcom/features/eventtypes/components/CreateEventTypeForm"; import { useCreateEventType } from "@calcom/features/eventtypes/hooks/useCreateEventType"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery"; @@ -15,7 +15,7 @@ import { trpc } from "@calcom/trpc/react"; import { Button } from "@calcom/ui/components/button"; import { DialogContent, DialogFooter, DialogClose } from "@calcom/ui/components/dialog"; import { showToast } from "@calcom/ui/components/toast"; -import { TeamEventTypeForm } from "@calcom/web/modules/ee/teams/components/TeamEventTypeForm"; +import { TeamEventTypeForm } from "@calcom/features/ee/teams/components/TeamEventTypeForm"; // this describes the uniform data needed to create a new event type on Profile or Team export interface EventTypeParent { diff --git a/apps/web/modules/event-types/components/EventType.tsx b/apps/web/modules/event-types/components/EventType.tsx index 517b48b118..a7e934cb7a 100644 --- a/apps/web/modules/event-types/components/EventType.tsx +++ b/apps/web/modules/event-types/components/EventType.tsx @@ -5,7 +5,7 @@ import { useAutoAnimate } from "@formkit/auto-animate/react"; import type { UseFormReturn } from "react-hook-form"; import type { Workflow } from "@calcom/features/ee/workflows/lib/types"; -import type { ChildrenEventType } from "@calcom/web/modules/event-types/components/ChildrenEventTypeSelect"; +import type { ChildrenEventType } from "@calcom/features/eventtypes/components/ChildrenEventTypeSelect"; import type { TabMap, EventTypeSetupProps, diff --git a/apps/web/modules/event-types/components/EventTypeDescription.tsx b/apps/web/modules/event-types/components/EventTypeDescription.tsx index 16e3a18020..94ada7535e 100644 --- a/apps/web/modules/event-types/components/EventTypeDescription.tsx +++ b/apps/web/modules/event-types/components/EventTypeDescription.tsx @@ -2,7 +2,7 @@ import { useMemo } from "react"; import { getPaymentAppData } from "@calcom/app-store/_utils/payments/getPaymentAppData"; import { eventTypeMetaDataSchemaWithTypedApps } from "@calcom/app-store/zod-utils"; -import { Price } from "@calcom/web/modules/bookings/components/event-meta/Price"; +import { Price } from "@calcom/features/bookings/components/event-meta/Price"; import { PriceIcon } from "@calcom/web/modules/bookings/components/event-meta/PriceIcon"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { parseRecurringEvent } from "@calcom/lib/isRecurringEvent"; diff --git a/apps/web/modules/event-types/components/EventTypeWebWrapper.tsx b/apps/web/modules/event-types/components/EventTypeWebWrapper.tsx index 355a0b84cd..1184caef68 100644 --- a/apps/web/modules/event-types/components/EventTypeWebWrapper.tsx +++ b/apps/web/modules/event-types/components/EventTypeWebWrapper.tsx @@ -24,7 +24,7 @@ import { TRPCClientError } from "@trpc/react-query"; import { revalidateTeamEventTypeCache } from "@calcom/web/app/(booking-page-wrapper)/team/[slug]/[type]/actions"; import { revalidateEventTypeEditPage } from "@calcom/web/app/(use-page-wrapper)/event-types/[type]/actions"; -import type { ChildrenEventType } from "./ChildrenEventTypeSelect"; +import type { ChildrenEventType } from "@calcom/features/eventtypes/components/ChildrenEventTypeSelect"; import { EventType as EventTypeComponent } from "./EventType"; import { useEventTypeForm } from "@calcom/atoms/event-types/hooks/useEventTypeForm"; import { useHandleRouteChange } from "@calcom/atoms/event-types/hooks/useHandleRouteChange"; @@ -45,7 +45,9 @@ type EventPermissions = { }; }; -const ManagedEventTypeDialog = dynamic(() => import("./dialogs/ManagedEventDialog")); +const ManagedEventTypeDialog = dynamic(() => + import("@calcom/features/eventtypes/components/dialogs/ManagedEventDialog") +); const AssignmentWarningDialog = dynamic(() => import("./dialogs/AssignmentWarningDialog")); diff --git a/apps/web/modules/event-types/components/index.ts b/apps/web/modules/event-types/components/index.ts index 060c579d70..134aa3fb0e 100644 --- a/apps/web/modules/event-types/components/index.ts +++ b/apps/web/modules/event-types/components/index.ts @@ -1,7 +1,7 @@ import dynamic from "next/dynamic"; -export { default as CheckedTeamSelect } from "./CheckedTeamSelect"; +export { default as CheckedTeamSelect } from "@calcom/features/eventtypes/components/CheckedTeamSelect"; export { default as EventTypeDescription } from "./EventTypeDescription"; -export { LearnMoreLink } from "./LearnMoreLink"; +export { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; export { MultiplePrivateLinksController } from "./MultiplePrivateLinksController"; export const EventTypeDescriptionLazy = dynamic(() => import("./EventTypeDescription")); diff --git a/apps/web/modules/event-types/components/locations/DefaultLocationSettings.tsx b/apps/web/modules/event-types/components/locations/DefaultLocationSettings.tsx index 439a44d68b..2127852e36 100644 --- a/apps/web/modules/event-types/components/locations/DefaultLocationSettings.tsx +++ b/apps/web/modules/event-types/components/locations/DefaultLocationSettings.tsx @@ -2,14 +2,14 @@ import { ErrorMessage } from "@hookform/error-message"; import { useFieldArray, useFormContext } from "react-hook-form"; import { getEventLocationType } from "@calcom/app-store/locations"; -import type { LocationCustomClassNames } from "./types"; +import type { LocationCustomClassNames } from "@calcom/features/eventtypes/components/locations/types"; import type { LocationFormValues, FormValues } from "@calcom/features/eventtypes/lib/types"; import CheckboxField from "@calcom/features/form/components/CheckboxField"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import classNames from "@calcom/ui/classNames"; import { TextField } from "@calcom/ui/components/form"; -import LocationInput from "./LocationInput"; +import LocationInput from "@calcom/features/eventtypes/components/locations/LocationInput"; import LocationOptionContainer from "./LocationSettingsContainer"; const DefaultLocationSettings = ({ diff --git a/apps/web/modules/event-types/components/locations/Locations.tsx b/apps/web/modules/event-types/components/locations/Locations.tsx index 6d66c97b38..6a6637a1fe 100644 --- a/apps/web/modules/event-types/components/locations/Locations.tsx +++ b/apps/web/modules/event-types/components/locations/Locations.tsx @@ -8,7 +8,7 @@ import type { UseFormGetValues, UseFormSetValue, Control, FormState } from "reac import type { EventLocationType } from "@calcom/app-store/locations"; import { getEventLocationType, MeetLocationType } from "@calcom/app-store/locations"; import { useIsPlatform } from "@calcom/atoms/hooks/useIsPlatform"; -import type { LocationCustomClassNames } from "./types"; +import type { LocationCustomClassNames } from "@calcom/features/eventtypes/components/locations/types"; import type { LocationFormValues, EventTypeSetupProps } from "@calcom/features/eventtypes/lib/types"; import CheckboxField from "@calcom/features/form/components/CheckboxField"; import type { SingleValueLocationOption } from "@calcom/features/form/components/LocationSelect"; @@ -23,7 +23,7 @@ import { showToast } from "@calcom/ui/components/toast"; import CalVideoSettings from "./CalVideoSettings"; import DefaultLocationSettings from "./DefaultLocationSettings"; -import LocationInput from "./LocationInput"; +import LocationInput from "@calcom/features/eventtypes/components/locations/LocationInput"; export type TEventTypeLocation = Pick; export type TLocationOptions = Pick["locationOptions"]; diff --git a/apps/web/modules/event-types/components/tabs/advanced/DisableReschedulingController.tsx b/apps/web/modules/event-types/components/tabs/advanced/DisableReschedulingController.tsx index cd46607397..eed517c21a 100644 --- a/apps/web/modules/event-types/components/tabs/advanced/DisableReschedulingController.tsx +++ b/apps/web/modules/event-types/components/tabs/advanced/DisableReschedulingController.tsx @@ -3,7 +3,7 @@ import { useEffect, useRef, useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; import useLockedFieldsManager from "@calcom/features/ee/managed-event-types/hooks/useLockedFieldsManager"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import type { EventTypeSetup, SettingsToggleClassNames } from "@calcom/features/eventtypes/lib/types"; import type { FormValues } from "@calcom/features/eventtypes/lib/types"; import ServerTrans from "@calcom/lib/components/ServerTrans"; diff --git a/apps/web/modules/event-types/components/tabs/advanced/EventAdvancedTab.tsx b/apps/web/modules/event-types/components/tabs/advanced/EventAdvancedTab.tsx index 70ac413327..4e3348a23d 100644 --- a/apps/web/modules/event-types/components/tabs/advanced/EventAdvancedTab.tsx +++ b/apps/web/modules/event-types/components/tabs/advanced/EventAdvancedTab.tsx @@ -22,7 +22,7 @@ import { } from "@calcom/features/ee/workflows/lib/allowDisablingStandardEmails"; import { MultiplePrivateLinksController } from "@calcom/web/modules/event-types/components"; import AddVerifiedEmail from "@calcom/web/modules/event-types/components/AddVerifiedEmail"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import type { EventNameObjectType } from "@calcom/features/eventtypes/lib/eventNaming"; import { getEventName } from "@calcom/features/eventtypes/lib/eventNaming"; import type { diff --git a/apps/web/modules/event-types/components/tabs/advanced/FormBuilder.tsx b/apps/web/modules/event-types/components/tabs/advanced/FormBuilder.tsx index 8192195830..150f5cbcfb 100644 --- a/apps/web/modules/event-types/components/tabs/advanced/FormBuilder.tsx +++ b/apps/web/modules/event-types/components/tabs/advanced/FormBuilder.tsx @@ -7,7 +7,7 @@ import { ZodError } from "zod"; import { useIsPlatform } from "@calcom/atoms/hooks/useIsPlatform"; import { Dialog } from "@calcom/features/components/controlled-dialog"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import { getCurrencySymbol } from "@calcom/lib/currencyConversions"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { md } from "@calcom/lib/markdownIt"; diff --git a/apps/web/modules/event-types/components/tabs/advanced/RequiresConfirmationController.tsx b/apps/web/modules/event-types/components/tabs/advanced/RequiresConfirmationController.tsx index da3c8686da..b94195073e 100644 --- a/apps/web/modules/event-types/components/tabs/advanced/RequiresConfirmationController.tsx +++ b/apps/web/modules/event-types/components/tabs/advanced/RequiresConfirmationController.tsx @@ -6,7 +6,7 @@ import { Controller, useFormContext } from "react-hook-form"; import type z from "zod"; import useLockedFieldsManager from "@calcom/features/ee/managed-event-types/hooks/useLockedFieldsManager"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import type { EventTypeSetup, SettingsToggleClassNames } from "@calcom/features/eventtypes/lib/types"; import type { FormValues } from "@calcom/features/eventtypes/lib/types"; import ServerTrans from "@calcom/lib/components/ServerTrans"; diff --git a/apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx b/apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx index 18fabaf1dc..bb696c09d5 100644 --- a/apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx +++ b/apps/web/modules/event-types/components/tabs/assignment/EventTeamAssignmentTab.tsx @@ -20,12 +20,12 @@ import type { AddMembersWithSwitchCustomClassNames } from "@calcom/web/modules/e import AddMembersWithSwitch, { mapUserToValue, } from "@calcom/web/modules/event-types/components/AddMembersWithSwitch"; -import AssignAllTeamMembers from "@calcom/web/modules/event-types/components/AssignAllTeamMembers"; -import type { ChildrenEventTypeSelectCustomClassNames } from "@calcom/web/modules/event-types/components/ChildrenEventTypeSelect"; -import ChildrenEventTypeSelect from "@calcom/web/modules/event-types/components/ChildrenEventTypeSelect"; +import AssignAllTeamMembers from "@calcom/features/eventtypes/components/AssignAllTeamMembers"; +import type { ChildrenEventTypeSelectCustomClassNames } from "@calcom/features/eventtypes/components/ChildrenEventTypeSelect"; +import ChildrenEventTypeSelect from "@calcom/features/eventtypes/components/ChildrenEventTypeSelect"; import { EditWeightsForAllTeamMembers } from "@calcom/web/modules/event-types/components/EditWeightsForAllTeamMembers"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; -import WeightDescription from "@calcom/web/modules/event-types/components/WeightDescription"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; +import WeightDescription from "@calcom/features/eventtypes/components/WeightDescription"; import type { TFunction } from "i18next"; import Link from "next/link"; import type { ComponentProps, Dispatch, SetStateAction } from "react"; diff --git a/apps/web/modules/event-types/components/tabs/limits/EventLimitsTabWebWrapper.tsx b/apps/web/modules/event-types/components/tabs/limits/EventLimitsTabWebWrapper.tsx index a81548a860..c783966906 100644 --- a/apps/web/modules/event-types/components/tabs/limits/EventLimitsTabWebWrapper.tsx +++ b/apps/web/modules/event-types/components/tabs/limits/EventLimitsTabWebWrapper.tsx @@ -1,5 +1,5 @@ -import { EventLimitsTab } from "@calcom/web/modules/event-types/components/tabs/limits/EventLimitsTab"; -import type { EventLimitsTabProps } from "@calcom/web/modules/event-types/components/tabs/limits/EventLimitsTab"; +import { EventLimitsTab } from "@calcom/features/eventtypes/components/tabs/limits/EventLimitsTab"; +import type { EventLimitsTabProps } from "@calcom/features/eventtypes/components/tabs/limits/EventLimitsTab"; const EventLimitsTabWebWrapper = (props: EventLimitsTabProps) => { return ; diff --git a/apps/web/modules/event-types/components/tabs/recurring/EventRecurringWebWrapper.tsx b/apps/web/modules/event-types/components/tabs/recurring/EventRecurringWebWrapper.tsx index a20f91fed1..1034dc4b5c 100644 --- a/apps/web/modules/event-types/components/tabs/recurring/EventRecurringWebWrapper.tsx +++ b/apps/web/modules/event-types/components/tabs/recurring/EventRecurringWebWrapper.tsx @@ -1,5 +1,5 @@ -import type { EventRecurringTabProps } from "@calcom/web/modules/event-types/components/tabs/recurring/EventRecurringTab"; -import { EventRecurringTab } from "@calcom/web/modules/event-types/components/tabs/recurring/EventRecurringTab"; +import type { EventRecurringTabProps } from "@calcom/features/eventtypes/components/tabs/recurring/EventRecurringTab"; +import { EventRecurringTab } from "@calcom/features/eventtypes/components/tabs/recurring/EventRecurringTab"; const EventRecurringWebWrapper = (props: EventRecurringTabProps) => { return ; diff --git a/apps/web/modules/event-types/components/tabs/setup/EventSetupTab.tsx b/apps/web/modules/event-types/components/tabs/setup/EventSetupTab.tsx index bef8e16160..66c3e9bca2 100644 --- a/apps/web/modules/event-types/components/tabs/setup/EventSetupTab.tsx +++ b/apps/web/modules/event-types/components/tabs/setup/EventSetupTab.tsx @@ -26,7 +26,7 @@ import { useState } from "react"; import type { Control, FormState, UseFormGetValues, UseFormSetValue } from "react-hook-form"; import { Controller, useFormContext } from "react-hook-form"; import type { MultiValue } from "react-select"; -import type { LocationCustomClassNames } from "../../locations/types"; +import type { LocationCustomClassNames } from "@calcom/features/eventtypes/components/locations/types"; export type EventSetupTabCustomClassNames = { wrapper?: string; diff --git a/apps/web/modules/settings/teams/[id]/event-types-view.tsx b/apps/web/modules/settings/teams/[id]/event-types-view.tsx index 8cc7edab70..7fba0c2c40 100644 --- a/apps/web/modules/settings/teams/[id]/event-types-view.tsx +++ b/apps/web/modules/settings/teams/[id]/event-types-view.tsx @@ -10,7 +10,7 @@ import { trpc } from "@calcom/trpc/react"; import { Button } from "@calcom/ui/components/button"; import { WizardLayout } from "@calcom/ui/components/layout"; import { showToast } from "@calcom/ui/components/toast"; -import { TeamEventTypeForm } from "@calcom/web/modules/ee/teams/components/TeamEventTypeForm"; +import { TeamEventTypeForm } from "@calcom/features/ee/teams/components/TeamEventTypeForm"; type CreateTeamEventTypeProps = { permissions: { canCreateEventType: boolean }; diff --git a/apps/web/modules/apps/components/DisconnectIntegrationModal.tsx b/packages/features/apps/components/DisconnectIntegrationModal.tsx similarity index 100% rename from apps/web/modules/apps/components/DisconnectIntegrationModal.tsx rename to packages/features/apps/components/DisconnectIntegrationModal.tsx diff --git a/apps/web/modules/bookings/components/Header.tsx b/packages/features/bookings/components/Header.tsx similarity index 97% rename from apps/web/modules/bookings/components/Header.tsx rename to packages/features/bookings/components/Header.tsx index e544fff1d5..2d8c203b00 100644 --- a/apps/web/modules/bookings/components/Header.tsx +++ b/packages/features/bookings/components/Header.tsx @@ -5,7 +5,7 @@ import { useIsPlatform } from "@calcom/atoms/hooks/useIsPlatform"; import dayjs from "@calcom/dayjs"; import { useIsEmbed } from "@calcom/embed-core/embed-iframe"; import { useBookerStoreContext } from "@calcom/features/bookings/Booker/BookerStoreProvider"; -import { useInitializeWeekStart } from "@calcom/web/modules/bookings/hooks/useInitializeWeekStart"; +import { useInitializeWeekStart } from "@calcom/features/bookings/hooks/useInitializeWeekStart"; import { WEBAPP_URL } from "@calcom/lib/constants"; import { formatDateTime } from "@calcom/lib/dateTimeFormatter"; import { useLocale } from "@calcom/lib/hooks/useLocale"; @@ -16,7 +16,7 @@ import { ToggleGroup } from "@calcom/ui/components/form"; import { Icon } from "@calcom/ui/components/icon"; import { Tooltip } from "@calcom/ui/components/tooltip"; -import { TimeFormatToggle } from "@calcom/web/modules/bookings/components/TimeFormatToggle"; +import { TimeFormatToggle } from "@calcom/features/bookings/components/TimeFormatToggle"; import type { BookerLayout } from "@calcom/features/bookings/Booker/types"; export function Header({ @@ -187,7 +187,6 @@ const LayoutToggle = ({ }) => { const isEmbed = useIsEmbed(); const isPlatform = useIsPlatform(); - const { t } = useLocale(); const layoutOptions = useMemo(() => { diff --git a/apps/web/modules/bookings/components/Section.tsx b/packages/features/bookings/components/Section.tsx similarity index 100% rename from apps/web/modules/bookings/components/Section.tsx rename to packages/features/bookings/components/Section.tsx diff --git a/apps/web/modules/bookings/components/TimeFormatToggle.tsx b/packages/features/bookings/components/TimeFormatToggle.tsx similarity index 100% rename from apps/web/modules/bookings/components/TimeFormatToggle.tsx rename to packages/features/bookings/components/TimeFormatToggle.tsx diff --git a/apps/web/modules/bookings/components/event-meta/PayIcon.tsx b/packages/features/bookings/components/event-meta/PayIcon.tsx similarity index 100% rename from apps/web/modules/bookings/components/event-meta/PayIcon.tsx rename to packages/features/bookings/components/event-meta/PayIcon.tsx diff --git a/apps/web/modules/bookings/components/event-meta/Price.tsx b/packages/features/bookings/components/event-meta/Price.tsx similarity index 100% rename from apps/web/modules/bookings/components/event-meta/Price.tsx rename to packages/features/bookings/components/event-meta/Price.tsx diff --git a/apps/web/modules/bookings/hooks/useInitializeWeekStart.ts b/packages/features/bookings/hooks/useInitializeWeekStart.ts similarity index 100% rename from apps/web/modules/bookings/hooks/useInitializeWeekStart.ts rename to packages/features/bookings/hooks/useInitializeWeekStart.ts diff --git a/apps/web/modules/ee/teams/components/TeamEventTypeForm.tsx b/packages/features/ee/teams/components/TeamEventTypeForm.tsx similarity index 100% rename from apps/web/modules/ee/teams/components/TeamEventTypeForm.tsx rename to packages/features/ee/teams/components/TeamEventTypeForm.tsx diff --git a/apps/web/modules/event-types/components/AssignAllTeamMembers.tsx b/packages/features/eventtypes/components/AssignAllTeamMembers.tsx similarity index 100% rename from apps/web/modules/event-types/components/AssignAllTeamMembers.tsx rename to packages/features/eventtypes/components/AssignAllTeamMembers.tsx diff --git a/apps/web/modules/event-types/components/BulkEditDefaultForEventsModal.tsx b/packages/features/eventtypes/components/BulkEditDefaultForEventsModal.tsx similarity index 100% rename from apps/web/modules/event-types/components/BulkEditDefaultForEventsModal.tsx rename to packages/features/eventtypes/components/BulkEditDefaultForEventsModal.tsx diff --git a/apps/web/modules/event-types/components/CheckedTeamSelect.tsx b/packages/features/eventtypes/components/CheckedTeamSelect.tsx similarity index 97% rename from apps/web/modules/event-types/components/CheckedTeamSelect.tsx rename to packages/features/eventtypes/components/CheckedTeamSelect.tsx index f1f02fa1dd..5880e133bc 100644 --- a/apps/web/modules/event-types/components/CheckedTeamSelect.tsx +++ b/packages/features/eventtypes/components/CheckedTeamSelect.tsx @@ -15,8 +15,8 @@ import { Select } from "@calcom/ui/components/form"; import { Icon } from "@calcom/ui/components/icon"; import { Tooltip } from "@calcom/ui/components/tooltip"; -import type { PriorityDialogCustomClassNames, WeightDialogCustomClassNames } from "./HostEditDialogs"; -import { PriorityDialog, WeightDialog } from "./HostEditDialogs"; +import type { PriorityDialogCustomClassNames, WeightDialogCustomClassNames } from "@calcom/features/eventtypes/components/dialogs/HostEditDialogs"; +import { PriorityDialog, WeightDialog } from "@calcom/features/eventtypes/components/dialogs/HostEditDialogs"; export type CheckedSelectOption = { avatar: string; diff --git a/apps/web/modules/event-types/components/ChildrenEventTypeSelect.tsx b/packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx similarity index 100% rename from apps/web/modules/event-types/components/ChildrenEventTypeSelect.tsx rename to packages/features/eventtypes/components/ChildrenEventTypeSelect.tsx diff --git a/apps/web/modules/event-types/components/CreateEventTypeForm.tsx b/packages/features/eventtypes/components/CreateEventTypeForm.tsx similarity index 100% rename from apps/web/modules/event-types/components/CreateEventTypeForm.tsx rename to packages/features/eventtypes/components/CreateEventTypeForm.tsx diff --git a/apps/web/modules/event-types/components/LearnMoreLink.tsx b/packages/features/eventtypes/components/LearnMoreLink.tsx similarity index 100% rename from apps/web/modules/event-types/components/LearnMoreLink.tsx rename to packages/features/eventtypes/components/LearnMoreLink.tsx diff --git a/apps/web/modules/event-types/components/WeightDescription.tsx b/packages/features/eventtypes/components/WeightDescription.tsx similarity index 100% rename from apps/web/modules/event-types/components/WeightDescription.tsx rename to packages/features/eventtypes/components/WeightDescription.tsx diff --git a/apps/web/modules/event-types/components/HostEditDialogs.tsx b/packages/features/eventtypes/components/dialogs/HostEditDialogs.tsx similarity index 97% rename from apps/web/modules/event-types/components/HostEditDialogs.tsx rename to packages/features/eventtypes/components/dialogs/HostEditDialogs.tsx index 90e1aa2bf3..3d33f830f0 100644 --- a/apps/web/modules/event-types/components/HostEditDialogs.tsx +++ b/packages/features/eventtypes/components/dialogs/HostEditDialogs.tsx @@ -20,8 +20,8 @@ import { Label } from "@calcom/ui/components/form"; import { Select } from "@calcom/ui/components/form"; import { TextField } from "@calcom/ui/components/form"; -import type { CheckedSelectOption } from "./CheckedTeamSelect"; -import WeightDescription from "./WeightDescription"; +import type { CheckedSelectOption } from "@calcom/features/eventtypes/components/CheckedTeamSelect"; +import WeightDescription from "@calcom/features/eventtypes/components/WeightDescription"; interface IDialog { isOpenDialog: boolean; diff --git a/apps/web/modules/event-types/components/dialogs/ManagedEventDialog.tsx b/packages/features/eventtypes/components/dialogs/ManagedEventDialog.tsx similarity index 94% rename from apps/web/modules/event-types/components/dialogs/ManagedEventDialog.tsx rename to packages/features/eventtypes/components/dialogs/ManagedEventDialog.tsx index 44bf691ad2..0093759393 100644 --- a/apps/web/modules/event-types/components/dialogs/ManagedEventDialog.tsx +++ b/packages/features/eventtypes/components/dialogs/ManagedEventDialog.tsx @@ -1,4 +1,4 @@ -import type { ChildrenEventType } from "@calcom/web/modules/event-types/components/ChildrenEventTypeSelect"; +import type { ChildrenEventType } from "@calcom/features/eventtypes/components/ChildrenEventTypeSelect"; import ServerTrans from "@calcom/lib/components/ServerTrans"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { ConfirmationDialogContent, Dialog } from "@calcom/ui/components/dialog"; diff --git a/apps/web/modules/event-types/components/locations/LocationInput.tsx b/packages/features/eventtypes/components/locations/LocationInput.tsx similarity index 100% rename from apps/web/modules/event-types/components/locations/LocationInput.tsx rename to packages/features/eventtypes/components/locations/LocationInput.tsx diff --git a/apps/web/modules/event-types/components/locations/types.ts b/packages/features/eventtypes/components/locations/types.ts similarity index 100% rename from apps/web/modules/event-types/components/locations/types.ts rename to packages/features/eventtypes/components/locations/types.ts diff --git a/apps/web/modules/event-types/components/tabs/limits/EventLimitsTab.tsx b/packages/features/eventtypes/components/tabs/limits/EventLimitsTab.tsx similarity index 99% rename from apps/web/modules/event-types/components/tabs/limits/EventLimitsTab.tsx rename to packages/features/eventtypes/components/tabs/limits/EventLimitsTab.tsx index d0a0a8815d..b1298a1f16 100644 --- a/apps/web/modules/event-types/components/tabs/limits/EventLimitsTab.tsx +++ b/packages/features/eventtypes/components/tabs/limits/EventLimitsTab.tsx @@ -29,7 +29,7 @@ import { import { Icon } from "@calcom/ui/components/icon"; import { Tooltip } from "@calcom/ui/components/tooltip"; import { Badge } from "@calcom/ui/components/badge"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import { useAutoAnimate } from "@formkit/auto-animate/react"; import * as RadioGroup from "@radix-ui/react-radio-group"; import type { Key } from "react"; diff --git a/apps/web/modules/event-types/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx b/packages/features/eventtypes/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx similarity index 97% rename from apps/web/modules/event-types/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx rename to packages/features/eventtypes/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx index 9213cbabb4..4dd12c8b16 100644 --- a/apps/web/modules/event-types/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx +++ b/packages/features/eventtypes/components/tabs/limits/MaxActiveBookingsPerBookerController.tsx @@ -1,7 +1,7 @@ import { useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import type { FormValues } from "@calcom/features/eventtypes/lib/types"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import classNames from "@calcom/ui/classNames"; diff --git a/apps/web/modules/event-types/components/tabs/recurring/EventRecurringTab.tsx b/packages/features/eventtypes/components/tabs/recurring/EventRecurringTab.tsx similarity index 100% rename from apps/web/modules/event-types/components/tabs/recurring/EventRecurringTab.tsx rename to packages/features/eventtypes/components/tabs/recurring/EventRecurringTab.tsx diff --git a/apps/web/modules/event-types/components/tabs/recurring/RecurringEventController.tsx b/packages/features/eventtypes/components/tabs/recurring/RecurringEventController.tsx similarity index 99% rename from apps/web/modules/event-types/components/tabs/recurring/RecurringEventController.tsx rename to packages/features/eventtypes/components/tabs/recurring/RecurringEventController.tsx index 9854c251ec..8f697463d8 100644 --- a/apps/web/modules/event-types/components/tabs/recurring/RecurringEventController.tsx +++ b/packages/features/eventtypes/components/tabs/recurring/RecurringEventController.tsx @@ -2,7 +2,7 @@ import { useState } from "react"; import { useFormContext } from "react-hook-form"; import useLockedFieldsManager from "@calcom/features/ee/managed-event-types/hooks/useLockedFieldsManager"; -import { LearnMoreLink } from "@calcom/web/modules/event-types/components/LearnMoreLink"; +import { LearnMoreLink } from "@calcom/features/eventtypes/components/LearnMoreLink"; import type { EventTypeSetup, InputClassNames, diff --git a/packages/platform/atoms/availability/AvailabilitySettings.tsx b/packages/platform/atoms/availability/AvailabilitySettings.tsx index 7e2ff2c9e0..79fb263ad0 100644 --- a/packages/platform/atoms/availability/AvailabilitySettings.tsx +++ b/packages/platform/atoms/availability/AvailabilitySettings.tsx @@ -20,8 +20,8 @@ import { TimezoneSelect as WebTimezoneSelect } from "@calcom/web/modules/timezon import type { BulkUpdatParams, EventTypes, -} from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; -import { BulkEditDefaultForEventsModal } from "@calcom/web/modules/event-types/components/BulkEditDefaultForEventsModal"; +} from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; +import { BulkEditDefaultForEventsModal } from "@calcom/features/eventtypes/components/BulkEditDefaultForEventsModal"; import DateOverrideInputDialog from "@calcom/features/schedules/components/DateOverrideInputDialog"; import DateOverrideList from "@calcom/features/schedules/components/DateOverrideList"; import { diff --git a/packages/platform/atoms/calendar-view/CalendarViewComponent.tsx b/packages/platform/atoms/calendar-view/CalendarViewComponent.tsx index 946c40b177..9047a9fcaf 100644 --- a/packages/platform/atoms/calendar-view/CalendarViewComponent.tsx +++ b/packages/platform/atoms/calendar-view/CalendarViewComponent.tsx @@ -1,5 +1,5 @@ -import { Header } from "@calcom/web/modules/bookings/components/Header"; -import { BookerSection } from "@calcom/web/modules/bookings/components/Section"; +import { Header } from "@calcom/features/bookings/components/Header"; +import { BookerSection } from "@calcom/features/bookings/components/Section"; import { LargeCalendar } from "@calcom/web/modules/calendar-view/components/LargeCalendar"; import { bookerLayoutOptions } from "@calcom/prisma/zod-utils"; diff --git a/packages/platform/atoms/calendar-view/EventTypeCalendarViewComponent.tsx b/packages/platform/atoms/calendar-view/EventTypeCalendarViewComponent.tsx index ee4756cf83..f681ce8c34 100644 --- a/packages/platform/atoms/calendar-view/EventTypeCalendarViewComponent.tsx +++ b/packages/platform/atoms/calendar-view/EventTypeCalendarViewComponent.tsx @@ -5,8 +5,8 @@ import { useBookerStoreContext, useInitializeBookerStoreContext, } from "@calcom/features/bookings/Booker/BookerStoreProvider"; -import { Header } from "@calcom/web/modules/bookings/components/Header"; -import { BookerSection } from "@calcom/web/modules/bookings/components/Section"; +import { Header } from "@calcom/features/bookings/components/Header"; +import { BookerSection } from "@calcom/features/bookings/components/Section"; import { useAvailableTimeSlots } from "@calcom/features/bookings/Booker/hooks/useAvailableTimeSlots"; import { useBookerLayout } from "@calcom/features/bookings/Booker/hooks/useBookerLayout"; import { useTimePreferences } from "@calcom/features/bookings/lib"; diff --git a/packages/platform/atoms/event-types/payments/PaymentForm.tsx b/packages/platform/atoms/event-types/payments/PaymentForm.tsx index 754a599a15..cc2fb45ff2 100644 --- a/packages/platform/atoms/event-types/payments/PaymentForm.tsx +++ b/packages/platform/atoms/event-types/payments/PaymentForm.tsx @@ -3,8 +3,8 @@ import React, { Suspense } from "react"; import { getPaymentAppData } from "@calcom/app-store/_utils/payments/getPaymentAppData"; import { getSuccessPageLocationMessage } from "@calcom/app-store/locations"; import dayjs from "@calcom/dayjs"; -import { PayIcon } from "@calcom/web/modules/bookings/components/event-meta/PayIcon"; -import { Price } from "@calcom/web/modules/bookings/components/event-meta/Price"; +import { PayIcon } from "@calcom/features/bookings/components/event-meta/PayIcon"; +import { Price } from "@calcom/features/bookings/components/event-meta/Price"; import type { PaymentPageProps } from "@calcom/features/ee/payments/pages/payment"; import { APP_NAME, WEBSITE_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; diff --git a/packages/platform/atoms/event-types/wrappers/CreateEventTypePlatformWrapper.tsx b/packages/platform/atoms/event-types/wrappers/CreateEventTypePlatformWrapper.tsx index 1273c986f0..9ff8e42827 100644 --- a/packages/platform/atoms/event-types/wrappers/CreateEventTypePlatformWrapper.tsx +++ b/packages/platform/atoms/event-types/wrappers/CreateEventTypePlatformWrapper.tsx @@ -1,11 +1,11 @@ import { AtomsWrapper } from "@/components/atoms-wrapper"; -import CreateEventTypeForm from "@calcom/web/modules/event-types/components/CreateEventTypeForm"; +import CreateEventTypeForm from "@calcom/features/eventtypes/components/CreateEventTypeForm"; import { useCreateEventTypeForm } from "@calcom/features/eventtypes/hooks/useCreateEventType"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { EventType } from "@calcom/prisma/client"; import { Button } from "@calcom/ui/components/button"; -import { TeamEventTypeForm } from "@calcom/web/modules/ee/teams/components/TeamEventTypeForm"; +import { TeamEventTypeForm } from "@calcom/features/ee/teams/components/TeamEventTypeForm"; import { useCreateEventType } from "../../hooks/event-types/private/useCreateEventType"; import { useCreateTeamEventType } from "../../hooks/event-types/private/useCreateTeamEventType"; diff --git a/packages/platform/atoms/event-types/wrappers/EventLimitsTabPlatformWrapper.tsx b/packages/platform/atoms/event-types/wrappers/EventLimitsTabPlatformWrapper.tsx index 5bedadeda9..940333ebc3 100644 --- a/packages/platform/atoms/event-types/wrappers/EventLimitsTabPlatformWrapper.tsx +++ b/packages/platform/atoms/event-types/wrappers/EventLimitsTabPlatformWrapper.tsx @@ -1,5 +1,5 @@ -import { EventLimitsTab } from "@calcom/web/modules/event-types/components/tabs/limits/EventLimitsTab"; -import type { EventLimitsTabProps } from "@calcom/web/modules/event-types/components/tabs/limits/EventLimitsTab"; +import { EventLimitsTab } from "@calcom/features/eventtypes/components/tabs/limits/EventLimitsTab"; +import type { EventLimitsTabProps } from "@calcom/features/eventtypes/components/tabs/limits/EventLimitsTab"; const EventLimitsTabPlatformWrapper = (props: EventLimitsTabProps) => { return ; diff --git a/packages/platform/atoms/event-types/wrappers/EventRecurringTabPlatformWrapper.tsx b/packages/platform/atoms/event-types/wrappers/EventRecurringTabPlatformWrapper.tsx index c9f4a73576..d14f94dd03 100644 --- a/packages/platform/atoms/event-types/wrappers/EventRecurringTabPlatformWrapper.tsx +++ b/packages/platform/atoms/event-types/wrappers/EventRecurringTabPlatformWrapper.tsx @@ -1,5 +1,5 @@ -import type { EventRecurringTabProps } from "@calcom/web/modules/event-types/components/tabs/recurring/EventRecurringTab"; -import { EventRecurringTab } from "@calcom/web/modules/event-types/components/tabs/recurring/EventRecurringTab"; +import type { EventRecurringTabProps } from "@calcom/features/eventtypes/components/tabs/recurring/EventRecurringTab"; +import { EventRecurringTab } from "@calcom/features/eventtypes/components/tabs/recurring/EventRecurringTab"; const EventRecurringTabPlatformWrapper = (props: EventRecurringTabProps) => { return ;