import type { JSX } from "react" import { Suspense } from "react" import { BookOpen } from "lucide-react" import { TextbookCard } from "@/modules/textbooks/components/textbook-card" import { TextbookFormDialog } from "@/modules/textbooks/components/textbook-form-dialog" import { getTextbooks } from "@/modules/textbooks/data-access" import { TextbookFilters } from "@/modules/textbooks/components/textbook-filters" import { EmptyState } from "@/shared/components/ui/empty-state" import { getParam, type SearchParams } from "@/shared/lib/search-params" export const dynamic = "force-dynamic" async function TextbooksResults({ searchParams }: { searchParams: Promise }): Promise { const params = await searchParams const q = getParam(params, "q") || undefined const subject = getParam(params, "subject") const grade = getParam(params, "grade") const textbooks = await getTextbooks(q, subject || undefined, grade || undefined) const hasFilters = Boolean(q || (subject && subject !== "all") || (grade && grade !== "all")) if (textbooks.length === 0) { return ( ) } return (
{textbooks.map((textbook) => ( ))}
) } export default async function TextbooksPage({ searchParams }: { searchParams: Promise }): Promise { return (
{/* Page Header */}

Textbooks

Manage your digital curriculum resources and chapters.

}> }>
) }