import { useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; import { ArrowLeft, House, Plus } from "lucide-react"; import { useCourses } from "@/contexts/AdminCoursesContext"; import AppBreadcrumb from "@/components/generic/Breadcrumb/AppBreadcrumb"; import { Spinner } from "@/components/ui/spinner"; import UnitsTable from "../../../components/courses/UnitsTable"; import { Badge } from "@/components/ui/badge"; export default function UnitsList() { const navigate = useNavigate(); const { courseId } = useParams(); const { fetchCourse, course, loading } = useCourses(); const [initializing, setInitializing] = useState(true); useEffect(() => { (async () => { await fetchCourse(courseId); setInitializing(false); })(); }, [courseId]); const items = [ { label: "Home", icon: , to: "/admin" }, { label: "Courses", to: "/admin/courses" }, { label: course?.title ?? "..." }, ]; // Replace the loading check if (initializing) { return (
); } return (
{/* ── Course header ── */}
{/* Title + Status */}
COURSE

{course?.title}

{!course.deletedBy ? "Active" : "Inactive"}
{course?.description && (

{course.description}

)}
{/* Stats row */}

Level

{course?.level}

Units

{course?.units.length}

Created

{course?.createdAt ? new Date(course.createdAt).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }) : '—'}

Last Updated

{course?.updatedAt ? new Date(course.updatedAt).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }) : '—'}

{/* ── Units ── */}
); }