import { cache } from 'react'; import { notFound } from 'next/navigation'; import { ContentRenderer, createCmsClient } from '@kit/cms'; import { If } from '@kit/ui/if'; import { withI18n } from '~/lib/i18n/with-i18n'; import { SitePageHeader } from '../../_components/site-page-header'; import styles from '../../blog/_components/html-renderer.module.css'; import { DocsCards } from '../_components/docs-cards'; const getPageBySlug = cache(async (slug: string) => { const client = await createCmsClient(); return client.getContentItemById(slug); }); interface PageParams { params: { slug: string[]; }; } export const generateMetadata = async ({ params }: PageParams) => { const page = await getPageBySlug(params.slug.join('/')); if (!page) { notFound(); } const { title, description } = page; return { title, description, }; }; async function DocumentationPage({ params }: PageParams) { const page = await getPageBySlug(params.slug.join('/')); if (!page) { notFound(); } const description = page?.description ?? ''; return (