diff --git a/packages/next/src/views/Document/getMetaBySegment.tsx b/packages/next/src/views/Document/getMetaBySegment.tsx index 7db6ff63e0..d17207d39b 100644 --- a/packages/next/src/views/Document/getMetaBySegment.tsx +++ b/packages/next/src/views/Document/getMetaBySegment.tsx @@ -3,6 +3,7 @@ import type { EditConfig, SanitizedCollectionConfig, SanitizedGlobalConfig } fro import type { GenerateViewMetadata } from '../Root/index.js' +import { isLivePreviewEnabled } from '../../elements/DocumentHeader/Tabs/tabs/isLivePreviewEnabled.js' import { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js' import { generateAPIViewMetadata } from '../API/metadata.js' import { generateEditViewMetadata } from '../Edit/metadata.js' @@ -37,10 +38,16 @@ export const getMetaBySegment: GenerateEditViewMetadata = async ({ const isEditing = isGlobal || Boolean(isCollection && segments?.length > 2 && segments[2] !== 'create') + const isLivePreview = isLivePreviewEnabled({ + collectionConfig, + config, + globalConfig, + }) + if (isCollection) { // `/:collection/:id` if (params.segments.length === 3) { - fn = generateEditViewMetadata + fn = isLivePreview ? generateLivePreviewViewMetadata : generateEditViewMetadata } // `/:collection/:id/:view` @@ -50,6 +57,10 @@ export const getMetaBySegment: GenerateEditViewMetadata = async ({ // `/:collection/:id/api` fn = generateAPIViewMetadata break + case 'edit': + // `/:collection/:id/edit` + fn = generateEditViewMetadata + break case 'preview': // `/:collection/:id/preview` fn = generateLivePreviewViewMetadata @@ -79,7 +90,7 @@ export const getMetaBySegment: GenerateEditViewMetadata = async ({ if (isGlobal) { // `/:global` if (params.segments?.length === 2) { - fn = generateEditViewMetadata + fn = isLivePreview ? generateLivePreviewViewMetadata : generateEditViewMetadata } // `/:global/:view` @@ -89,6 +100,10 @@ export const getMetaBySegment: GenerateEditViewMetadata = async ({ // `/:global/api` fn = generateAPIViewMetadata break + case 'edit': + // `/:collection/:id/edit` + fn = generateEditViewMetadata + break case 'preview': // `/:global/preview` fn = generateLivePreviewViewMetadata