- ) : undefined
+ avatar !== 'gravatar' && avatar !== 'default'
+ ? RenderServerComponent({
+ Component: avatar.Component,
+ importMap: payload.importMap,
+ })
+ : undefined
}
CustomIcon={
- components?.graphics?.Icon ? (
-
- ) : undefined
+ components?.graphics?.Icon
+ ? RenderServerComponent({
+ Component: components.graphics.Icon,
+ importMap: payload.importMap,
+ })
+ : undefined
}
/>
{children}
diff --git a/packages/next/src/views/Account/index.tsx b/packages/next/src/views/Account/index.tsx
index b1d6e49d1..a57d9638d 100644
--- a/packages/next/src/views/Account/index.tsx
+++ b/packages/next/src/views/Account/index.tsx
@@ -137,11 +137,11 @@ export const Account: React.FC
= async ({
permissions={permissions}
/>
- = async ({
routeSegments: [],
searchParams,
user,
- }}
- />
+ },
+ })}
diff --git a/packages/next/src/views/Dashboard/Default/index.tsx b/packages/next/src/views/Dashboard/Default/index.tsx
index 34d0022b2..957763241 100644
--- a/packages/next/src/views/Dashboard/Default/index.tsx
+++ b/packages/next/src/views/Dashboard/Default/index.tsx
@@ -49,11 +49,11 @@ export const DefaultDashboard: React.FC = (props) => {
return (
- {beforeDashboard && (
- = (props) => {
permissions,
searchParams,
user,
- }}
- />
- )}
+ },
+ })}
+
{!navGroups || navGroups?.length === 0 ? (
no nav groups....
@@ -168,11 +168,11 @@ export const DefaultDashboard: React.FC = (props) => {
})
)}
- {afterDashboard && (
- = (props) => {
permissions,
searchParams,
user,
- }}
- />
- )}
+ },
+ })}
)
diff --git a/packages/next/src/views/Dashboard/index.tsx b/packages/next/src/views/Dashboard/index.tsx
index 497cff216..3c845ff23 100644
--- a/packages/next/src/views/Dashboard/index.tsx
+++ b/packages/next/src/views/Dashboard/index.tsx
@@ -108,15 +108,15 @@ export const Dashboard: React.FC = async ({
- = async ({
searchParams,
user,
visibleEntities,
- }}
- />
+ },
+ })}
)
}
diff --git a/packages/next/src/views/Document/index.tsx b/packages/next/src/views/Document/index.tsx
index 967baf8c4..a88ba63cf 100644
--- a/packages/next/src/views/Document/index.tsx
+++ b/packages/next/src/views/Document/index.tsx
@@ -345,27 +345,23 @@ export const renderDocument = async ({
)}
- {ErrorView ? (
-
- ) : (
-
- )}
+ : DefaultView?.ComponentConfig || DefaultView?.Component,
+ importMap,
+ serverProps,
+ })}
),
diff --git a/packages/next/src/views/Document/renderDocumentSlots.tsx b/packages/next/src/views/Document/renderDocumentSlots.tsx
index bce86f376..459cba81a 100644
--- a/packages/next/src/views/Document/renderDocumentSlots.tsx
+++ b/packages/next/src/views/Document/renderDocumentSlots.tsx
@@ -34,9 +34,10 @@ export const renderDocumentSlots: (args: {
globalConfig?.admin?.components?.elements?.PreviewButton
if (isPreviewEnabled && CustomPreviewButton) {
- components.PreviewButton = (
-
- )
+ components.PreviewButton = RenderServerComponent({
+ Component: CustomPreviewButton,
+ importMap: req.payload.importMap,
+ })
}
const descriptionFromConfig =
@@ -54,14 +55,12 @@ export const renderDocumentSlots: (args: {
const hasDescription = CustomDescription || staticDescription
if (hasDescription) {
- components.Description = (
-
- )
+ components.Description = RenderServerComponent({
+ clientProps: { description: staticDescription },
+ Component: CustomDescription,
+ Fallback: ViewDescription,
+ importMap: req.payload.importMap,
+ })
}
if (hasSavePermission) {
@@ -71,12 +70,10 @@ export const renderDocumentSlots: (args: {
globalConfig?.admin?.components?.elements?.PublishButton
if (CustomPublishButton) {
- components.PublishButton = (
-
- )
+ components.PublishButton = RenderServerComponent({
+ Component: CustomPublishButton,
+ importMap: req.payload.importMap,
+ })
}
const CustomSaveDraftButton =
collectionConfig?.admin?.components?.edit?.SaveDraftButton ||
@@ -87,12 +84,10 @@ export const renderDocumentSlots: (args: {
(globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)
if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {
- components.SaveDraftButton = (
-
- )
+ components.SaveDraftButton = RenderServerComponent({
+ Component: CustomSaveDraftButton,
+ importMap: req.payload.importMap,
+ })
}
} else {
const CustomSaveButton =
@@ -100,9 +95,10 @@ export const renderDocumentSlots: (args: {
globalConfig?.admin?.components?.elements?.SaveButton
if (CustomSaveButton) {
- components.SaveButton = (
-
- )
+ components.SaveButton = RenderServerComponent({
+ Component: CustomSaveButton,
+ importMap: req.payload.importMap,
+ })
}
}
}
diff --git a/packages/next/src/views/List/index.tsx b/packages/next/src/views/List/index.tsx
index f0ea89990..305721403 100644
--- a/packages/next/src/views/List/index.tsx
+++ b/packages/next/src/views/List/index.tsx
@@ -243,18 +243,18 @@ export const renderListView = async (
modifySearchParams={!isInDrawer}
preferenceKey={preferenceKey}
>
-
+ },
+ })}
),
diff --git a/packages/next/src/views/List/renderListViewSlots.tsx b/packages/next/src/views/List/renderListViewSlots.tsx
index f864b92f5..8f6ec0363 100644
--- a/packages/next/src/views/List/renderListViewSlots.tsx
+++ b/packages/next/src/views/List/renderListViewSlots.tsx
@@ -24,61 +24,51 @@ export const renderListViewSlots = ({
const result: ListViewSlots = {} as ListViewSlots
if (collectionConfig.admin.components?.afterList) {
- result.AfterList = (
-
- )
+ result.AfterList = RenderServerComponent({
+ clientProps,
+ Component: collectionConfig.admin.components.afterList,
+ importMap: payload.importMap,
+ serverProps,
+ })
}
if (collectionConfig.admin.components?.afterListTable) {
- result.AfterListTable = (
-
- )
+ result.AfterListTable = RenderServerComponent({
+ clientProps,
+ Component: collectionConfig.admin.components.afterListTable,
+ importMap: payload.importMap,
+ serverProps,
+ })
}
if (collectionConfig.admin.components?.beforeList) {
- result.BeforeList = (
-
- )
+ result.BeforeList = RenderServerComponent({
+ clientProps,
+ Component: collectionConfig.admin.components.beforeList,
+ importMap: payload.importMap,
+ serverProps,
+ })
}
if (collectionConfig.admin.components?.beforeListTable) {
- result.BeforeListTable = (
-
- )
+ result.BeforeListTable = RenderServerComponent({
+ clientProps,
+ Component: collectionConfig.admin.components.beforeListTable,
+ importMap: payload.importMap,
+ serverProps,
+ })
}
if (collectionConfig.admin.components?.Description) {
- result.Description = (
-
- )
+ result.Description = RenderServerComponent({
+ clientProps: {
+ description,
+ ...clientProps,
+ },
+ Component: collectionConfig.admin.components.Description,
+ importMap: payload.importMap,
+ serverProps,
+ })
}
return result
diff --git a/packages/next/src/views/Login/index.tsx b/packages/next/src/views/Login/index.tsx
index 2c9fdbac9..d9b225cdb 100644
--- a/packages/next/src/views/Login/index.tsx
+++ b/packages/next/src/views/Login/index.tsx
@@ -65,10 +65,10 @@ export const LoginView: React.FC = ({ initPageResult, params, se
user={user}
/>
-