Skip to content

Commit ef7191b

Browse files
authored
fix(next): live preview tab did not display custom edit view components (#10412)
This PR passes them through the same way it's done in the default edit view tab
1 parent c7f21fc commit ef7191b

File tree

2 files changed

+40
-7
lines changed

2 files changed

+40
-7
lines changed

packages/next/src/views/LivePreview/index.client.tsx

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import type {
77
ClientGlobalConfig,
88
ClientUser,
99
Data,
10+
DocumentSlots,
1011
FormState,
1112
LivePreviewConfig,
1213
} from 'payload'
@@ -58,13 +59,18 @@ type Props = {
5859
readonly globalConfig?: ClientGlobalConfig
5960
readonly schemaPath: string
6061
readonly serverURL: string
61-
}
62+
} & DocumentSlots
6263

6364
const PreviewView: React.FC<Props> = ({
6465
collectionConfig,
6566
config,
67+
Description,
6668
fields,
6769
globalConfig,
70+
PreviewButton,
71+
PublishButton,
72+
SaveButton,
73+
SaveDraftButton,
6874
schemaPath,
6975
}) => {
7076
const {
@@ -474,6 +480,12 @@ const PreviewView: React.FC<Props> = ({
474480
/>
475481
<DocumentControls
476482
apiURL={apiURL}
483+
customComponents={{
484+
PreviewButton,
485+
PublishButton,
486+
SaveButton,
487+
SaveDraftButton,
488+
}}
477489
data={initialData}
478490
disableActions={disableActions}
479491
hasPublishPermission={hasPublishPermission}
@@ -515,6 +527,7 @@ const PreviewView: React.FC<Props> = ({
515527
<DocumentFields
516528
AfterFields={AfterFields}
517529
BeforeFields={BeforeFields}
530+
Description={Description}
518531
docPermissions={docPermissions}
519532
fields={fields}
520533
forceSidebarWrap
@@ -530,11 +543,13 @@ const PreviewView: React.FC<Props> = ({
530543
)
531544
}
532545

533-
export const LivePreviewClient: React.FC<{
534-
readonly breakpoints: LivePreviewConfig['breakpoints']
535-
readonly initialData: Data
536-
readonly url: string
537-
}> = (props) => {
546+
export const LivePreviewClient: React.FC<
547+
{
548+
readonly breakpoints: LivePreviewConfig['breakpoints']
549+
readonly initialData: Data
550+
readonly url: string
551+
} & DocumentSlots
552+
> = (props) => {
538553
const { breakpoints, url } = props
539554
const { collectionSlug, globalSlug } = useDocumentInfo()
540555

@@ -572,10 +587,16 @@ export const LivePreviewClient: React.FC<{
572587
apiRoute={apiRoute}
573588
collectionConfig={collectionConfig}
574589
config={config}
590+
Description={props.Description}
575591
fields={(collectionConfig || globalConfig)?.fields}
576592
globalConfig={globalConfig}
593+
PreviewButton={props.PreviewButton}
594+
PublishButton={props.PublishButton}
595+
SaveButton={props.SaveButton}
596+
SaveDraftButton={props.SaveDraftButton}
577597
schemaPath={schemaPath}
578598
serverURL={serverURL}
599+
Upload={props.Upload}
579600
/>
580601
</LivePreviewProvider>
581602
</Fragment>

packages/next/src/views/LivePreview/index.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,17 @@ export const LivePreviewView: PayloadServerReactComponent<EditViewComponent> = a
5252
})
5353
: livePreviewConfig?.url
5454

55-
return <LivePreviewClient breakpoints={breakpoints} initialData={doc} url={url} />
55+
return (
56+
<LivePreviewClient
57+
breakpoints={breakpoints}
58+
Description={props.Description}
59+
initialData={doc}
60+
PreviewButton={props.PreviewButton}
61+
PublishButton={props.PublishButton}
62+
SaveButton={props.SaveButton}
63+
SaveDraftButton={props.SaveDraftButton}
64+
Upload={props.Upload}
65+
url={url}
66+
/>
67+
)
5668
}

0 commit comments

Comments
 (0)