fix(next): uses correct global slug in getViewsFromConfig
This commit is contained in:
@@ -38,8 +38,6 @@ export const getViewsFromConfig = async ({
|
|||||||
let DefaultView: EditViewComponent = null
|
let DefaultView: EditViewComponent = null
|
||||||
let CustomView: EditViewComponent = null
|
let CustomView: EditViewComponent = null
|
||||||
|
|
||||||
const [entityType, entitySlug, createOrID, tabViewName, segmentFive] = routeSegments
|
|
||||||
|
|
||||||
const views =
|
const views =
|
||||||
(collectionConfig && collectionConfig?.admin?.components?.views) ||
|
(collectionConfig && collectionConfig?.admin?.components?.views) ||
|
||||||
(globalConfig && globalConfig?.admin?.components?.views)
|
(globalConfig && globalConfig?.admin?.components?.views)
|
||||||
@@ -51,6 +49,9 @@ export const getViewsFromConfig = async ({
|
|||||||
config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)
|
config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)
|
||||||
|
|
||||||
if (collectionConfig) {
|
if (collectionConfig) {
|
||||||
|
const [collectionEntity, collectionSlug, createOrID, nestedViewSlug, segmentFive] =
|
||||||
|
routeSegments
|
||||||
|
|
||||||
const {
|
const {
|
||||||
admin: { hidden },
|
admin: { hidden },
|
||||||
} = collectionConfig
|
} = collectionConfig
|
||||||
@@ -60,7 +61,7 @@ export const getViewsFromConfig = async ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// `../:id`, or `../create`
|
// `../:id`, or `../create`
|
||||||
if (!tabViewName) {
|
if (!nestedViewSlug) {
|
||||||
switch (createOrID) {
|
switch (createOrID) {
|
||||||
case 'create': {
|
case 'create': {
|
||||||
if ('create' in docPermissions && docPermissions?.create?.permission) {
|
if ('create' in docPermissions && docPermissions?.create?.permission) {
|
||||||
@@ -79,10 +80,10 @@ export const getViewsFromConfig = async ({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tabViewName) {
|
if (nestedViewSlug) {
|
||||||
// `../:id/versions/:version`, etc
|
// `../:id/versions/:version`, etc
|
||||||
if (segmentFive) {
|
if (segmentFive) {
|
||||||
if (tabViewName === 'versions') {
|
if (nestedViewSlug === 'versions') {
|
||||||
if (docPermissions?.readVersions?.permission) {
|
if (docPermissions?.readVersions?.permission) {
|
||||||
CustomView = getCustomViewByKey(views, 'Version')
|
CustomView = getCustomViewByKey(views, 'Version')
|
||||||
DefaultView = DefaultVersionView
|
DefaultView = DefaultVersionView
|
||||||
@@ -92,7 +93,7 @@ export const getViewsFromConfig = async ({
|
|||||||
|
|
||||||
// `../:id/api`, `../:id/preview`, `../:id/versions`, etc
|
// `../:id/api`, `../:id/preview`, `../:id/versions`, etc
|
||||||
if (routeSegments?.length === 4) {
|
if (routeSegments?.length === 4) {
|
||||||
switch (tabViewName) {
|
switch (nestedViewSlug) {
|
||||||
case 'api': {
|
case 'api': {
|
||||||
if (collectionConfig?.admin?.hideAPIURL !== true) {
|
if (collectionConfig?.admin?.hideAPIURL !== true) {
|
||||||
CustomView = getCustomViewByKey(views, 'API')
|
CustomView = getCustomViewByKey(views, 'API')
|
||||||
@@ -117,7 +118,7 @@ export const getViewsFromConfig = async ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
const path = `/${tabViewName}`
|
const path = `/${nestedViewSlug}`
|
||||||
CustomView = getCustomViewByPath(views, path)
|
CustomView = getCustomViewByPath(views, path)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -127,6 +128,8 @@ export const getViewsFromConfig = async ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (globalConfig) {
|
if (globalConfig) {
|
||||||
|
const [globalEntity, globalSlug, nestedViewSlug] = routeSegments
|
||||||
|
|
||||||
const {
|
const {
|
||||||
admin: { hidden },
|
admin: { hidden },
|
||||||
} = globalConfig
|
} = globalConfig
|
||||||
@@ -135,14 +138,14 @@ export const getViewsFromConfig = async ({
|
|||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!routeSegments?.length) {
|
if (routeSegments?.length === 2) {
|
||||||
if (docPermissions?.read?.permission) {
|
if (docPermissions?.read?.permission) {
|
||||||
CustomView = getCustomViewByKey(views, 'Default')
|
CustomView = getCustomViewByKey(views, 'Default')
|
||||||
DefaultView = DefaultEditView
|
DefaultView = DefaultEditView
|
||||||
}
|
}
|
||||||
} else if (routeSegments?.length === 1) {
|
} else if (routeSegments?.length === 3) {
|
||||||
// `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc
|
// `../:slug/api`, `../:slug/preview`, `../:slug/versions`, etc
|
||||||
switch (tabViewName) {
|
switch (nestedViewSlug) {
|
||||||
case 'api': {
|
case 'api': {
|
||||||
if (globalConfig?.admin?.hideAPIURL !== true) {
|
if (globalConfig?.admin?.hideAPIURL !== true) {
|
||||||
CustomView = getCustomViewByKey(views, 'API')
|
CustomView = getCustomViewByKey(views, 'API')
|
||||||
@@ -176,7 +179,7 @@ export const getViewsFromConfig = async ({
|
|||||||
}
|
}
|
||||||
} else if (routeSegments?.length === 2) {
|
} else if (routeSegments?.length === 2) {
|
||||||
// `../:slug/versions/:version`, etc
|
// `../:slug/versions/:version`, etc
|
||||||
if (tabViewName === 'versions') {
|
if (nestedViewSlug === 'versions') {
|
||||||
if (docPermissions?.readVersions?.permission) {
|
if (docPermissions?.readVersions?.permission) {
|
||||||
CustomView = getCustomViewByKey(views, 'Version')
|
CustomView = getCustomViewByKey(views, 'Version')
|
||||||
DefaultView = DefaultVersionView
|
DefaultView = DefaultVersionView
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export const Document: React.FC<AdminViewProps> = async ({
|
|||||||
const segments = Array.isArray(params?.segments) ? params.segments : []
|
const segments = Array.isArray(params?.segments) ? params.segments : []
|
||||||
const [entityType, entitySlug, createOrID] = segments
|
const [entityType, entitySlug, createOrID] = segments
|
||||||
const collectionSlug = entityType === 'collections' ? entitySlug : undefined
|
const collectionSlug = entityType === 'collections' ? entitySlug : undefined
|
||||||
const globalSlug = entitySlug === 'globals' ? entitySlug : undefined
|
const globalSlug = entityType === 'globals' ? entitySlug : undefined
|
||||||
const isCreating = createOrID === 'create'
|
const isCreating = createOrID === 'create'
|
||||||
const id = (collectionSlug && !isCreating && createOrID) || undefined
|
const id = (collectionSlug && !isCreating && createOrID) || undefined
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user