diff --git a/packages/core/src/components/cms/GlobalSections.tsx b/packages/core/src/components/cms/GlobalSections.tsx index 050bde140f..f98c6fe0ee 100644 --- a/packages/core/src/components/cms/GlobalSections.tsx +++ b/packages/core/src/components/cms/GlobalSections.tsx @@ -56,7 +56,7 @@ export const getGlobalSectionsData = async ( const page = cmsData[GLOBAL_SECTIONS_CONTENT_TYPE][0] if (page) { - const pageData = await getPage({ + const pageData = getPage({ contentType: GLOBAL_SECTIONS_CONTENT_TYPE, documentId: page.documentId, versionId: page.versionId, @@ -66,11 +66,11 @@ export const getGlobalSectionsData = async ( } } - const { sections } = await getPage({ + const pageData = getPage({ ...(previewData?.contentType === GLOBAL_SECTIONS_CONTENT_TYPE && previewData), contentType: GLOBAL_SECTIONS_CONTENT_TYPE, }) - return { sections } + return pageData } diff --git a/packages/core/src/pages/index.tsx b/packages/core/src/pages/index.tsx index 08e3f28831..d732ee73e2 100644 --- a/packages/core/src/pages/index.tsx +++ b/packages/core/src/pages/index.tsx @@ -100,31 +100,43 @@ export const getStaticProps: GetStaticProps< Record, Locator > = async ({ previewData }) => { - const serverData = await getDynamicContent({ pageType: 'home' }) - const globalSections = await getGlobalSectionsData(previewData) + const globalSectionsPromise = getGlobalSectionsData(previewData) + const serverDataPromise = getDynamicContent({ pageType: 'home' }) if (storeConfig.cms.data) { const cmsData = JSON.parse(storeConfig.cms.data) const page = cmsData['home'][0] if (page) { - const pageData = await getPage({ + const pageDataPromise = getPage({ contentType: 'home', documentId: page.documentId, versionId: page.versionId, }) + const [pageData, globalSections, serverData] = await Promise.all([ + pageDataPromise, + globalSectionsPromise, + serverDataPromise, + ]) + return { props: { page: pageData, globalSections, serverData }, } } } - const page = await getPage({ + const pagePromise = getPage({ ...(previewData?.contentType === 'home' && previewData), contentType: 'home', }) + const [page, globalSections, serverData] = await Promise.all([ + pagePromise, + globalSectionsPromise, + serverDataPromise, + ]) + return { props: { page, globalSections, serverData }, }