feat: manage generic page fallback copy via payload

This commit is contained in:
syntaxbullet
2026-06-22 13:00:02 +02:00
parent b4b4820e46
commit 9cf23552cc
9 changed files with 101 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ import { notFound } from 'next/navigation'
import NextApp from '@/spa/NextApp'
import { normalizeFooterData, normalizeHeaderData } from '@/spa/cmsNavigation'
import type { CmsRouteDoc } from '@/spa/cmsRoute'
import { normalizeSiteSettings, type SpaSiteSettingsData } from '@/spa/siteSettings'
export const dynamic = 'force-dynamic'
@@ -73,9 +74,10 @@ export default async function Page({ params }: Args) {
const pathname = `/${slug.join('/')}`.replace(/\/$/, '') || '/'
const payload = await getPayload({ config: configPromise })
const { isEnabled: draft } = await draftMode()
const [header, footer, route, preistraeger, events, posts] = await Promise.all([
const [header, footer, siteSettings, route, preistraeger, events, posts] = await Promise.all([
payload.findGlobal({ slug: 'header', depth: 1 }).catch(() => undefined),
payload.findGlobal({ slug: 'footer', depth: 1 }).catch(() => undefined),
payload.findGlobal({ slug: 'site-settings', depth: 0 }).catch(() => undefined),
findRouteDoc(payload, pathname, draft),
findList(payload, 'preistraeger', draft).catch(() => []),
findList(payload, 'events', draft).catch(() => []),
@@ -89,6 +91,7 @@ export default async function Page({ params }: Args) {
pathname={pathname}
header={normalizeHeaderData(header)}
footer={normalizeFooterData(footer)}
siteSettings={normalizeSiteSettings(siteSettings as Partial<SpaSiteSettingsData> | undefined)}
cmsRoute={{
collection: route.collection,
doc: route.doc as unknown as CmsRouteDoc,