import Link from "next/link"; import { PageHeader } from "@/components/page-header"; import { notFound } from "next/navigation"; import { getBookMeta, getSingleVerse, getChapterVerseIndex } from "@/lib/api"; import { ChapterViewer } from "@/app/books/chapter-viewer"; import type { MobileNavGroup } from "@/components/mobile-nav"; type ChapterInfo = { number: number; title: string; totalVerses: number; }; type LilaInfo = { key: string; name: string; totalChapters: number; totalVerses: number; chapters: ChapterInfo[]; }; export default async function CcVersePage({ params, }: { params: Promise<{ lila: string; chapter: string; verse: string }>; }) { const { lila, chapter, verse } = await params; const meta = await getBookMeta("cc"); if (!meta) notFound(); const lilas = meta.lilas as LilaInfo[] | undefined; const lilaInfo = lilas?.find((l) => l.key === lila); if (!lilaInfo) notFound(); const chapterInfo = lilaInfo.chapters.find( (ch) => ch.number === parseInt(chapter), ); if (!chapterInfo) notFound(); const verseIndex = await getChapterVerseIndex("cc", lila, parseInt(chapter)); if (verseIndex.length === 0) notFound(); const requestedVerse = parseInt(verse); const verseData = await getSingleVerse( "cc", lila, parseInt(chapter), requestedVerse, ); if (!verseData) notFound(); // Build mobile nav groups from verse index const mobileNavGroups: MobileNavGroup[] = []; if (verseIndex.length > 0) { mobileNavGroups.push({ title: "Verses", items: verseIndex.map((v) => ({ slug: String(v.verse), label: v.verseEnd ? `Verse ${chapter}.${v.verse}–${v.verseEnd}` : `Verse ${chapter}.${v.verse}`, href: `/books/cc/${lila}/${chapter}/${v.verse}`, type: "verse", })), }); } return (