@props(['lesson', 'course', 'settings', 'mediaType' => 'video', 'accept' => 'video/*', 'showVideoUrl' => false, 'showEmbed' => false]) @php $section = $lesson->section; $totalLessons = $course->lessons()->count(); $lessonIndex = $course->lessons()->where('course_lessons.id', '<=', $lesson->id)->count(); $typeLabel = $lesson->typeLabel(); $hasMedia = $lesson->hasPlayableMedia(); $embedSrc = $lesson->embedSrc(); $fileUrl = $lesson->fileUrl(); $isEmbed = $lesson->isExternalEmbed(); @endphp
{{-- Top toolbar --}}
{{ $course->title }} {{ $section->title }}
{{ $lessonIndex }} / {{ $totalLessons }} Lesson + Add Lesson
{{-- Main content area --}}
@csrf @method('PUT') {{-- Lesson title bar --}}

{{ $typeLabel }} lesson

@if(in_array($mediaType, ['video', 'audio', 'pdf'])) {{-- Media preview / dropzone --}}
@if($hasMedia) @if($mediaType === 'video') @if($isEmbed && $embedSrc)

Embedded video ready

@elseif($fileUrl)

{{ basename($lesson->file_path) }}

@elseif($embedSrc)

Video URL linked

@endif @elseif($mediaType === 'audio' && $fileUrl)

{{ basename($lesson->file_path) }}

@elseif($mediaType === 'pdf' && $fileUrl)

{{ basename($lesson->file_path) }}

@endif @if(in_array($lesson->media_processing_status, ['processing', 'encryption']))

{{ $lesson->media_processing_status === 'encryption' ? 'Encryption in progress...' : 'Processing...' }}

@endif

Drop a new file to replace, or use

@else

No {{ $mediaType }} uploaded yet

Drop files here or

@if($showVideoUrl || $showEmbed)

or click to paste a YouTube / Vimeo URL

@endif @endif
{{-- Secondary upload options --}}
@if($showVideoUrl || $showEmbed) @endif

Supports YouTube, Vimeo, or a direct video file URL. Click Save after pasting.

@endif
@csrf @method('DELETE')
{{-- Attachments sidebar --}}
@include('admin.lessons.partials.attachments-sidebar', ['lesson' => $lesson])
@include('admin.lessons.partials.settings-panel', ['lesson' => $lesson])