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 BgMeta = { book: string; title: string; author: string; totalChapters: number; chapters: { number: number; title: string; totalVerses: number }[]; }; export default async function VersePage({ params, }: { params: Promise<{ chapter: string; verse: string }>; }) { const { chapter, verse: verseParam } = await params; const meta = await getBookMeta("bg"); if (!meta) notFound(); const bgMeta = meta as unknown as BgMeta; const chapterInfo = bgMeta.chapters?.find( (c) => c.number === parseInt(chapter), ); if (!chapterInfo?.title) notFound(); const title: string = chapterInfo.title; const verseIndex = await getChapterVerseIndex("bg", null, parseInt(chapter)); if (verseIndex.length === 0) notFound(); const requestedVerse = parseInt(verseParam); const verse = await getSingleVerse( "bg", null, parseInt(chapter), requestedVerse, ); if (!verse) notFound(); // Build mobile nav groups — single flat list of chapters const mobileNavGroups: MobileNavGroup[] = [ { title: "Chapters", items: bgMeta.chapters.map((ch) => ({ slug: `${ch.number}`, label: `${ch.number}. ${ch.title}`, href: `/books/bg/${ch.number}/1`, type: "chapter", })), }, ]; return (