import { notFound } from "next/navigation" import { allDocs } from "contentlayer/generated" import "@/styles/mdx.css" import Link from "next/link" import { getTableOfContents } from "@/lib/toc" import { Icons } from "@/components/icons" import { Mdx } from "@/components/mdx" import { DocsPageHeader } from "@/components/page-header" import { DocsPager } from "@/components/pager" import { DashboardTableOfContents } from "@/components/toc" import { Separator } from "@/components/ui/separator" interface DocPageProps { params: { slug: string[] } } export async function generateStaticParams(): Promise< DocPageProps["params"][] > { return allDocs.map((doc) => ({ slug: doc.slugAsParams.split("/"), })) } export default async function DocPage({ params }: DocPageProps) { const slug = params?.slug?.join("/") || "" const doc = allDocs.find((doc) => doc.slugAsParams === slug) if (!doc) { notFound() } const toc = await getTableOfContents(doc.body.raw) return (
{doc.radix ? (
{doc.radix?.link && ( Radix UI )} {doc.radix?.api && ( API Reference )}
) : null}
) }