From 5e09a7abc6cc35f1319bd251bb2a103560c1b5f0 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 16:39:54 +0530 Subject: [PATCH 01/21] refactor: migrate hooks (use-file-size) from web/app/ce to web/app/core --- .../core/components/issues/attachment/attachment-item-list.tsx | 2 +- .../web/core/components/issues/attachment/attachment-upload.tsx | 2 +- .../issue-detail-widgets/attachments/quick-action-button.tsx | 2 +- apps/web/core/hooks/editor/use-editor-config.ts | 2 +- apps/web/{ce => core}/hooks/use-file-size.ts | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename apps/web/{ce => core}/hooks/use-file-size.ts (100%) diff --git a/apps/web/core/components/issues/attachment/attachment-item-list.tsx b/apps/web/core/components/issues/attachment/attachment-item-list.tsx index 0ac4db84f29..4341e5c9510 100644 --- a/apps/web/core/components/issues/attachment/attachment-item-list.tsx +++ b/apps/web/core/components/issues/attachment/attachment-item-list.tsx @@ -16,7 +16,7 @@ import { EIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // plane web hooks -import { useFileSize } from "@/plane-web/hooks/use-file-size"; +import { useFileSize } from "@/hooks/use-file-size"; // types import type { TAttachmentHelpers } from "../issue-detail-widgets/attachments/helper"; // components diff --git a/apps/web/core/components/issues/attachment/attachment-upload.tsx b/apps/web/core/components/issues/attachment/attachment-upload.tsx index c537361ef9b..2a37b3b985c 100644 --- a/apps/web/core/components/issues/attachment/attachment-upload.tsx +++ b/apps/web/core/components/issues/attachment/attachment-upload.tsx @@ -8,7 +8,7 @@ import { useCallback, useState } from "react"; import { observer } from "mobx-react"; import { useDropzone } from "react-dropzone"; // plane web hooks -import { useFileSize } from "@/plane-web/hooks/use-file-size"; +import { useFileSize } from "@/hooks/use-file-size"; // types import type { TAttachmentOperations } from "../issue-detail-widgets/attachments/helper"; diff --git a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx index 7853b3b4e40..dc6155550f0 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/attachments/quick-action-button.tsx @@ -15,7 +15,7 @@ import type { TIssueServiceType } from "@plane/types"; // hooks import { useIssueDetail } from "@/hooks/store/use-issue-detail"; // plane web hooks -import { useFileSize } from "@/plane-web/hooks/use-file-size"; +import { useFileSize } from "@/hooks/use-file-size"; // local imports import { useAttachmentOperations } from "./helper"; diff --git a/apps/web/core/hooks/editor/use-editor-config.ts b/apps/web/core/hooks/editor/use-editor-config.ts index 98eb92c7538..95493050be7 100644 --- a/apps/web/core/hooks/editor/use-editor-config.ts +++ b/apps/web/core/hooks/editor/use-editor-config.ts @@ -12,7 +12,7 @@ import { getEditorAssetDownloadSrc, getEditorAssetSrc } from "@plane/utils"; import { useEditorAsset } from "@/hooks/store/use-editor-asset"; // plane web hooks import { useExtendedEditorConfig } from "@/plane-web/hooks/editor/use-extended-editor-config"; -import { useFileSize } from "@/plane-web/hooks/use-file-size"; +import { useFileSize } from "@/hooks/use-file-size"; // services import { FileService } from "@/services/file.service"; const fileService = new FileService(); diff --git a/apps/web/ce/hooks/use-file-size.ts b/apps/web/core/hooks/use-file-size.ts similarity index 100% rename from apps/web/ce/hooks/use-file-size.ts rename to apps/web/core/hooks/use-file-size.ts From 40c94e726bd531cb5dcf8eea0c467a677b802501 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 16:43:21 +0530 Subject: [PATCH 02/21] refactor: migrate hooks (use-notification-preview) from web/app/ce to web/app/core --- apps/web/core/components/workspace-notifications/root.tsx | 2 +- apps/web/{ce => core}/hooks/use-notification-preview.tsx | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/use-notification-preview.tsx (100%) diff --git a/apps/web/core/components/workspace-notifications/root.tsx b/apps/web/core/components/workspace-notifications/root.tsx index 8dd077c4dc8..0c8714189ec 100644 --- a/apps/web/core/components/workspace-notifications/root.tsx +++ b/apps/web/core/components/workspace-notifications/root.tsx @@ -19,7 +19,7 @@ import { useWorkspace } from "@/hooks/store/use-workspace"; import { useUserPermissions } from "@/hooks/store/user"; import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; // plane web imports -import { useNotificationPreview } from "@/plane-web/hooks/use-notification-preview"; +import { useNotificationPreview } from "@/hooks/use-notification-preview"; // local imports import { InboxContentRoot } from "../inbox/content"; diff --git a/apps/web/ce/hooks/use-notification-preview.tsx b/apps/web/core/hooks/use-notification-preview.tsx similarity index 100% rename from apps/web/ce/hooks/use-notification-preview.tsx rename to apps/web/core/hooks/use-notification-preview.tsx From 3b809cd3060a4be56f98017c4e6e1c3cf06667c4 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 16:48:14 +0530 Subject: [PATCH 03/21] refactor: migrate hooks (use-timeline-chart) from web/app/ce to web/app/core --- apps/web/ce/hooks/use-timeline-chart.ts | 32 ----------------------- apps/web/core/hooks/use-timeline-chart.ts | 25 ++++++++++++++++-- 2 files changed, 23 insertions(+), 34 deletions(-) delete mode 100644 apps/web/ce/hooks/use-timeline-chart.ts diff --git a/apps/web/ce/hooks/use-timeline-chart.ts b/apps/web/ce/hooks/use-timeline-chart.ts deleted file mode 100644 index 2deaae25424..00000000000 --- a/apps/web/ce/hooks/use-timeline-chart.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -// types -import type { TTimelineTypeCore } from "@plane/types"; -import { GANTT_TIMELINE_TYPE } from "@plane/types"; -// Plane-web - -import type { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; -import type { ITimelineStore } from "../store/timeline"; - -export const getTimelineStore = ( - timelineStore: ITimelineStore, - timelineType: TTimelineTypeCore -): IBaseTimelineStore => { - if (timelineType === GANTT_TIMELINE_TYPE.ISSUE) { - return timelineStore.issuesTimeLineStore as IBaseTimelineStore; - } - if (timelineType === GANTT_TIMELINE_TYPE.MODULE) { - return timelineStore.modulesTimeLineStore as IBaseTimelineStore; - } - if (timelineType === GANTT_TIMELINE_TYPE.PROJECT) { - return timelineStore.projectTimeLineStore; - } - if (timelineType === GANTT_TIMELINE_TYPE.GROUPED) { - return timelineStore.groupedTimeLineStore; - } - throw new Error(`Unknown timeline type: ${timelineType}`); -}; diff --git a/apps/web/core/hooks/use-timeline-chart.ts b/apps/web/core/hooks/use-timeline-chart.ts index ec8b4f1a0b9..ea81a1c03f2 100644 --- a/apps/web/core/hooks/use-timeline-chart.ts +++ b/apps/web/core/hooks/use-timeline-chart.ts @@ -6,14 +6,35 @@ import { useContext } from "react"; // types +import type { TTimelineTypeCore } from "@plane/types"; import type { TTimelineType } from "@plane/types"; +import { GANTT_TIMELINE_TYPE } from "@plane/types"; // lib import { StoreContext } from "@/lib/store-context"; -// Plane-web -import { getTimelineStore } from "@/plane-web/hooks/use-timeline-chart"; +// plane-web store types import type { IBaseTimelineStore } from "@/plane-web/store/timeline/base-timeline.store"; +import type { ITimelineStore } from "@/plane-web/store/timeline"; import { useTimeLineType } from "../components/gantt-chart/contexts"; +export const getTimelineStore = ( + timelineStore: ITimelineStore, + timelineType: TTimelineTypeCore +): IBaseTimelineStore => { + if (timelineType === GANTT_TIMELINE_TYPE.ISSUE) { + return timelineStore.issuesTimeLineStore as IBaseTimelineStore; + } + if (timelineType === GANTT_TIMELINE_TYPE.MODULE) { + return timelineStore.modulesTimeLineStore as IBaseTimelineStore; + } + if (timelineType === GANTT_TIMELINE_TYPE.PROJECT) { + return timelineStore.projectTimeLineStore; + } + if (timelineType === GANTT_TIMELINE_TYPE.GROUPED) { + return timelineStore.groupedTimeLineStore; + } + throw new Error(`Unknown timeline type: ${timelineType}`); +}; + export const useTimeLineChart = (timelineType: TTimelineType): IBaseTimelineStore => { const context = useContext(StoreContext); if (!context) throw new Error("useTimeLineChart must be used within StoreProvider"); From 41a0d0ece62b13973dc78e7e042b4bb6efe232d2 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 17:15:24 +0530 Subject: [PATCH 04/21] refactor: migrate hooks (use-page, use-page-store) from web/app/ce to web/app/core --- .../(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx | 2 +- .../(detail)/[projectId]/pages/(detail)/header.tsx | 2 +- .../(detail)/[projectId]/pages/(detail)/layout.tsx | 2 +- .../projects/(detail)/[projectId]/pages/(list)/header.tsx | 2 +- .../projects/(detail)/[projectId]/pages/(list)/page.tsx | 2 +- .../components/command-palette/modals/project-level.tsx | 2 +- apps/web/ce/components/pages/extra-actions.tsx | 2 +- apps/web/ce/components/pages/header/share-control.tsx | 2 +- apps/web/ce/components/pages/modals/modals.tsx | 2 +- apps/web/ce/hooks/store/index.ts | 4 ++-- apps/web/ce/hooks/use-editor-flagging.ts | 2 +- apps/web/core/components/pages/dropdowns/actions.tsx | 2 +- apps/web/core/components/pages/editor/editor-body.tsx | 2 +- apps/web/core/components/pages/editor/page-root.tsx | 2 +- .../components/pages/editor/toolbar/options-dropdown.tsx | 2 +- apps/web/core/components/pages/header/actions.tsx | 2 +- apps/web/core/components/pages/header/root.tsx | 4 ++-- apps/web/core/components/pages/list/block-item-action.tsx | 2 +- apps/web/core/components/pages/list/block.tsx | 4 ++-- apps/web/core/components/pages/list/root.tsx | 4 ++-- .../core/components/pages/modals/create-page-modal.tsx | 4 ++-- .../core/components/pages/modals/delete-page-modal.tsx | 4 ++-- apps/web/core/components/pages/navigation-pane/root.tsx | 2 +- .../components/pages/navigation-pane/types/extensions.ts | 2 +- .../web/core/components/pages/pages-list-main-content.tsx | 2 +- apps/web/core/components/pages/pages-list-view.tsx | 4 ++-- apps/web/core/components/pages/version/editor.tsx | 2 +- apps/web/core/components/pages/version/main-content.tsx | 2 +- apps/web/core/components/pages/version/root.tsx | 2 +- .../components/power-k/hooks/use-context-indicator.ts | 2 +- .../power-k/ui/pages/context-based/page/commands.ts | 2 +- apps/web/core/hooks/store/index.ts | 8 ++++++++ apps/web/{ce => core}/hooks/store/use-page-store.ts | 0 apps/web/{ce => core}/hooks/store/use-page.ts | 4 ++-- apps/web/core/hooks/use-favorite-item-details.tsx | 2 +- apps/web/core/hooks/use-realtime-page-events.tsx | 4 ++-- 36 files changed, 51 insertions(+), 43 deletions(-) create mode 100644 apps/web/core/hooks/store/index.ts rename apps/web/{ce => core}/hooks/store/use-page-store.ts (100%) rename apps/web/{ce => core}/hooks/store/use-page.ts (86%) diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx index ec332bbe10d..fc1f76aa5d4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/[pageId]/page.tsx @@ -27,7 +27,7 @@ import { useEditorAsset } from "@/hooks/store/use-editor-asset"; import { useWorkspace } from "@/hooks/store/use-workspace"; import { useAppRouter } from "@/hooks/use-app-router"; // plane web hooks -import { EPageStoreType, usePage, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePage, usePageStore } from "@/hooks/store"; // plane web services import { WorkspaceService } from "@/services/workspace.service"; // services diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx index 271d0a159d4..0d2b77e94d6 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/header.tsx @@ -23,7 +23,7 @@ import { useAppRouter } from "@/hooks/use-app-router"; // plane web imports import { CommonProjectBreadcrumbs } from "@/plane-web/components/breadcrumbs/common"; import { PageDetailsHeaderExtraActions } from "@/plane-web/components/pages"; -import { EPageStoreType, usePage, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePage, usePageStore } from "@/hooks/store"; export interface IPagesHeaderProps { showButton?: boolean; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx index 0ba3728ce5c..b8f408091b0 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(detail)/layout.tsx @@ -10,7 +10,7 @@ import useSWR from "swr"; import { AppHeader } from "@/components/core/app-header"; import { ContentWrapper } from "@/components/core/content-wrapper"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePageStore } from "@/hooks/store"; // local components import type { Route } from "./+types/layout"; import { PageDetailsHeader } from "./header"; diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx index e76f55b9a8e..3ff73641616 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/header.tsx @@ -22,7 +22,7 @@ import { BreadcrumbLink } from "@/components/common/breadcrumb-link"; import { useProject } from "@/hooks/store/use-project"; // plane web imports import { CommonProjectBreadcrumbs } from "@/plane-web/components/breadcrumbs/common"; -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePageStore } from "@/hooks/store"; export const PagesListHeader = observer(function PagesListHeader() { // states diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx index e5e1de9dedf..540e87cc178 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/projects/(detail)/[projectId]/pages/(list)/page.tsx @@ -25,7 +25,7 @@ import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import { EPageStoreType } from "@/hooks/store"; import type { Route } from "./+types/page"; const getPageType = (pageType?: string | null): TPageNavigationTabs => { diff --git a/apps/web/ce/components/command-palette/modals/project-level.tsx b/apps/web/ce/components/command-palette/modals/project-level.tsx index e01b002efd9..5555104bba0 100644 --- a/apps/web/ce/components/command-palette/modals/project-level.tsx +++ b/apps/web/ce/components/command-palette/modals/project-level.tsx @@ -13,7 +13,7 @@ import { CreateUpdateProjectViewModal } from "@/components/views/modal"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; // plane web hooks -import { EPageStoreType } from "@/plane-web/hooks/store"; +import { EPageStoreType } from "@/hooks/store"; export type TProjectLevelModalsProps = { workspaceSlug: string; diff --git a/apps/web/ce/components/pages/extra-actions.tsx b/apps/web/ce/components/pages/extra-actions.tsx index a6eaee6335a..b89ef9bf560 100644 --- a/apps/web/ce/components/pages/extra-actions.tsx +++ b/apps/web/ce/components/pages/extra-actions.tsx @@ -5,7 +5,7 @@ */ // store -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; import type { TPageInstance } from "@/store/pages/base-page"; export type TPageHeaderExtraActionsProps = { diff --git a/apps/web/ce/components/pages/header/share-control.tsx b/apps/web/ce/components/pages/header/share-control.tsx index d84ee26bdcf..ea4cb0ae414 100644 --- a/apps/web/ce/components/pages/header/share-control.tsx +++ b/apps/web/ce/components/pages/header/share-control.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/ce/components/pages/modals/modals.tsx b/apps/web/ce/components/pages/modals/modals.tsx index 84952fbf400..6720c8bbb20 100644 --- a/apps/web/ce/components/pages/modals/modals.tsx +++ b/apps/web/ce/components/pages/modals/modals.tsx @@ -6,7 +6,7 @@ import { observer } from "mobx-react"; // components -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/ce/hooks/store/index.ts b/apps/web/ce/hooks/store/index.ts index c514dcefe5f..9b0a16c4124 100644 --- a/apps/web/ce/hooks/store/index.ts +++ b/apps/web/ce/hooks/store/index.ts @@ -4,5 +4,5 @@ * See the LICENSE file for details. */ -export * from "./use-page-store"; -export * from "./use-page"; +export * from "@/hooks/store/use-page-store"; +export * from "@/hooks/store/use-page"; diff --git a/apps/web/ce/hooks/use-editor-flagging.ts b/apps/web/ce/hooks/use-editor-flagging.ts index e1841ff666a..019c62bf545 100644 --- a/apps/web/ce/hooks/use-editor-flagging.ts +++ b/apps/web/ce/hooks/use-editor-flagging.ts @@ -6,7 +6,7 @@ // editor import type { TExtensions } from "@plane/editor"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; export type TEditorFlaggingHookReturnType = { document: { diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index aec992c4032..d9ec1b9fcdf 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -23,7 +23,7 @@ import { usePageOperations } from "@/hooks/use-page-operations"; // plane web components import { MovePageModal } from "@/plane-web/components/pages"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; import { usePageFlag } from "@/plane-web/hooks/use-page-flag"; // store types import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx index 9270386dc0a..4f5e70558b5 100644 --- a/apps/web/core/components/pages/editor/editor-body.tsx +++ b/apps/web/core/components/pages/editor/editor-body.tsx @@ -37,7 +37,7 @@ import type { TCustomEventHandlers } from "@/hooks/use-realtime-page-events"; import { useRealtimePageEvents } from "@/hooks/use-realtime-page-events"; import { EditorAIMenu } from "@/plane-web/components/pages"; import type { TExtendedEditorExtensionsConfig } from "@/plane-web/hooks/pages"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/editor/page-root.tsx b/apps/web/core/components/pages/editor/page-root.tsx index 728b47fe9af..41f80557eb4 100644 --- a/apps/web/core/components/pages/editor/page-root.tsx +++ b/apps/web/core/components/pages/editor/page-root.tsx @@ -15,7 +15,7 @@ import { usePageFallback } from "@/hooks/use-page-fallback"; import type { PageUpdateHandler, TCustomEventHandlers } from "@/hooks/use-realtime-page-events"; import { PageModals } from "@/plane-web/components/pages"; import { usePagesPaneExtensions, useExtendedEditorProps } from "@/plane-web/hooks/pages"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx index a1c62bba10a..44b44304215 100644 --- a/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx +++ b/apps/web/core/components/pages/editor/toolbar/options-dropdown.tsx @@ -16,7 +16,7 @@ import { usePageFilters } from "@/hooks/use-page-filters"; import { useQueryParams } from "@/hooks/use-query-params"; // plane web imports import type { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/header/actions.tsx b/apps/web/core/components/pages/header/actions.tsx index 7ebad8adcef..ab3809a37fe 100644 --- a/apps/web/core/components/pages/header/actions.tsx +++ b/apps/web/core/components/pages/header/actions.tsx @@ -10,7 +10,7 @@ import { PageLockControl } from "@/plane-web/components/pages/header/lock-contro import { PageMoveControl } from "@/plane-web/components/pages/header/move-control"; import { PageShareControl } from "@/plane-web/components/pages/header/share-control"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/header/root.tsx b/apps/web/core/components/pages/header/root.tsx index 1223b97dbbe..a9e89d64ac3 100644 --- a/apps/web/core/components/pages/header/root.tsx +++ b/apps/web/core/components/pages/header/root.tsx @@ -17,8 +17,8 @@ import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; // hooks import { useMember } from "@/hooks/store/use-member"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // local imports import { PageAppliedFiltersList } from "../list/applied-filters"; import { PageFiltersSelection } from "../list/filters"; diff --git a/apps/web/core/components/pages/list/block-item-action.tsx b/apps/web/core/components/pages/list/block-item-action.tsx index b62b97ee9f8..2d58545b37c 100644 --- a/apps/web/core/components/pages/list/block-item-action.tsx +++ b/apps/web/core/components/pages/list/block-item-action.tsx @@ -15,7 +15,7 @@ import { renderFormattedDate, getFileURL } from "@plane/utils"; import { useMember } from "@/hooks/store/use-member"; import { usePageOperations } from "@/hooks/use-page-operations"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/core/components/pages/list/block.tsx b/apps/web/core/components/pages/list/block.tsx index 5d658a42e22..8ceec0d6a10 100644 --- a/apps/web/core/components/pages/list/block.tsx +++ b/apps/web/core/components/pages/list/block.tsx @@ -16,8 +16,8 @@ import { BlockItemAction } from "@/components/pages/list/block-item-action"; // hooks import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePage } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePage } from "@/hooks/store"; type TPageListBlock = { pageId: string; diff --git a/apps/web/core/components/pages/list/root.tsx b/apps/web/core/components/pages/list/root.tsx index 3764e5bc19f..2c42221b010 100644 --- a/apps/web/core/components/pages/list/root.tsx +++ b/apps/web/core/components/pages/list/root.tsx @@ -10,8 +10,8 @@ import type { TPageNavigationTabs } from "@plane/types"; // components import { ListLayout } from "@/components/core/list"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // local imports import { PageListBlock } from "./block"; diff --git a/apps/web/core/components/pages/modals/create-page-modal.tsx b/apps/web/core/components/pages/modals/create-page-modal.tsx index 493cb84e3ee..027ea7d65f9 100644 --- a/apps/web/core/components/pages/modals/create-page-modal.tsx +++ b/apps/web/core/components/pages/modals/create-page-modal.tsx @@ -13,8 +13,8 @@ import { EModalPosition, EModalWidth, ModalCore } from "@plane/ui"; // hooks import { useAppRouter } from "@/hooks/use-app-router"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // local imports import { PageForm } from "./page-form"; diff --git a/apps/web/core/components/pages/modals/delete-page-modal.tsx b/apps/web/core/components/pages/modals/delete-page-modal.tsx index 937409be65d..d498bbb0bb7 100644 --- a/apps/web/core/components/pages/modals/delete-page-modal.tsx +++ b/apps/web/core/components/pages/modals/delete-page-modal.tsx @@ -14,8 +14,8 @@ import { getPageName } from "@plane/utils"; // constants // plane web hooks import { useAppRouter } from "@/hooks/use-app-router"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/core/components/pages/navigation-pane/root.tsx b/apps/web/core/components/pages/navigation-pane/root.tsx index 079cf8b5f64..1aa3d2d605d 100644 --- a/apps/web/core/components/pages/navigation-pane/root.tsx +++ b/apps/web/core/components/pages/navigation-pane/root.tsx @@ -17,7 +17,7 @@ import { useQueryParams } from "@/hooks/use-query-params"; // plane web components import type { TPageNavigationPaneTab } from "@/plane-web/components/pages/navigation-pane"; // store -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; import type { TPageInstance } from "@/store/pages/base-page"; // local imports import type { TPageRootHandlers } from "../editor/page-root"; diff --git a/apps/web/core/components/pages/navigation-pane/types/extensions.ts b/apps/web/core/components/pages/navigation-pane/types/extensions.ts index e24a0495776..89cd3b1833a 100644 --- a/apps/web/core/components/pages/navigation-pane/types/extensions.ts +++ b/apps/web/core/components/pages/navigation-pane/types/extensions.ts @@ -5,7 +5,7 @@ */ import type { ReactNode } from "react"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; import type { TPageInstance } from "@/store/pages/base-page"; export interface INavigationPaneExtensionProps> { diff --git a/apps/web/core/components/pages/pages-list-main-content.tsx b/apps/web/core/components/pages/pages-list-main-content.tsx index adfce6b9100..d835df658a8 100644 --- a/apps/web/core/components/pages/pages-list-main-content.tsx +++ b/apps/web/core/components/pages/pages-list-main-content.tsx @@ -19,7 +19,7 @@ import { PageLoader } from "@/components/pages/loaders/page-loader"; import { useProject } from "@/hooks/store/use-project"; import { useUserPermissions } from "@/hooks/store/user"; // plane web hooks -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePageStore } from "@/hooks/store"; type Props = { children: React.ReactNode; diff --git a/apps/web/core/components/pages/pages-list-view.tsx b/apps/web/core/components/pages/pages-list-view.tsx index 1468430a534..6227b008e66 100644 --- a/apps/web/core/components/pages/pages-list-view.tsx +++ b/apps/web/core/components/pages/pages-list-view.tsx @@ -8,8 +8,8 @@ import { observer } from "mobx-react"; import useSWR from "swr"; import type { TPageNavigationTabs } from "@plane/types"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // local imports import { PagesListHeaderRoot } from "./header"; import { PagesListMainContent } from "./pages-list-main-content"; diff --git a/apps/web/core/components/pages/version/editor.tsx b/apps/web/core/components/pages/version/editor.tsx index 4543af5b025..e9b36ebdd43 100644 --- a/apps/web/core/components/pages/version/editor.tsx +++ b/apps/web/core/components/pages/version/editor.tsx @@ -17,7 +17,7 @@ import { DocumentEditor } from "@/components/editor/document/editor"; import { useWorkspace } from "@/hooks/store/use-workspace"; import { usePageFilters } from "@/hooks/use-page-filters"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; export type TVersionEditorProps = { activeVersion: string | null; diff --git a/apps/web/core/components/pages/version/main-content.tsx b/apps/web/core/components/pages/version/main-content.tsx index 9c3a502a1b7..5cd3b76794e 100644 --- a/apps/web/core/components/pages/version/main-content.tsx +++ b/apps/web/core/components/pages/version/main-content.tsx @@ -14,7 +14,7 @@ import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import type { TPageVersion } from "@plane/types"; import { renderFormattedDate, renderFormattedTime } from "@plane/utils"; // helpers -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // local imports import type { TVersionEditorProps } from "./editor"; diff --git a/apps/web/core/components/pages/version/root.tsx b/apps/web/core/components/pages/version/root.tsx index 81e1b61c660..775a583cd83 100644 --- a/apps/web/core/components/pages/version/root.tsx +++ b/apps/web/core/components/pages/version/root.tsx @@ -13,7 +13,7 @@ import { cn } from "@plane/utils"; // hooks import { useQueryParams } from "@/hooks/use-query-params"; // plane web imports -import type { EPageStoreType } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // local imports import { PAGE_NAVIGATION_PANE_VERSION_QUERY_PARAM, PAGE_NAVIGATION_PANE_WIDTH } from "../navigation-pane"; import type { TVersionEditorProps } from "./editor"; diff --git a/apps/web/core/components/power-k/hooks/use-context-indicator.ts b/apps/web/core/components/power-k/hooks/use-context-indicator.ts index 047d2fb4a07..d8ae42a83b0 100644 --- a/apps/web/core/components/power-k/hooks/use-context-indicator.ts +++ b/apps/web/core/components/power-k/hooks/use-context-indicator.ts @@ -12,7 +12,7 @@ import { useCycle } from "@/hooks/store/use-cycle"; import { useModule } from "@/hooks/store/use-module"; // plane web imports import { useExtendedContextIndicator } from "@/plane-web/components/command-palette/power-k/hooks/use-extended-context-indicator"; -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePageStore } from "@/hooks/store"; // local imports import type { TPowerKContextType } from "../core/types"; diff --git a/apps/web/core/components/power-k/ui/pages/context-based/page/commands.ts b/apps/web/core/components/power-k/ui/pages/context-based/page/commands.ts index 162ab5406a6..7bbea537826 100644 --- a/apps/web/core/components/power-k/ui/pages/context-based/page/commands.ts +++ b/apps/web/core/components/power-k/ui/pages/context-based/page/commands.ts @@ -16,7 +16,7 @@ import { copyTextToClipboard } from "@plane/utils"; // components import type { TPowerKCommandConfig } from "@/components/power-k/core/types"; // plane web imports -import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePageStore } from "@/hooks/store"; export const usePowerKPageContextBasedActions = (): TPowerKCommandConfig[] => { // navigation diff --git a/apps/web/core/hooks/store/index.ts b/apps/web/core/hooks/store/index.ts new file mode 100644 index 00000000000..c514dcefe5f --- /dev/null +++ b/apps/web/core/hooks/store/index.ts @@ -0,0 +1,8 @@ +/** + * Copyright (c) 2023-present Plane Software, Inc. and contributors + * SPDX-License-Identifier: AGPL-3.0-only + * See the LICENSE file for details. + */ + +export * from "./use-page-store"; +export * from "./use-page"; diff --git a/apps/web/ce/hooks/store/use-page-store.ts b/apps/web/core/hooks/store/use-page-store.ts similarity index 100% rename from apps/web/ce/hooks/store/use-page-store.ts rename to apps/web/core/hooks/store/use-page-store.ts diff --git a/apps/web/ce/hooks/store/use-page.ts b/apps/web/core/hooks/store/use-page.ts similarity index 86% rename from apps/web/ce/hooks/store/use-page.ts rename to apps/web/core/hooks/store/use-page.ts index 7b588321e83..2afe8b7ae90 100644 --- a/apps/web/ce/hooks/store/use-page.ts +++ b/apps/web/core/hooks/store/use-page.ts @@ -8,8 +8,8 @@ import { useContext } from "react"; // mobx store import { StoreContext } from "@/lib/store-context"; // plane web hooks -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "./use-page-store"; +import { usePageStore } from "./use-page-store"; export type TArgs = { pageId: string; diff --git a/apps/web/core/hooks/use-favorite-item-details.tsx b/apps/web/core/hooks/use-favorite-item-details.tsx index ef2a296a084..2fd74e397d3 100644 --- a/apps/web/core/hooks/use-favorite-item-details.tsx +++ b/apps/web/core/hooks/use-favorite-item-details.tsx @@ -19,7 +19,7 @@ import { useModule } from "@/hooks/store/use-module"; import { useProject } from "@/hooks/store/use-project"; import { useProjectView } from "@/hooks/store/use-project-view"; // plane web hooks -import { EPageStoreType, usePage } from "@/plane-web/hooks/store"; +import { EPageStoreType, usePage } from "@/hooks/store"; import { useAdditionalFavoriteItemDetails } from "@/plane-web/hooks/use-additional-favorite-item-details"; export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorite) => { diff --git a/apps/web/core/hooks/use-realtime-page-events.tsx b/apps/web/core/hooks/use-realtime-page-events.tsx index 949fe0397d3..ac0cbdc2dad 100644 --- a/apps/web/core/hooks/use-realtime-page-events.tsx +++ b/apps/web/core/hooks/use-realtime-page-events.tsx @@ -15,8 +15,8 @@ import type { TEditorBodyHandlers } from "@/components/pages/editor/editor-body" // hooks import { useUser } from "@/hooks/store/user"; import { useAppRouter } from "@/hooks/use-app-router"; -import type { EPageStoreType } from "@/plane-web/hooks/store"; -import { usePageStore } from "@/plane-web/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; +import { usePageStore } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; From db2c39eff64722ec4010e6b015a6ef5e43eb7e4c Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 17:51:17 +0530 Subject: [PATCH 05/21] refactor: migrate hooks (app-rail, indexes) from web/app/ce to web/app/core --- apps/web/app/(all)/[workspaceSlug]/layout.tsx | 2 +- apps/web/ce/hooks/app-rail/index.ts | 7 ------ apps/web/ce/hooks/app-rail/provider.tsx | 23 ------------------- .../pages/use-extended-editor-extensions.ts | 2 +- apps/web/ce/hooks/store/index.ts | 8 ------- 5 files changed, 2 insertions(+), 40 deletions(-) delete mode 100644 apps/web/ce/hooks/app-rail/index.ts delete mode 100644 apps/web/ce/hooks/app-rail/provider.tsx delete mode 100644 apps/web/ce/hooks/store/index.ts diff --git a/apps/web/app/(all)/[workspaceSlug]/layout.tsx b/apps/web/app/(all)/[workspaceSlug]/layout.tsx index 293688673a9..f093efe76d7 100644 --- a/apps/web/app/(all)/[workspaceSlug]/layout.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/layout.tsx @@ -7,7 +7,7 @@ import { Outlet } from "react-router"; import { AuthenticationWrapper } from "@/lib/wrappers/authentication-wrapper"; import { WorkspaceContentWrapper } from "@/plane-web/components/workspace/content-wrapper"; -import { AppRailVisibilityProvider } from "@/plane-web/hooks/app-rail"; +import { AppRailVisibilityProvider } from "@/lib/app-rail"; import { GlobalModals } from "@/plane-web/components/common/modal/global"; import { WorkspaceAuthWrapper } from "@/layouts/auth-layout/workspace-wrapper"; import type { Route } from "./+types/layout"; diff --git a/apps/web/ce/hooks/app-rail/index.ts b/apps/web/ce/hooks/app-rail/index.ts deleted file mode 100644 index d46b5c917ee..00000000000 --- a/apps/web/ce/hooks/app-rail/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -export * from "./provider"; diff --git a/apps/web/ce/hooks/app-rail/provider.tsx b/apps/web/ce/hooks/app-rail/provider.tsx deleted file mode 100644 index 029f5a83536..00000000000 --- a/apps/web/ce/hooks/app-rail/provider.tsx +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -import React from "react"; -import { observer } from "mobx-react"; -import { AppRailVisibilityProvider as CoreProvider } from "@/lib/app-rail"; - -interface AppRailVisibilityProviderProps { - children: React.ReactNode; -} - -/** - * CE AppRailVisibilityProvider - * Wraps core provider with isEnabled hardcoded to false - */ -export const AppRailVisibilityProvider = observer(function AppRailVisibilityProvider({ - children, -}: AppRailVisibilityProviderProps) { - return {children}; -}); diff --git a/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts b/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts index cc3b0a213e2..e64837db4a2 100644 --- a/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts +++ b/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts @@ -7,7 +7,7 @@ import type { IEditorPropsExtended } from "@plane/editor"; import type { TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; import type { TPageInstance } from "@/store/pages/base-page"; -import type { EPageStoreType } from "../store"; +import type { EPageStoreType } from "@/hooks/store"; export type TExtendedEditorExtensionsHookParams = { workspaceSlug: string; diff --git a/apps/web/ce/hooks/store/index.ts b/apps/web/ce/hooks/store/index.ts deleted file mode 100644 index 9b0a16c4124..00000000000 --- a/apps/web/ce/hooks/store/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -export * from "@/hooks/store/use-page-store"; -export * from "@/hooks/store/use-page"; From f7056d1ef4e56f26f9bcd785a3f34275882410d8 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 18:46:42 +0530 Subject: [PATCH 06/21] refactor: migrate hooks (use-page-flag) from web/app/ce to web/app/core --- apps/web/core/components/pages/dropdowns/actions.tsx | 2 +- apps/web/{ce => core}/hooks/use-page-flag.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/use-page-flag.ts (100%) diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index d9ec1b9fcdf..e11d25f8c44 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -24,7 +24,7 @@ import { usePageOperations } from "@/hooks/use-page-operations"; import { MovePageModal } from "@/plane-web/components/pages"; // plane web hooks import type { EPageStoreType } from "@/hooks/store"; -import { usePageFlag } from "@/plane-web/hooks/use-page-flag"; +import { usePageFlag } from "@/hooks/use-page-flag"; // store types import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/ce/hooks/use-page-flag.ts b/apps/web/core/hooks/use-page-flag.ts similarity index 100% rename from apps/web/ce/hooks/use-page-flag.ts rename to apps/web/core/hooks/use-page-flag.ts From 57972d4519e17d68e3153601e1a3bdf0d9cc3da0 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 18:48:59 +0530 Subject: [PATCH 07/21] refactor: migrate hooks (use-editor-flagging) from web/app/ce to web/app/core --- apps/web/core/components/editor/document/editor.tsx | 2 +- apps/web/core/components/editor/lite-text/editor.tsx | 2 +- apps/web/core/components/editor/rich-text/editor.tsx | 2 +- apps/web/core/components/editor/sticky-editor/editor.tsx | 2 +- apps/web/core/components/pages/editor/editor-body.tsx | 2 +- apps/web/{ce => core}/hooks/use-editor-flagging.ts | 0 6 files changed, 5 insertions(+), 5 deletions(-) rename apps/web/{ce => core}/hooks/use-editor-flagging.ts (100%) diff --git a/apps/web/core/components/editor/document/editor.tsx b/apps/web/core/components/editor/document/editor.tsx index dd653e45ef0..34bc9f3ee55 100644 --- a/apps/web/core/components/editor/document/editor.tsx +++ b/apps/web/core/components/editor/document/editor.tsx @@ -15,7 +15,7 @@ import { useEditorConfig, useEditorMention } from "@/hooks/editor"; import { useMember } from "@/hooks/store/use-member"; import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; // plane web hooks -import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; +import { useEditorFlagging } from "@/hooks/use-editor-flagging"; // local imports import { EditorMentionsRoot } from "../embeds/mentions"; diff --git a/apps/web/core/components/editor/lite-text/editor.tsx b/apps/web/core/components/editor/lite-text/editor.tsx index 257f106f8c0..e09d6d197e3 100644 --- a/apps/web/core/components/editor/lite-text/editor.tsx +++ b/apps/web/core/components/editor/lite-text/editor.tsx @@ -21,7 +21,7 @@ import { useEditorConfig, useEditorMention } from "@/hooks/editor"; import { useMember } from "@/hooks/store/use-member"; import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; // plane web hooks -import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; +import { useEditorFlagging } from "@/hooks/use-editor-flagging"; // plane web service import { WorkspaceService } from "@/services/workspace.service"; import { LiteToolbar } from "./lite-toolbar"; diff --git a/apps/web/core/components/editor/rich-text/editor.tsx b/apps/web/core/components/editor/rich-text/editor.tsx index 5a429b039fe..cb2172bdee8 100644 --- a/apps/web/core/components/editor/rich-text/editor.tsx +++ b/apps/web/core/components/editor/rich-text/editor.tsx @@ -17,7 +17,7 @@ import { useEditorConfig, useEditorMention } from "@/hooks/editor"; import { useMember } from "@/hooks/store/use-member"; import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; // plane web hooks -import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; +import { useEditorFlagging } from "@/hooks/use-editor-flagging"; type RichTextEditorWrapperProps = MakeOptional< Omit, diff --git a/apps/web/core/components/editor/sticky-editor/editor.tsx b/apps/web/core/components/editor/sticky-editor/editor.tsx index 544ea3b35b5..75d67cd1aff 100644 --- a/apps/web/core/components/editor/sticky-editor/editor.tsx +++ b/apps/web/core/components/editor/sticky-editor/editor.tsx @@ -18,7 +18,7 @@ import { cn } from "@plane/utils"; import { useEditorConfig } from "@/hooks/editor"; import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; // plane web hooks -import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; +import { useEditorFlagging } from "@/hooks/use-editor-flagging"; import { StickyEditorToolbar } from "./toolbar"; interface StickyEditorWrapperProps extends Omit< diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx index 4f5e70558b5..699c87034cb 100644 --- a/apps/web/core/components/pages/editor/editor-body.tsx +++ b/apps/web/core/components/pages/editor/editor-body.tsx @@ -38,7 +38,7 @@ import { useRealtimePageEvents } from "@/hooks/use-realtime-page-events"; import { EditorAIMenu } from "@/plane-web/components/pages"; import type { TExtendedEditorExtensionsConfig } from "@/plane-web/hooks/pages"; import type { EPageStoreType } from "@/hooks/store"; -import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging"; +import { useEditorFlagging } from "@/hooks/use-editor-flagging"; // store import type { TPageInstance } from "@/store/pages/base-page"; // local imports diff --git a/apps/web/ce/hooks/use-editor-flagging.ts b/apps/web/core/hooks/use-editor-flagging.ts similarity index 100% rename from apps/web/ce/hooks/use-editor-flagging.ts rename to apps/web/core/hooks/use-editor-flagging.ts From b2795efa7784fb23e1bd5dad0d59898a0df52e38 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 18:50:38 +0530 Subject: [PATCH 08/21] refactor: migrate hooks (use-filters-operator-configs) from web/app/ce to web/app/core --- .../ce/hooks/work-item-filters/use-work-item-filters-config.tsx | 2 +- .../hooks/rich-filters/use-filters-operator-configs.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/rich-filters/use-filters-operator-configs.ts (100%) diff --git a/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx b/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx index c4b6f3f0b20..78ac8242b7c 100644 --- a/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx +++ b/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx @@ -61,7 +61,7 @@ import { useModule } from "@/hooks/store/use-module"; import { useProject } from "@/hooks/store/use-project"; import { useProjectState } from "@/hooks/store/use-project-state"; // plane web imports -import { useFiltersOperatorConfigs } from "@/plane-web/hooks/rich-filters/use-filters-operator-configs"; +import { useFiltersOperatorConfigs } from "@/hooks/rich-filters/use-filters-operator-configs"; export type TWorkItemFiltersEntityProps = { workspaceSlug: string; diff --git a/apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts b/apps/web/core/hooks/rich-filters/use-filters-operator-configs.ts similarity index 100% rename from apps/web/ce/hooks/rich-filters/use-filters-operator-configs.ts rename to apps/web/core/hooks/rich-filters/use-filters-operator-configs.ts From ec34e95e7b15cb20622762ee5c63c8f7687d9717 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 18:52:56 +0530 Subject: [PATCH 09/21] refactor: migrate hooks (use-additional-editor-mention) from web/app/ce to web/app/core --- apps/web/core/hooks/editor/use-editor-mention.tsx | 2 +- apps/web/{ce => core}/hooks/use-additional-editor-mention.tsx | 0 apps/web/core/hooks/use-parse-editor-content.ts | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename apps/web/{ce => core}/hooks/use-additional-editor-mention.tsx (100%) diff --git a/apps/web/core/hooks/editor/use-editor-mention.tsx b/apps/web/core/hooks/editor/use-editor-mention.tsx index 46aa85229b1..910accae6a5 100644 --- a/apps/web/core/hooks/editor/use-editor-mention.tsx +++ b/apps/web/core/hooks/editor/use-editor-mention.tsx @@ -14,7 +14,7 @@ import { Avatar } from "@plane/ui"; // helpers import { getFileURL } from "@plane/utils"; // plane web hooks -import { useAdditionalEditorMention } from "@/plane-web/hooks/use-additional-editor-mention"; +import { useAdditionalEditorMention } from "@/hooks/use-additional-editor-mention"; type TArgs = { enableAdvancedMentions?: boolean; diff --git a/apps/web/ce/hooks/use-additional-editor-mention.tsx b/apps/web/core/hooks/use-additional-editor-mention.tsx similarity index 100% rename from apps/web/ce/hooks/use-additional-editor-mention.tsx rename to apps/web/core/hooks/use-additional-editor-mention.tsx diff --git a/apps/web/core/hooks/use-parse-editor-content.ts b/apps/web/core/hooks/use-parse-editor-content.ts index 2bd1b820804..c4b969d24e9 100644 --- a/apps/web/core/hooks/use-parse-editor-content.ts +++ b/apps/web/core/hooks/use-parse-editor-content.ts @@ -13,7 +13,7 @@ import type { TCustomComponentsMetaData } from "@plane/utils"; // hooks import { useMember } from "@/hooks/store/use-member"; // plane web hooks -import { useAdditionalEditorMention } from "@/plane-web/hooks/use-additional-editor-mention"; +import { useAdditionalEditorMention } from "@/hooks/use-additional-editor-mention"; type TArgs = { projectId?: string; From a189d7be8dbeba96c405b0653ae25e3f277249b3 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 18:54:51 +0530 Subject: [PATCH 10/21] refactor: migrate hooks (use-additional-favorite-item-details) from web/app/ce to web/app/core --- .../{ce => core}/hooks/use-additional-favorite-item-details.tsx | 0 apps/web/core/hooks/use-favorite-item-details.tsx | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/use-additional-favorite-item-details.tsx (100%) diff --git a/apps/web/ce/hooks/use-additional-favorite-item-details.tsx b/apps/web/core/hooks/use-additional-favorite-item-details.tsx similarity index 100% rename from apps/web/ce/hooks/use-additional-favorite-item-details.tsx rename to apps/web/core/hooks/use-additional-favorite-item-details.tsx diff --git a/apps/web/core/hooks/use-favorite-item-details.tsx b/apps/web/core/hooks/use-favorite-item-details.tsx index 2fd74e397d3..18b3d568973 100644 --- a/apps/web/core/hooks/use-favorite-item-details.tsx +++ b/apps/web/core/hooks/use-favorite-item-details.tsx @@ -20,7 +20,7 @@ import { useProject } from "@/hooks/store/use-project"; import { useProjectView } from "@/hooks/store/use-project-view"; // plane web hooks import { EPageStoreType, usePage } from "@/hooks/store"; -import { useAdditionalFavoriteItemDetails } from "@/plane-web/hooks/use-additional-favorite-item-details"; +import { useAdditionalFavoriteItemDetails } from "@/hooks/use-additional-favorite-item-details"; export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorite) => { const { From d977d6d0d43a4e1d8d38b93e68859d987614b8ba Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:08:13 +0530 Subject: [PATCH 11/21] refactor: migrate hooks (use-extended-editor-extensions, use-pages-pane-extensions) from web/app/ce to web/app/core --- apps/web/core/components/pages/editor/editor-body.tsx | 2 +- apps/web/core/components/pages/editor/page-root.tsx | 2 +- apps/web/{ce => core}/hooks/pages/index.ts | 2 +- .../{ce => core}/hooks/pages/use-extended-editor-extensions.ts | 0 apps/web/{ce => core}/hooks/pages/use-pages-pane-extensions.ts | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename apps/web/{ce => core}/hooks/pages/index.ts (100%) rename apps/web/{ce => core}/hooks/pages/use-extended-editor-extensions.ts (100%) rename apps/web/{ce => core}/hooks/pages/use-pages-pane-extensions.ts (100%) diff --git a/apps/web/core/components/pages/editor/editor-body.tsx b/apps/web/core/components/pages/editor/editor-body.tsx index 699c87034cb..561d048e448 100644 --- a/apps/web/core/components/pages/editor/editor-body.tsx +++ b/apps/web/core/components/pages/editor/editor-body.tsx @@ -36,7 +36,7 @@ import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; import type { TCustomEventHandlers } from "@/hooks/use-realtime-page-events"; import { useRealtimePageEvents } from "@/hooks/use-realtime-page-events"; import { EditorAIMenu } from "@/plane-web/components/pages"; -import type { TExtendedEditorExtensionsConfig } from "@/plane-web/hooks/pages"; +import type { TExtendedEditorExtensionsConfig } from "@/hooks/pages"; import type { EPageStoreType } from "@/hooks/store"; import { useEditorFlagging } from "@/hooks/use-editor-flagging"; // store diff --git a/apps/web/core/components/pages/editor/page-root.tsx b/apps/web/core/components/pages/editor/page-root.tsx index 41f80557eb4..d7b428c7438 100644 --- a/apps/web/core/components/pages/editor/page-root.tsx +++ b/apps/web/core/components/pages/editor/page-root.tsx @@ -14,7 +14,7 @@ import { usePageFallback } from "@/hooks/use-page-fallback"; // plane web import import type { PageUpdateHandler, TCustomEventHandlers } from "@/hooks/use-realtime-page-events"; import { PageModals } from "@/plane-web/components/pages"; -import { usePagesPaneExtensions, useExtendedEditorProps } from "@/plane-web/hooks/pages"; +import { usePagesPaneExtensions, useExtendedEditorProps } from "@/hooks/pages"; import type { EPageStoreType } from "@/hooks/store"; // store import type { TPageInstance } from "@/store/pages/base-page"; diff --git a/apps/web/ce/hooks/pages/index.ts b/apps/web/core/hooks/pages/index.ts similarity index 100% rename from apps/web/ce/hooks/pages/index.ts rename to apps/web/core/hooks/pages/index.ts index bc7999e282e..564955b511a 100644 --- a/apps/web/ce/hooks/pages/index.ts +++ b/apps/web/core/hooks/pages/index.ts @@ -4,5 +4,5 @@ * See the LICENSE file for details. */ -export * from "./use-pages-pane-extensions"; export * from "./use-extended-editor-extensions"; +export * from "./use-pages-pane-extensions"; diff --git a/apps/web/ce/hooks/pages/use-extended-editor-extensions.ts b/apps/web/core/hooks/pages/use-extended-editor-extensions.ts similarity index 100% rename from apps/web/ce/hooks/pages/use-extended-editor-extensions.ts rename to apps/web/core/hooks/pages/use-extended-editor-extensions.ts diff --git a/apps/web/ce/hooks/pages/use-pages-pane-extensions.ts b/apps/web/core/hooks/pages/use-pages-pane-extensions.ts similarity index 100% rename from apps/web/ce/hooks/pages/use-pages-pane-extensions.ts rename to apps/web/core/hooks/pages/use-pages-pane-extensions.ts From f74ee5aa638197a828cc2802845a9a3fb7c5010d Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:10:30 +0530 Subject: [PATCH 12/21] refactor: migrate hooks (use-work-items-filters-config) from web/app/ce to web/app/core --- .../core/components/work-item-filters/filters-hoc/base.tsx | 4 ++-- .../hooks/work-item-filters/use-work-item-filters-config.tsx | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename apps/web/{ce => core}/hooks/work-item-filters/use-work-item-filters-config.tsx (100%) diff --git a/apps/web/core/components/work-item-filters/filters-hoc/base.tsx b/apps/web/core/components/work-item-filters/filters-hoc/base.tsx index 58df7f06e65..4d361163673 100644 --- a/apps/web/core/components/work-item-filters/filters-hoc/base.tsx +++ b/apps/web/core/components/work-item-filters/filters-hoc/base.tsx @@ -14,8 +14,8 @@ import type { IIssueFilters, TWorkItemFilterExpression } from "@plane/types"; // store hooks import { useWorkItemFilters } from "@/hooks/store/work-item-filters/use-work-item-filters"; // plane web imports -import type { TWorkItemFiltersEntityProps } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; -import { useWorkItemFiltersConfig } from "@/plane-web/hooks/work-item-filters/use-work-item-filters-config"; +import type { TWorkItemFiltersEntityProps } from "@/hooks/work-item-filters/use-work-item-filters-config"; +import { useWorkItemFiltersConfig } from "@/hooks/work-item-filters/use-work-item-filters-config"; // local imports import type { TSharedWorkItemFiltersHOCProps, TSharedWorkItemFiltersProps } from "./shared"; diff --git a/apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx b/apps/web/core/hooks/work-item-filters/use-work-item-filters-config.tsx similarity index 100% rename from apps/web/ce/hooks/work-item-filters/use-work-item-filters-config.tsx rename to apps/web/core/hooks/work-item-filters/use-work-item-filters-config.tsx From 6c571d084146bf7dd87ffc9194881e5197961749 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:21:26 +0530 Subject: [PATCH 13/21] refactor: migrate hooks (use-extended-editor-config) from web/app/ce to web/app/core --- apps/web/core/hooks/editor/use-editor-config.ts | 2 +- .../web/{ce => core}/hooks/editor/use-extended-editor-config.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/editor/use-extended-editor-config.ts (100%) diff --git a/apps/web/core/hooks/editor/use-editor-config.ts b/apps/web/core/hooks/editor/use-editor-config.ts index 95493050be7..ecc98769f10 100644 --- a/apps/web/core/hooks/editor/use-editor-config.ts +++ b/apps/web/core/hooks/editor/use-editor-config.ts @@ -11,7 +11,7 @@ import { getEditorAssetDownloadSrc, getEditorAssetSrc } from "@plane/utils"; // hooks import { useEditorAsset } from "@/hooks/store/use-editor-asset"; // plane web hooks -import { useExtendedEditorConfig } from "@/plane-web/hooks/editor/use-extended-editor-config"; +import { useExtendedEditorConfig } from "@/hooks/editor/use-extended-editor-config"; import { useFileSize } from "@/hooks/use-file-size"; // services import { FileService } from "@/services/file.service"; diff --git a/apps/web/ce/hooks/editor/use-extended-editor-config.ts b/apps/web/core/hooks/editor/use-extended-editor-config.ts similarity index 100% rename from apps/web/ce/hooks/editor/use-extended-editor-config.ts rename to apps/web/core/hooks/editor/use-extended-editor-config.ts From bf55317d0f9d3347feda99c9ca9ecf0d8049e359 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:44:49 +0530 Subject: [PATCH 14/21] refactor: migrate hooks (use-bulk-operations) from web/app/ce to web/app/core --- apps/web/core/components/gantt-chart/chart/main-content.tsx | 2 +- .../components/issues/issue-layouts/gantt/base-gantt-root.tsx | 2 +- apps/web/core/components/issues/issue-layouts/list/default.tsx | 2 +- .../issues/issue-layouts/spreadsheet/spreadsheet-view.tsx | 2 +- apps/web/{ce => core}/hooks/use-bulk-operation-status.ts | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename apps/web/{ce => core}/hooks/use-bulk-operation-status.ts (100%) diff --git a/apps/web/core/components/gantt-chart/chart/main-content.tsx b/apps/web/core/components/gantt-chart/chart/main-content.tsx index e7de61089d2..528582c1bdb 100644 --- a/apps/web/core/components/gantt-chart/chart/main-content.tsx +++ b/apps/web/core/components/gantt-chart/chart/main-content.tsx @@ -32,7 +32,7 @@ import { GanttChartRowList } from "@/plane-web/components/gantt-chart/blocks/blo import { GanttChartBlocksList } from "@/plane-web/components/gantt-chart/blocks/blocks-list"; import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-operations"; // plane web hooks -import { useBulkOperationStatus } from "@/plane-web/hooks/use-bulk-operation-status"; +import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; // import { DEFAULT_BLOCK_WIDTH, GANTT_SELECT_GROUP, HEADER_HEIGHT } from "../constants"; import { getItemPositionWidth } from "../views"; diff --git a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx index 3404b438ca4..f4afbc60a77 100644 --- a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx @@ -25,7 +25,7 @@ import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; import { useIssuesActions } from "@/hooks/use-issues-actions"; import { useTimeLineChart } from "@/hooks/use-timeline-chart"; // plane web hooks -import { useBulkOperationStatus } from "@/plane-web/hooks/use-bulk-operation-status"; +import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; import { IssueLayoutHOC } from "../issue-layout-HOC"; import { GanttQuickAddIssueButton, QuickAddIssueRoot } from "../quick-add"; diff --git a/apps/web/core/components/issues/issue-layouts/list/default.tsx b/apps/web/core/components/issues/issue-layouts/list/default.tsx index 28db68addc9..1d255a72c8e 100644 --- a/apps/web/core/components/issues/issue-layouts/list/default.tsx +++ b/apps/web/core/components/issues/issue-layouts/list/default.tsx @@ -29,7 +29,7 @@ import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; // plane web components import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-operations"; // plane web hooks -import { useBulkOperationStatus } from "@/plane-web/hooks/use-bulk-operation-status"; +import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; // utils import type { GroupDropLocation } from "../utils"; import { getGroupByColumns, isWorkspaceLevel, isSubGrouped } from "../utils"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx index f3f143db4ef..5ac7d0f045f 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx @@ -18,7 +18,7 @@ import { useProject } from "@/hooks/store/use-project"; // plane web components import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-operations"; // plane web hooks -import { useBulkOperationStatus } from "@/plane-web/hooks/use-bulk-operation-status"; +import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; // local imports import type { TRenderQuickActions } from "../list/list-view-types"; import { QuickAddIssueRoot, SpreadsheetAddIssueButton } from "../quick-add"; diff --git a/apps/web/ce/hooks/use-bulk-operation-status.ts b/apps/web/core/hooks/use-bulk-operation-status.ts similarity index 100% rename from apps/web/ce/hooks/use-bulk-operation-status.ts rename to apps/web/core/hooks/use-bulk-operation-status.ts From 34ddd1674a3e3f5bfa7ce02c1ea86ae33b1d0eb8 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:47:53 +0530 Subject: [PATCH 15/21] refactor: migrate hooks (use-debounced-duplicate-issues) from web/app/ce to web/app/core --- apps/web/core/components/inbox/content/issue-root.tsx | 2 +- .../core/components/inbox/modals/create-modal/create-root.tsx | 2 +- apps/web/core/components/issues/issue-detail/main-content.tsx | 2 +- apps/web/core/components/issues/issue-modal/form.tsx | 2 +- apps/web/core/components/issues/peek-overview/issue-detail.tsx | 2 +- apps/web/{ce => core}/hooks/use-debounced-duplicate-issues.tsx | 0 6 files changed, 5 insertions(+), 5 deletions(-) rename apps/web/{ce => core}/hooks/use-debounced-duplicate-issues.tsx (100%) diff --git a/apps/web/core/components/inbox/content/issue-root.tsx b/apps/web/core/components/inbox/content/issue-root.tsx index 172693b9229..8c01d02f5fb 100644 --- a/apps/web/core/components/inbox/content/issue-root.tsx +++ b/apps/web/core/components/inbox/content/issue-root.tsx @@ -31,7 +31,7 @@ import { useUser } from "@/hooks/store/user"; import useReloadConfirmations from "@/hooks/use-reload-confirmation"; // store types import { DeDupeIssuePopoverRoot } from "@/plane-web/components/de-dupe/duplicate-popover"; -import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues"; +import { useDebouncedDuplicateIssues } from "@/hooks/use-debounced-duplicate-issues"; // services import { IntakeWorkItemVersionService } from "@/services/inbox"; // stores diff --git a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx index e31e8da1270..32963204dd0 100644 --- a/apps/web/core/components/inbox/modals/create-modal/create-root.tsx +++ b/apps/web/core/components/inbox/modals/create-modal/create-root.tsx @@ -26,7 +26,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // plane web imports import { DeDupeButtonRoot } from "@/plane-web/components/de-dupe/de-dupe-button"; import { DuplicateModalRoot } from "@/plane-web/components/de-dupe/duplicate-modal"; -import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues"; +import { useDebouncedDuplicateIssues } from "@/hooks/use-debounced-duplicate-issues"; // services import { FileService } from "@/services/file.service"; // local imports diff --git a/apps/web/core/components/issues/issue-detail/main-content.tsx b/apps/web/core/components/issues/issue-detail/main-content.tsx index d14bd35396a..a63c052d05a 100644 --- a/apps/web/core/components/issues/issue-detail/main-content.tsx +++ b/apps/web/core/components/issues/issue-detail/main-content.tsx @@ -24,7 +24,7 @@ import useSize from "@/hooks/use-window-size"; // plane web components import { DeDupeIssuePopoverRoot } from "@/plane-web/components/de-dupe/duplicate-popover"; import { IssueTypeSwitcher } from "@/plane-web/components/issues/issue-details/issue-type-switcher"; -import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues"; +import { useDebouncedDuplicateIssues } from "@/hooks/use-debounced-duplicate-issues"; // services import { WorkItemVersionService } from "@/services/issue"; // local imports diff --git a/apps/web/core/components/issues/issue-modal/form.tsx b/apps/web/core/components/issues/issue-modal/form.tsx index 33d7c599317..53aded43871 100644 --- a/apps/web/core/components/issues/issue-modal/form.tsx +++ b/apps/web/core/components/issues/issue-modal/form.tsx @@ -48,7 +48,7 @@ import { DeDupeButtonRoot } from "@/plane-web/components/de-dupe/de-dupe-button" import { DuplicateModalRoot } from "@/plane-web/components/de-dupe/duplicate-modal"; import { IssueTypeSelect, WorkItemTemplateSelect } from "@/plane-web/components/issues/issue-modal"; import { WorkItemModalAdditionalProperties } from "@/plane-web/components/issues/issue-modal/modal-additional-properties"; -import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues"; +import { useDebouncedDuplicateIssues } from "@/hooks/use-debounced-duplicate-issues"; export interface IssueFormProps { data?: Partial; diff --git a/apps/web/core/components/issues/peek-overview/issue-detail.tsx b/apps/web/core/components/issues/peek-overview/issue-detail.tsx index 6bd89124b62..b4f13b89b56 100644 --- a/apps/web/core/components/issues/peek-overview/issue-detail.tsx +++ b/apps/web/core/components/issues/peek-overview/issue-detail.tsx @@ -25,7 +25,7 @@ import useReloadConfirmations from "@/hooks/use-reload-confirmation"; import { DeDupeIssuePopoverRoot } from "@/plane-web/components/de-dupe/duplicate-popover"; import { IssueTypeSwitcher } from "@/plane-web/components/issues/issue-details/issue-type-switcher"; // plane web hooks -import { useDebouncedDuplicateIssues } from "@/plane-web/hooks/use-debounced-duplicate-issues"; +import { useDebouncedDuplicateIssues } from "@/hooks/use-debounced-duplicate-issues"; // services import { WorkItemVersionService } from "@/services/issue"; // local components diff --git a/apps/web/ce/hooks/use-debounced-duplicate-issues.tsx b/apps/web/core/hooks/use-debounced-duplicate-issues.tsx similarity index 100% rename from apps/web/ce/hooks/use-debounced-duplicate-issues.tsx rename to apps/web/core/hooks/use-debounced-duplicate-issues.tsx From e3aa81f7cd13a17a34c883d30728bd4816237491 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:49:44 +0530 Subject: [PATCH 16/21] refactor: migrate hooks (use-issue-properties) from web/app/ce to web/app/core --- .../(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx | 2 +- apps/web/core/components/issues/peek-overview/root.tsx | 2 +- apps/web/{ce => core}/hooks/use-issue-properties.tsx | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename apps/web/{ce => core}/hooks/use-issue-properties.tsx (100%) diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx index f2c5aea1aa5..427e43fc9d4 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/browse/[workItem]/page.tsx @@ -27,7 +27,7 @@ import { useAppRouter } from "@/hooks/use-app-router"; // layouts import { ProjectAuthWrapper } from "@/layouts/auth-layout/project-wrapper"; // plane web imports -import { useWorkItemProperties } from "@/plane-web/hooks/use-issue-properties"; +import { useWorkItemProperties } from "@/hooks/use-issue-properties"; import { WorkItemDetailRoot } from "@/plane-web/components/browse/workItem-detail"; import type { Route } from "./+types/page"; diff --git a/apps/web/core/components/issues/peek-overview/root.tsx b/apps/web/core/components/issues/peek-overview/root.tsx index 421aaebbdb0..b607158d802 100644 --- a/apps/web/core/components/issues/peek-overview/root.tsx +++ b/apps/web/core/components/issues/peek-overview/root.tsx @@ -19,7 +19,7 @@ import { useIssueDetail } from "@/hooks/store/use-issue-detail"; import { useIssues } from "@/hooks/store/use-issues"; import { useUserPermissions } from "@/hooks/store/user"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; -import { useWorkItemProperties } from "@/plane-web/hooks/use-issue-properties"; +import { useWorkItemProperties } from "@/hooks/use-issue-properties"; // local imports import type { TIssueOperations } from "../issue-detail"; import { IssueView } from "./view"; diff --git a/apps/web/ce/hooks/use-issue-properties.tsx b/apps/web/core/hooks/use-issue-properties.tsx similarity index 100% rename from apps/web/ce/hooks/use-issue-properties.tsx rename to apps/web/core/hooks/use-issue-properties.tsx From d920416e8f089ac28ce27bcdffb83aebce2f3f8d Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:51:15 +0530 Subject: [PATCH 17/21] refactor: migrate hooks (use-workspace-issue-properties) from web/app/ce to web/app/core --- .../hooks/use-workspace-issue-properties-extended.tsx | 0 apps/web/core/hooks/use-workspace-issue-properties.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/web/{ce => core}/hooks/use-workspace-issue-properties-extended.tsx (100%) diff --git a/apps/web/ce/hooks/use-workspace-issue-properties-extended.tsx b/apps/web/core/hooks/use-workspace-issue-properties-extended.tsx similarity index 100% rename from apps/web/ce/hooks/use-workspace-issue-properties-extended.tsx rename to apps/web/core/hooks/use-workspace-issue-properties-extended.tsx diff --git a/apps/web/core/hooks/use-workspace-issue-properties.ts b/apps/web/core/hooks/use-workspace-issue-properties.ts index 02388da1728..9ee10990871 100644 --- a/apps/web/core/hooks/use-workspace-issue-properties.ts +++ b/apps/web/core/hooks/use-workspace-issue-properties.ts @@ -7,7 +7,7 @@ import useSWR from "swr"; // plane web imports import { WORKSPACE_ESTIMATES, WORKSPACE_CYCLES, WORKSPACE_LABELS, WORKSPACE_MODULES } from "@plane/constants"; -import { useWorkspaceIssuePropertiesExtended } from "@/plane-web/hooks/use-workspace-issue-properties-extended"; +import { useWorkspaceIssuePropertiesExtended } from "@/hooks/use-workspace-issue-properties-extended"; // plane imports import { useProjectEstimates } from "./store/estimates"; import { useCycle } from "./store/use-cycle"; From 1ca66f7f1df848d76ca3f0eb05e80f862caf8135 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Fri, 5 Jun 2026 19:54:00 +0530 Subject: [PATCH 18/21] refactor: delete hook (use-issue-embed) from web/app/ce --- apps/web/ce/hooks/use-issue-embed.tsx | 31 --------------------------- 1 file changed, 31 deletions(-) delete mode 100644 apps/web/ce/hooks/use-issue-embed.tsx diff --git a/apps/web/ce/hooks/use-issue-embed.tsx b/apps/web/ce/hooks/use-issue-embed.tsx deleted file mode 100644 index 6ffbec7cdb2..00000000000 --- a/apps/web/ce/hooks/use-issue-embed.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2023-present Plane Software, Inc. and contributors - * SPDX-License-Identifier: AGPL-3.0-only - * See the LICENSE file for details. - */ - -// editor -import type { TEmbedConfig } from "@plane/editor"; -// plane types -import type { TSearchEntityRequestPayload, TSearchResponse } from "@plane/types"; -// plane web components -import { IssueEmbedUpgradeCard } from "@/plane-web/components/pages"; - -export type TIssueEmbedHookProps = { - fetchEmbedSuggestions?: (payload: TSearchEntityRequestPayload) => Promise; - projectId?: string; - workspaceSlug?: string; -}; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export const useIssueEmbed = (props: TIssueEmbedHookProps) => { - const widgetCallback = () => ; - - const issueEmbedProps: TEmbedConfig["issue"] = { - widgetCallback, - }; - - return { - issueEmbedProps, - }; -}; From 717eae9a0f3fa45c0f4bbab4fb93abda278a73a1 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Mon, 15 Jun 2026 18:05:38 +0530 Subject: [PATCH 19/21] fix: coderabbit comments --- apps/web/core/hooks/use-timeline-chart.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/web/core/hooks/use-timeline-chart.ts b/apps/web/core/hooks/use-timeline-chart.ts index ea81a1c03f2..ce9d1d88f07 100644 --- a/apps/web/core/hooks/use-timeline-chart.ts +++ b/apps/web/core/hooks/use-timeline-chart.ts @@ -6,9 +6,7 @@ import { useContext } from "react"; // types -import type { TTimelineTypeCore } from "@plane/types"; -import type { TTimelineType } from "@plane/types"; -import { GANTT_TIMELINE_TYPE } from "@plane/types"; +import { GANTT_TIMELINE_TYPE, type TTimelineTypeCore, type TTimelineType } from "@plane/types"; // lib import { StoreContext } from "@/lib/store-context"; // plane-web store types From 2c98862acf3180040cf86717f0ba008fec020222 Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Mon, 15 Jun 2026 18:06:56 +0530 Subject: [PATCH 20/21] fix: React doctor comments --- apps/web/core/components/inbox/content/issue-root.tsx | 6 +++--- .../core/components/issues/issue-detail/main-content.tsx | 4 +++- .../core/components/issues/peek-overview/issue-detail.tsx | 6 +++--- apps/web/core/components/pages/editor/page-root.tsx | 5 ++--- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/web/core/components/inbox/content/issue-root.tsx b/apps/web/core/components/inbox/content/issue-root.tsx index 8c01d02f5fb..e4c40103965 100644 --- a/apps/web/core/components/inbox/content/issue-root.tsx +++ b/apps/web/core/components/inbox/content/issue-root.tsx @@ -64,14 +64,14 @@ export const InboxIssueMainContent = observer(function InboxIssueMainContent(pro const { setShowAlert } = useReloadConfirmations(isSubmitting === "submitting"); useEffect(() => { + let timer: ReturnType; if (isSubmitting === "submitted") { setShowAlert(false); - setTimeout(async () => { - setIsSubmitting("saved"); - }, 3000); + timer = setTimeout(() => setIsSubmitting("saved"), 3000); } else if (isSubmitting === "submitting") { setShowAlert(true); } + return () => clearTimeout(timer); }, [isSubmitting, setShowAlert, setIsSubmitting]); // derived values diff --git a/apps/web/core/components/issues/issue-detail/main-content.tsx b/apps/web/core/components/issues/issue-detail/main-content.tsx index a63c052d05a..34140963ae0 100644 --- a/apps/web/core/components/issues/issue-detail/main-content.tsx +++ b/apps/web/core/components/issues/issue-detail/main-content.tsx @@ -80,10 +80,12 @@ export const IssueMainContent = observer(function IssueMainContent(props: Props) ); useEffect(() => { + let timer: ReturnType; if (isSubmitting === "submitted") { setShowAlert(false); - setTimeout(async () => setIsSubmitting("saved"), 2000); + timer = setTimeout(() => setIsSubmitting("saved"), 2000); } else if (isSubmitting === "submitting") setShowAlert(true); + return () => clearTimeout(timer); }, [isSubmitting, setShowAlert, setIsSubmitting]); if (!issue || !issue.project_id) return <>; diff --git a/apps/web/core/components/issues/peek-overview/issue-detail.tsx b/apps/web/core/components/issues/peek-overview/issue-detail.tsx index b4f13b89b56..96054b02fc5 100644 --- a/apps/web/core/components/issues/peek-overview/issue-detail.tsx +++ b/apps/web/core/components/issues/peek-overview/issue-detail.tsx @@ -62,14 +62,14 @@ export const PeekOverviewIssueDetails = observer(function PeekOverviewIssueDetai const { setShowAlert } = useReloadConfirmations(isSubmitting === "submitting"); useEffect(() => { + let timer: ReturnType; if (isSubmitting === "submitted") { setShowAlert(false); - setTimeout(async () => { - setIsSubmitting("saved"); - }, 2000); + timer = setTimeout(() => setIsSubmitting("saved"), 2000); } else if (isSubmitting === "submitting") { setShowAlert(true); } + return () => clearTimeout(timer); }, [isSubmitting, setShowAlert, setIsSubmitting]); // derived values diff --git a/apps/web/core/components/pages/editor/page-root.tsx b/apps/web/core/components/pages/editor/page-root.tsx index d7b428c7438..2ffb04148ae 100644 --- a/apps/web/core/components/pages/editor/page-root.tsx +++ b/apps/web/core/components/pages/editor/page-root.tsx @@ -91,9 +91,8 @@ export const PageRoot = observer(function PageRoot(props: TPageRootProps) { ); useEffect(() => { - setTimeout(() => { - setEditorRef(editorRef.current); - }, 0); + const timer = setTimeout(() => setEditorRef(editorRef.current), 0); + return () => clearTimeout(timer); }, [isContentEditable, setEditorRef]); // Get extensions and navigation logic from hook From 3e6f7ab9d0cd77199d5aa145d862e8873f500ffd Mon Sep 17 00:00:00 2001 From: Rahulcheryala Date: Mon, 15 Jun 2026 18:14:40 +0530 Subject: [PATCH 21/21] fix: import structure for hooks --- apps/web/core/components/editor/document/editor.tsx | 1 - apps/web/core/components/gantt-chart/chart/main-content.tsx | 3 +-- .../components/issues/issue-layouts/gantt/base-gantt-root.tsx | 3 +-- .../issues/issue-layouts/spreadsheet/spreadsheet-view.tsx | 3 +-- apps/web/core/components/pages/header/root.tsx | 3 +-- apps/web/core/components/pages/pages-list-view.tsx | 2 +- apps/web/core/components/workspace-notifications/root.tsx | 1 - 7 files changed, 5 insertions(+), 11 deletions(-) diff --git a/apps/web/core/components/editor/document/editor.tsx b/apps/web/core/components/editor/document/editor.tsx index 34bc9f3ee55..730719f78de 100644 --- a/apps/web/core/components/editor/document/editor.tsx +++ b/apps/web/core/components/editor/document/editor.tsx @@ -14,7 +14,6 @@ import { cn } from "@plane/utils"; import { useEditorConfig, useEditorMention } from "@/hooks/editor"; import { useMember } from "@/hooks/store/use-member"; import { useParseEditorContent } from "@/hooks/use-parse-editor-content"; -// plane web hooks import { useEditorFlagging } from "@/hooks/use-editor-flagging"; // local imports import { EditorMentionsRoot } from "../embeds/mentions"; diff --git a/apps/web/core/components/gantt-chart/chart/main-content.tsx b/apps/web/core/components/gantt-chart/chart/main-content.tsx index 528582c1bdb..16f1109dfaa 100644 --- a/apps/web/core/components/gantt-chart/chart/main-content.tsx +++ b/apps/web/core/components/gantt-chart/chart/main-content.tsx @@ -31,9 +31,8 @@ import { import { GanttChartRowList } from "@/plane-web/components/gantt-chart/blocks/block-row-list"; import { GanttChartBlocksList } from "@/plane-web/components/gantt-chart/blocks/blocks-list"; import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-operations"; -// plane web hooks import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; -// +// local imports import { DEFAULT_BLOCK_WIDTH, GANTT_SELECT_GROUP, HEADER_HEIGHT } from "../constants"; import { getItemPositionWidth } from "../views"; import { TimelineDragHelper } from "./timeline-drag-helper"; diff --git a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx index f4afbc60a77..6eff5cdffbf 100644 --- a/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx @@ -24,9 +24,8 @@ import { useUserPermissions } from "@/hooks/store/user"; import { useIssueStoreType } from "@/hooks/use-issue-layout-store"; import { useIssuesActions } from "@/hooks/use-issues-actions"; import { useTimeLineChart } from "@/hooks/use-timeline-chart"; -// plane web hooks import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; - +// local imports import { IssueLayoutHOC } from "../issue-layout-HOC"; import { GanttQuickAddIssueButton, QuickAddIssueRoot } from "../quick-add"; import { IssueGanttBlock } from "./blocks"; diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx index 5ac7d0f045f..4111fa3c6be 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-view.tsx @@ -15,10 +15,9 @@ import { EIssueLayoutTypes } from "@plane/types"; import { MultipleSelectGroup } from "@/components/core/multiple-select"; // hooks import { useProject } from "@/hooks/store/use-project"; +import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; // plane web components import { IssueBulkOperationsRoot } from "@/plane-web/components/issues/bulk-operations"; -// plane web hooks -import { useBulkOperationStatus } from "@/hooks/use-bulk-operation-status"; // local imports import type { TRenderQuickActions } from "../list/list-view-types"; import { QuickAddIssueRoot, SpreadsheetAddIssueButton } from "../quick-add"; diff --git a/apps/web/core/components/pages/header/root.tsx b/apps/web/core/components/pages/header/root.tsx index a9e89d64ac3..e86053289fb 100644 --- a/apps/web/core/components/pages/header/root.tsx +++ b/apps/web/core/components/pages/header/root.tsx @@ -16,9 +16,8 @@ import { calculateTotalFilters } from "@plane/utils"; import { FiltersDropdown } from "@/components/issues/issue-layouts/filters"; // hooks import { useMember } from "@/hooks/store/use-member"; -// plane web hooks -import type { EPageStoreType } from "@/hooks/store"; import { usePageStore } from "@/hooks/store"; +import type { EPageStoreType } from "@/hooks/store"; // local imports import { PageAppliedFiltersList } from "../list/applied-filters"; import { PageFiltersSelection } from "../list/filters"; diff --git a/apps/web/core/components/pages/pages-list-view.tsx b/apps/web/core/components/pages/pages-list-view.tsx index 6227b008e66..0a90546617e 100644 --- a/apps/web/core/components/pages/pages-list-view.tsx +++ b/apps/web/core/components/pages/pages-list-view.tsx @@ -7,7 +7,7 @@ import { observer } from "mobx-react"; import useSWR from "swr"; import type { TPageNavigationTabs } from "@plane/types"; -// plane web hooks +// hooks import type { EPageStoreType } from "@/hooks/store"; import { usePageStore } from "@/hooks/store"; // local imports diff --git a/apps/web/core/components/workspace-notifications/root.tsx b/apps/web/core/components/workspace-notifications/root.tsx index 0c8714189ec..6a9012021c2 100644 --- a/apps/web/core/components/workspace-notifications/root.tsx +++ b/apps/web/core/components/workspace-notifications/root.tsx @@ -18,7 +18,6 @@ import { useWorkspaceNotifications } from "@/hooks/store/notifications"; import { useWorkspace } from "@/hooks/store/use-workspace"; import { useUserPermissions } from "@/hooks/store/user"; import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; -// plane web imports import { useNotificationPreview } from "@/hooks/use-notification-preview"; // local imports import { InboxContentRoot } from "../inbox/content";