import { useParams } from "react-router-dom"; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Progress } from "@/components/ui/progress"; import { FileText, Video, Image, Link2, Music, Download, CheckCircle2, Loader2 } from "lucide-react"; import { useChapter, useChapterMaterials, useChapterProgress, useCompleteChapter, useMarkMaterialViewed } from "@/hooks/queries"; import { coursewareService } from "@/services/courseware.service"; import { useToast } from "@/hooks/use-toast"; import type { MaterialType } from "@/types/courseware"; const typeIcons: Record = { pdf: , document: , video: