"use client" import { useEffect, useState } from "react" import { useRouter, useParams } from "next/navigation" import { toast } from "react-hot-toast" import { useAuth } from "@/context/auth-context" import api from "@/lib/api" import { CourseSidebar } from "@/components/course-sidebar" import { LessonViewer } from "@/components/lesson-viewer" import { Loader2 } from "lucide-react" import type { Course } from "@/lib/types" export default function LessonDetailPage() { const params = useParams() const router = useRouter() const courseId = params?.courseId ?? '' const lessonId = params?.lessonId ?? '' const { user, firebaseUser, isLoading: isAuthLoading } = useAuth() const [course, setCourse] = useState(null) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { if (!isAuthLoading && !user && !firebaseUser) { toast.error("Please login to view lessons.") router.replace("/") return } if ((user || firebaseUser) && courseId) { const fetchCourse = async () => { setLoading(true) setError(null) try { const response = await api.get(`/api/courses/${courseId}?t=${Date.now()}`) setCourse(response.data) } catch (err: any) { setError(err.message || "Failed to load course.") toast.error(err.message || "Failed to load course.") } finally { setLoading(false) } } fetchCourse() } }, [user, firebaseUser, isAuthLoading, router, courseId]) if (isAuthLoading || loading) { return (
Loading lesson...
) } if (error) { return (

{error}

) } if (!course) { return (

Course not found.

) } return (
) }