"use client" import { CourseSidebar } from "@/components/course-sidebar" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Loader2 } from "lucide-react" import { useAuth } from "@/context/auth-context" import { useRouter } from "next/navigation" import { toast } from "react-hot-toast" import { useState, useEffect } from "react" import type { Course } from "@/lib/types" import api from "@/lib/api" // Corrected import: default import interface CourseOverviewPageProps { params: { courseId: string } } export default function CourseOverviewPage({ params }: CourseOverviewPageProps) { const { courseId } = params const { user, firebaseUser, isLoadingAuth } = useAuth() // Allow firebaseUser const router = useRouter() const [course, setCourse] = useState(null) const [isLoadingCourse, setIsLoadingCourse] = useState(true) const [error, setError] = useState(null) useEffect(() => { if (!isLoadingAuth && !user && !firebaseUser) { // Allow either MetaMask or Firebase user toast.error("Please login to view courses.") router.push("/") return } const fetchCourse = async () => { setIsLoadingCourse(true) setError(null) try { // --- ORIGINAL API CALL (UNCOMMENT WHEN BACKEND IS READY) --- const response = await api.get(`/api/courses/${courseId}`) setCourse(response.data) } catch (err: any) { console.error("Failed to fetch course details:", err) setError(err.response?.data?.message || "Failed to load course details.") toast.error(err.response?.data?.message || "Failed to load course details.") } finally { setIsLoadingCourse(false) } } if (user || firebaseUser) { // Only fetch if either user type is logged in fetchCourse() } }, [user, firebaseUser, isLoadingAuth, router, courseId]) useEffect(() => { if (course && course.modules.length > 0 && course.modules[0].lessons.length > 0) { // Redirect to the first lesson of the course router.replace(`/courses/${courseId}/lesson/${course.modules[0].lessons[0].id}`) } }, [course, courseId, router]) if (isLoadingAuth || isLoadingCourse) { return (
Loading course...
) } if (error) { return (

{error}

) } if (!course) { return (

Course not found.

) } return (
{course.title} Overview

{course.description}

Select a lesson from the sidebar to begin.

) }