import { notFound } from 'next/navigation'; import { Container, Badge, Heading } from '@/components/ui'; import { getTranslations, setRequestLocale } from 'next-intl/server'; import { Metadata } from 'next'; import { getPageBySlug, getAllPages } from '@/lib/pages'; import { mapSlugToFileSlug, mapFileSlugToTranslated } from '@/lib/slugs'; import PayloadRichText from '@/components/PayloadRichText'; import { SITE_URL } from '@/lib/schema'; import TrackedLink from '@/components/analytics/TrackedLink'; interface PageProps { params: Promise<{ locale: string; slug: string; }>; } export async function generateMetadata({ params }: PageProps): Promise { const { locale, slug } = await params; const pageData = await getPageBySlug(slug, locale); if (!pageData) return {}; const fileSlug = await mapSlugToFileSlug(slug, locale); const deSlug = await mapFileSlugToTranslated(fileSlug, 'de'); const enSlug = await mapFileSlugToTranslated(fileSlug, 'en'); return { title: pageData.frontmatter.title, description: pageData.frontmatter.excerpt || '', alternates: { canonical: `${SITE_URL}/${locale}/${slug}`, languages: { de: `${SITE_URL}/de/${deSlug}`, en: `${SITE_URL}/en/${enSlug}`, 'x-default': `${SITE_URL}/en/${enSlug}`, }, }, openGraph: { title: `${pageData.frontmatter.title} | KLZ Cables`, description: pageData.frontmatter.excerpt || '', url: `${SITE_URL}/${locale}/${slug}`, }, twitter: { card: 'summary_large_image', title: `${pageData.frontmatter.title} | KLZ Cables`, description: pageData.frontmatter.excerpt || '', }, }; } export default async function StandardPage({ params }: PageProps) { const { locale, slug } = await params; setRequestLocale(locale); const pageData = await getPageBySlug(slug, locale); const t = await getTranslations('StandardPage'); if (!pageData) { notFound(); } // Full-bleed pages render blocks edge-to-edge without the generic article wrapper if (pageData.frontmatter.layout === 'fullBleed') { return (
); } // Default article layout with hero, content, and support CTA return (
{/* Hero Section */}
{t('badge')} {pageData.frontmatter.title}
{/* Main Content Area */}
{/* Excerpt/Lead paragraph if available */} {pageData.frontmatter.excerpt && (

{pageData.frontmatter.excerpt}

)} {/* Main content with shared blog components */}
{/* Support Section */}

{t('needHelp')}

{t('supportTeamAvailable')}

{t('contactUs')}
); }