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/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/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/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/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/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,
- };
-};
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/components/editor/document/editor.tsx b/apps/web/core/components/editor/document/editor.tsx
index dd653e45ef0..730719f78de 100644
--- a/apps/web/core/components/editor/document/editor.tsx
+++ b/apps/web/core/components/editor/document/editor.tsx
@@ -14,8 +14,7 @@ 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 "@/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/gantt-chart/chart/main-content.tsx b/apps/web/core/components/gantt-chart/chart/main-content.tsx
index e7de61089d2..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 "@/plane-web/hooks/use-bulk-operation-status";
-//
+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/inbox/content/issue-root.tsx b/apps/web/core/components/inbox/content/issue-root.tsx
index 172693b9229..e4c40103965 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
@@ -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/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/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/components/issues/issue-detail/main-content.tsx b/apps/web/core/components/issues/issue-detail/main-content.tsx
index d14bd35396a..34140963ae0 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
@@ -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/issue-layouts/gantt/base-gantt-root.tsx b/apps/web/core/components/issues/issue-layouts/gantt/base-gantt-root.tsx
index 3404b438ca4..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 "@/plane-web/hooks/use-bulk-operation-status";
-
+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/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..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 "@/plane-web/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/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..96054b02fc5 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
@@ -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/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/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx
index aec992c4032..e11d25f8c44 100644
--- a/apps/web/core/components/pages/dropdowns/actions.tsx
+++ b/apps/web/core/components/pages/dropdowns/actions.tsx
@@ -23,8 +23,8 @@ 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 { usePageFlag } from "@/plane-web/hooks/use-page-flag";
+import type { EPageStoreType } from "@/hooks/store";
+import { usePageFlag } from "@/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..561d048e448 100644
--- a/apps/web/core/components/pages/editor/editor-body.tsx
+++ b/apps/web/core/components/pages/editor/editor-body.tsx
@@ -36,9 +36,9 @@ 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 { EPageStoreType } from "@/plane-web/hooks/store";
-import { useEditorFlagging } from "@/plane-web/hooks/use-editor-flagging";
+import type { TExtendedEditorExtensionsConfig } from "@/hooks/pages";
+import type { EPageStoreType } from "@/hooks/store";
+import { useEditorFlagging } from "@/hooks/use-editor-flagging";
// store
import type { TPageInstance } from "@/store/pages/base-page";
// local imports
diff --git a/apps/web/core/components/pages/editor/page-root.tsx b/apps/web/core/components/pages/editor/page-root.tsx
index 728b47fe9af..2ffb04148ae 100644
--- a/apps/web/core/components/pages/editor/page-root.tsx
+++ b/apps/web/core/components/pages/editor/page-root.tsx
@@ -14,8 +14,8 @@ 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 type { EPageStoreType } from "@/plane-web/hooks/store";
+import { usePagesPaneExtensions, useExtendedEditorProps } from "@/hooks/pages";
+import type { EPageStoreType } from "@/hooks/store";
// store
import type { TPageInstance } from "@/store/pages/base-page";
// local imports
@@ -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
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..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 "@/plane-web/hooks/store";
-import { usePageStore } from "@/plane-web/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/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..0a90546617e 100644
--- a/apps/web/core/components/pages/pages-list-view.tsx
+++ b/apps/web/core/components/pages/pages-list-view.tsx
@@ -7,9 +7,9 @@
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";
+// hooks
+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/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/core/components/workspace-notifications/root.tsx b/apps/web/core/components/workspace-notifications/root.tsx
index 8dd077c4dc8..6a9012021c2 100644
--- a/apps/web/core/components/workspace-notifications/root.tsx
+++ b/apps/web/core/components/workspace-notifications/root.tsx
@@ -18,8 +18,7 @@ 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 "@/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/core/hooks/editor/use-editor-config.ts b/apps/web/core/hooks/editor/use-editor-config.ts
index 98eb92c7538..ecc98769f10 100644
--- a/apps/web/core/hooks/editor/use-editor-config.ts
+++ b/apps/web/core/hooks/editor/use-editor-config.ts
@@ -11,8 +11,8 @@ 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 { useFileSize } from "@/plane-web/hooks/use-file-size";
+import { useExtendedEditorConfig } from "@/hooks/editor/use-extended-editor-config";
+import { useFileSize } from "@/hooks/use-file-size";
// services
import { FileService } from "@/services/file.service";
const fileService = new FileService();
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/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
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 94%
rename from apps/web/ce/hooks/pages/use-extended-editor-extensions.ts
rename to apps/web/core/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/core/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/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
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
diff --git a/apps/web/ce/hooks/store/index.ts b/apps/web/core/hooks/store/index.ts
similarity index 100%
rename from apps/web/ce/hooks/store/index.ts
rename to apps/web/core/hooks/store/index.ts
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/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/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/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
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
diff --git a/apps/web/ce/hooks/use-editor-flagging.ts b/apps/web/core/hooks/use-editor-flagging.ts
similarity index 94%
rename from apps/web/ce/hooks/use-editor-flagging.ts
rename to apps/web/core/hooks/use-editor-flagging.ts
index e1841ff666a..019c62bf545 100644
--- a/apps/web/ce/hooks/use-editor-flagging.ts
+++ b/apps/web/core/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/hooks/use-favorite-item-details.tsx b/apps/web/core/hooks/use-favorite-item-details.tsx
index ef2a296a084..18b3d568973 100644
--- a/apps/web/core/hooks/use-favorite-item-details.tsx
+++ b/apps/web/core/hooks/use-favorite-item-details.tsx
@@ -19,8 +19,8 @@ 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 { useAdditionalFavoriteItemDetails } from "@/plane-web/hooks/use-additional-favorite-item-details";
+import { EPageStoreType, usePage } from "@/hooks/store";
+import { useAdditionalFavoriteItemDetails } from "@/hooks/use-additional-favorite-item-details";
export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorite) => {
const {
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
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
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
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
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;
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";
diff --git a/apps/web/core/hooks/use-timeline-chart.ts b/apps/web/core/hooks/use-timeline-chart.ts
index ec8b4f1a0b9..ce9d1d88f07 100644
--- a/apps/web/core/hooks/use-timeline-chart.ts
+++ b/apps/web/core/hooks/use-timeline-chart.ts
@@ -6,14 +6,33 @@
import { useContext } from "react";
// types
-import type { TTimelineType } from "@plane/types";
+import { GANTT_TIMELINE_TYPE, type TTimelineTypeCore, type TTimelineType } 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");
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";
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 99%
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
index c4b6f3f0b20..78ac8242b7c 100644
--- 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
@@ -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;