{/* tab header */}
{isAnyPageAvailable && (
-
+
)}
-
{children}
+
+ {children}
+
);
});
diff --git a/web/core/hooks/store/index.ts b/web/core/hooks/store/index.ts
index fa9ff44cc9b..7f2d3b89d88 100644
--- a/web/core/hooks/store/index.ts
+++ b/web/core/hooks/store/index.ts
@@ -1,6 +1,5 @@
export * from "./estimates";
export * from "./notifications";
-export * from "./pages";
export * from "./use-app-theme";
export * from "./use-calendar-view";
export * from "./use-command-palette";
diff --git a/web/core/hooks/store/pages/index.ts b/web/core/hooks/store/pages/index.ts
deleted file mode 100644
index 06f4ab447d9..00000000000
--- a/web/core/hooks/store/pages/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from "./use-page";
-export * from "./use-project-page";
diff --git a/web/core/hooks/store/pages/use-page.ts b/web/core/hooks/store/pages/use-page.ts
deleted file mode 100644
index 59f974a3ce0..00000000000
--- a/web/core/hooks/store/pages/use-page.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { useContext } from "react";
-// mobx store
-import { StoreContext } from "@/lib/store-context";
-import { TUsePage } from "@/store/pages/base-page";
-// store
-import { TProjectPage } from "@/store/pages/project-page";
-
-export const useProjectPage: TUsePage = (pageId: string | undefined): TProjectPage => {
- const context = useContext(StoreContext);
- if (context === undefined) throw new Error("usePage must be used within StoreProvider");
-
- if (!pageId) return {} as TProjectPage;
-
- return context.projectPages.data?.[pageId] ?? {};
-};
diff --git a/web/core/hooks/store/pages/use-project-page.ts b/web/core/hooks/store/pages/use-project-page.ts
deleted file mode 100644
index c6fb088d144..00000000000
--- a/web/core/hooks/store/pages/use-project-page.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { useContext } from "react";
-// context
-import { StoreContext } from "@/lib/store-context";
-// mobx store
-import { IProjectPageStore } from "@/store/pages/project-page.store";
-
-export const useProjectPages = (): IProjectPageStore => {
- const context = useContext(StoreContext);
- if (context === undefined) throw new Error("useProjectPage must be used within StoreProvider");
- return context.projectPages;
-};
diff --git a/web/core/hooks/use-favorite-item-details.tsx b/web/core/hooks/use-favorite-item-details.tsx
index e23228ea76d..114438b0431 100644
--- a/web/core/hooks/use-favorite-item-details.tsx
+++ b/web/core/hooks/use-favorite-item-details.tsx
@@ -8,7 +8,9 @@ import {
// helpers
import { getPageName } from "@/helpers/page.helper";
// hooks
-import { useProject, useProjectPage, useProjectView, useCycle, useModule } from "@/hooks/store";
+import { useProject, useProjectView, useCycle, useModule } from "@/hooks/store";
+// plane web hooks
+import { EPageStoreType, usePage } from "@/plane-web/hooks/store";
export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorite) => {
const favoriteItemId = favorite?.entity_data?.id;
@@ -23,7 +25,10 @@ export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorit
const { getModuleById } = useModule();
// derived values
- const pageDetail = useProjectPage(favoriteItemId ?? "");
+ const pageDetail = usePage({
+ pageId: favoriteItemId ?? "",
+ storeType: EPageStoreType.PROJECT,
+ });
const viewDetails = getViewById(favoriteItemId ?? "");
const cycleDetail = getCycleById(favoriteItemId ?? "");
const moduleDetail = getModuleById(favoriteItemId ?? "");
@@ -40,7 +45,7 @@ export const useFavoriteItemDetails = (workspaceSlug: string, favorite: IFavorit
itemIcon = getFavoriteItemIcon("project", currentProjectDetails?.logo_props || favoriteItemLogoProps);
break;
case "page":
- itemTitle = getPageName(pageDetail.name || favoriteItemName);
+ itemTitle = getPageName(pageDetail?.name || favoriteItemName);
itemIcon = getFavoriteItemIcon("page", pageDetail?.logo_props || favoriteItemLogoProps);
break;
case "view":
diff --git a/web/core/store/pages/base-page.ts b/web/core/store/pages/base-page.ts
index e645d0f343b..8b828a5591c 100644
--- a/web/core/store/pages/base-page.ts
+++ b/web/core/store/pages/base-page.ts
@@ -64,8 +64,6 @@ export type TPageInstance = TBasePage &
getRedirectionLink: () => string;
};
-export type TUsePage = (pageId: string | undefined) => TPageInstance;
-
export class BasePage implements TBasePage {
// loaders
isSubmitting: TNameDescriptionLoader = "saved";
diff --git a/web/core/store/pages/project-page.store.ts b/web/core/store/pages/project-page.store.ts
index ea4d96a102a..d5773b12629 100644
--- a/web/core/store/pages/project-page.store.ts
+++ b/web/core/store/pages/project-page.store.ts
@@ -39,16 +39,16 @@ export interface IProjectPageStore {
// helper actions
getCurrentProjectPageIds: (pageType: TPageNavigationTabs) => string[] | undefined;
getCurrentProjectFilteredPageIds: (pageType: TPageNavigationTabs) => string[] | undefined;
- pageById: (pageId: string) => TProjectPage | undefined;
+ getPageById: (pageId: string) => TProjectPage | undefined;
updateFilters: