@@ -19,7 +19,9 @@ import { IssuePeekOverview } from "@/components/issues";
1919import { PageRoot , TPageRootConfig , TPageRootHandlers } from "@/components/pages" ;
2020// hooks
2121import { useEditorConfig } from "@/hooks/editor" ;
22- import { useEditorAsset , useProjectPage , useProjectPages , useWorkspace } from "@/hooks/store" ;
22+ import { useEditorAsset , useWorkspace } from "@/hooks/store" ;
23+ // plane web hooks
24+ import { EPageStoreType , usePage , usePageStore } from "@/plane-web/hooks/store" ;
2325// plane web services
2426import { WorkspaceService } from "@/plane-web/services" ;
2527// services
@@ -31,13 +33,16 @@ const projectPageVersionService = new ProjectPageVersionService();
3133const PageDetailsPage = observer ( ( ) => {
3234 const { workspaceSlug, projectId, pageId } = useParams ( ) ;
3335 // store hooks
34- const { createPage, getPageById } = useProjectPages ( ) ;
35- const page = useProjectPage ( pageId ?. toString ( ) ?? "" ) ;
36+ const { createPage, fetchPageDetails } = usePageStore ( EPageStoreType . PROJECT ) ;
37+ const page = usePage ( {
38+ pageId : pageId ?. toString ( ) ?? "" ,
39+ storeType : EPageStoreType . PROJECT ,
40+ } ) ;
3641 const { getWorkspaceBySlug } = useWorkspace ( ) ;
3742 const { uploadEditorAsset } = useEditorAsset ( ) ;
3843 // derived values
3944 const workspaceId = workspaceSlug ? ( getWorkspaceBySlug ( workspaceSlug . toString ( ) ) ?. id ?? "" ) : "" ;
40- const { canCurrentUserAccessPage, id, name, updateDescription } = page ;
45+ const { canCurrentUserAccessPage, id, name, updateDescription } = page ?? { } ;
4146 // entity search handler
4247 const fetchEntityCallback = useCallback (
4348 async ( payload : TSearchEntityRequestPayload ) =>
@@ -53,7 +58,7 @@ const PageDetailsPage = observer(() => {
5358 const { error : pageDetailsError } = useSWR (
5459 workspaceSlug && projectId && pageId ? `PAGE_DETAILS_${ pageId } ` : null ,
5560 workspaceSlug && projectId && pageId
56- ? ( ) => getPageById ( workspaceSlug ?. toString ( ) , projectId ?. toString ( ) , pageId . toString ( ) )
61+ ? ( ) => fetchPageDetails ( workspaceSlug ?. toString ( ) , projectId ?. toString ( ) , pageId . toString ( ) )
5762 : null ,
5863 {
5964 revalidateIfStale : true ,
@@ -70,8 +75,8 @@ const PageDetailsPage = observer(() => {
7075 return await projectPageVersionService . fetchAllVersions ( workspaceSlug . toString ( ) , projectId . toString ( ) , pageId ) ;
7176 } ,
7277 fetchDescriptionBinary : async ( ) => {
73- if ( ! workspaceSlug || ! projectId || ! page . id ) return ;
74- return await projectPageService . fetchDescriptionBinary ( workspaceSlug . toString ( ) , projectId . toString ( ) , page . id ) ;
78+ if ( ! workspaceSlug || ! projectId || ! id ) return ;
79+ return await projectPageService . fetchDescriptionBinary ( workspaceSlug . toString ( ) , projectId . toString ( ) , id ) ;
7580 } ,
7681 fetchEntity : fetchEntityCallback ,
7782 fetchVersionDetails : async ( pageId , versionId ) => {
@@ -84,9 +89,9 @@ const PageDetailsPage = observer(() => {
8489 ) ;
8590 } ,
8691 getRedirectionLink : ( pageId ) => `/${ workspaceSlug } /projects/${ projectId } /pages/${ pageId } ` ,
87- updateDescription,
92+ updateDescription : updateDescription ?? ( async ( ) => { } ) ,
8893 } ) ,
89- [ createPage , fetchEntityCallback , page . id , projectId , updateDescription , workspaceSlug ]
94+ [ createPage , fetchEntityCallback , id , projectId , updateDescription , workspaceSlug ]
9095 ) ;
9196 // page root config
9297 const pageRootConfig : TPageRootConfig = useMemo (
@@ -145,6 +150,8 @@ const PageDetailsPage = observer(() => {
145150 </ div >
146151 ) ;
147152
153+ if ( ! page ) return null ;
154+
148155 return (
149156 < >
150157 < PageHead title = { name } />
@@ -154,6 +161,7 @@ const PageDetailsPage = observer(() => {
154161 config = { pageRootConfig }
155162 handlers = { pageRootHandlers }
156163 page = { page }
164+ storeType = { EPageStoreType . PROJECT }
157165 webhookConnectionParams = { webhookConnectionParams }
158166 workspaceSlug = { workspaceSlug ?. toString ( ) ?? "" }
159167 />
0 commit comments