"use client"; import React from "react"; import Link from "next/link"; import { useParams } from "next/navigation"; import { Layout, CheckCircle2, Calendar, BarChart2, Settings, Folder } from "lucide-react"; interface CourseEditorLayoutProps { children: React.ReactNode; activeTab: "outline" | "grading" | "calendar" | "analytics" | "settings" | "files"; } export default function CourseEditorLayout({ children, activeTab }: CourseEditorLayoutProps) { const { id } = useParams() as { id: string }; const tabs = [ { key: "outline", label: "Outline", icon: Layout, href: `/courses/${id}` }, { key: "grading", label: "Grading", icon: CheckCircle2, href: `/courses/${id}/grading` }, { key: "calendar", label: "Calendar", icon: Calendar, href: `/courses/${id}/calendar` }, { key: "analytics", label: "Analytics", icon: BarChart2, href: `/courses/${id}/analytics` }, { key: "files", label: "Files & Uploads", icon: Folder, href: `/courses/${id}/files` }, { key: "settings", label: "Settings", icon: Settings, href: `/courses/${id}/settings` }, ]; return (
{/* Tabs Navigation */}
{tabs.map((tab) => { const Icon = tab.icon; const isActive = tab.key === activeTab; return ( {tab.label} ); })}
{/* Content */}
{children}
); }