fix!: some custom components were not handled properly if they are RSCs (#6315)
**Breaking:** The following, exported components now need the `payload` object as a prop rather than the `config` object: - `RenderCustomComponent` (optional) - `Logo` - `DefaultTemplate` - `DefaultNav`
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import type { Permissions } from 'payload/auth'
|
||||
import type { SanitizedConfig, VisibleEntities } from 'payload/types'
|
||||
import type { Payload, SanitizedConfig, VisibleEntities } from 'payload/types'
|
||||
|
||||
import { Gutter } from '@payloadcms/ui/elements/Gutter'
|
||||
import { SetStepNav } from '@payloadcms/ui/elements/StepNav'
|
||||
import { WithServerSideProps } from '@payloadcms/ui/elements/WithServerSideProps'
|
||||
import { SetViewActions } from '@payloadcms/ui/providers/Actions'
|
||||
import React from 'react'
|
||||
|
||||
@@ -14,6 +15,7 @@ const baseClass = 'dashboard'
|
||||
export type DashboardProps = {
|
||||
Link: React.ComponentType<any>
|
||||
config: SanitizedConfig
|
||||
payload: Payload
|
||||
permissions: Permissions
|
||||
visibleEntities: VisibleEntities
|
||||
}
|
||||
@@ -26,24 +28,36 @@ export const DefaultDashboard: React.FC<DashboardProps> = (props) => {
|
||||
components: { afterDashboard, beforeDashboard },
|
||||
},
|
||||
},
|
||||
payload,
|
||||
permissions,
|
||||
visibleEntities,
|
||||
} = props
|
||||
|
||||
const BeforeDashboards = Array.isArray(beforeDashboard)
|
||||
? beforeDashboard.map((Component, i) => (
|
||||
<WithServerSideProps Component={Component} key={i} payload={payload} />
|
||||
))
|
||||
: null
|
||||
|
||||
const AfterDashboards = Array.isArray(afterDashboard)
|
||||
? afterDashboard.map((Component, i) => (
|
||||
<WithServerSideProps Component={Component} key={i} payload={payload} />
|
||||
))
|
||||
: null
|
||||
|
||||
return (
|
||||
<div className={baseClass}>
|
||||
<SetStepNav nav={[]} />
|
||||
<SetViewActions actions={[]} />
|
||||
<Gutter className={`${baseClass}__wrap`}>
|
||||
{Array.isArray(beforeDashboard) &&
|
||||
beforeDashboard.map((Component, i) => <Component key={i} />)}
|
||||
{Array.isArray(BeforeDashboards) && BeforeDashboards.map((Component) => Component)}
|
||||
|
||||
<DefaultDashboardClient
|
||||
Link={Link}
|
||||
permissions={permissions}
|
||||
visibleEntities={visibleEntities}
|
||||
/>
|
||||
{Array.isArray(afterDashboard) &&
|
||||
afterDashboard.map((Component, i) => <Component key={i} />)}
|
||||
{Array.isArray(AfterDashboards) && AfterDashboards.map((Component) => Component)}
|
||||
</Gutter>
|
||||
</div>
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user