<?php

namespace App\Http\Controllers;

use App\Models\Course;
use App\Models\CourseContent;
use Illuminate\Http\Request;

class ClassroomController extends Controller
{
    /**
     * Muestra el Aula Virtual de un curso específico.
     * Admite un parámetro opcional 'content' para saber qué tema reproducir.
     */
    public function show(Course $course, CourseContent $content = null)
    {
        // 1. SEGURIDAD: Validar que el alumno realmente esté inscrito en este curso
        $isEnrolled = auth()->user()->courses()->where('courses.id', $course->id)->exists();

        // Permitir acceso también si es administrador/superadmin
        if (!$isEnrolled && !auth()->user()->hasAnyRole(['superadmin', 'admin'])) {
            abort(403, 'No tienes una matrícula activa para este curso.');
        }

        // 2. Obtener todo el temario ordenado del curso
        $temario = $course->contents;

        // 3. Si no se especificó un contenido por la URL, cargamos el primero por defecto
        if (!$content && $temario->count() > 0) {
            $content = $temario->first();
        }

        return view('classroom.show', compact('course', 'temario', 'content'));
    }
}