import Link from "next/link"; import { Book, MoreVertical, Edit, Trash2, BookOpen, GraduationCap, Building2 } from "lucide-react"; import { Card, CardContent, CardFooter, CardHeader, } from "@/shared/components/ui/card"; import { Badge } from "@/shared/components/ui/badge"; import { Button } from "@/shared/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/shared/components/ui/dropdown-menu"; import { cn, formatDate } from "@/shared/lib/utils"; import { Textbook } from "../types"; interface TextbookCardProps { textbook: Textbook; hrefBase?: string; hideActions?: boolean; } const subjectColorMap: Record = { Mathematics: "bg-blue-50 text-blue-700 border-blue-200/70 dark:bg-blue-950/50 dark:text-blue-200 dark:border-blue-900/60", Physics: "bg-purple-50 text-purple-700 border-purple-200/70 dark:bg-purple-950/50 dark:text-purple-200 dark:border-purple-900/60", Chemistry: "bg-teal-50 text-teal-700 border-teal-200/70 dark:bg-teal-950/50 dark:text-teal-200 dark:border-teal-900/60", English: "bg-orange-50 text-orange-700 border-orange-200/70 dark:bg-orange-950/50 dark:text-orange-200 dark:border-orange-900/60", History: "bg-amber-50 text-amber-700 border-amber-200/70 dark:bg-amber-950/50 dark:text-amber-200 dark:border-amber-900/60", Biology: "bg-emerald-50 text-emerald-700 border-emerald-200/70 dark:bg-emerald-950/50 dark:text-emerald-200 dark:border-emerald-900/60", Geography: "bg-sky-50 text-sky-700 border-sky-200/70 dark:bg-sky-950/50 dark:text-sky-200 dark:border-sky-900/60", }; export function TextbookCard({ textbook, hrefBase, hideActions }: TextbookCardProps) { const base = hrefBase || "/teacher/textbooks"; const colorClass = subjectColorMap[textbook.subject] || "bg-zinc-50 text-zinc-700 border-zinc-200/70 dark:bg-zinc-950/50 dark:text-zinc-200 dark:border-zinc-800/70"; return (
{textbook.subject}
{textbook.grade || "Grade N/A"}

{textbook.title}

{textbook.grade || "Grade N/A"}
{textbook.publisher || "Publisher N/A"}
{textbook._count?.chapters || 0} Chapters
Updated {formatDate(textbook.updatedAt)} {!hideActions && ( Edit Content Delete )}
); }