@props([ 'video', 'nextVideo' => null, 'previousVideo' => null, 'playlist' => null, 'playlistVideos' => null, ]) @php // Force 16:9 for every video — orientation classes intentionally disabled $orientationClass = ''; $hlsUrl = $video->has_hls ? route('videos.hls', ['video' => $video, 'file' => 'playlist.m3u8']) : null; $mp4Url = route('videos.stream', $video) . '?v=' . $video->updated_at->timestamp; $nextUrl = $nextVideo && $playlist ? route('videos.show', $nextVideo) .'?playlist='.$playlist->share_token : null; $prevUrl = $previousVideo && $playlist ? route('videos.show', $previousVideo).'?playlist='.$playlist->share_token : null; // Build playlist data for client-side shuffle $plData = null; if ($playlist && $playlistVideos && $playlistVideos->count() > 0) { $plData = [ 'playlistId' => $playlist->share_token, 'currentVideoId' => $video->id, 'videos' => $playlistVideos->map(fn($v) => [ 'id' => $v->id, 'showUrl' => route('videos.show', $v) . '?playlist=' . $playlist->id, ])->values()->all(), ]; } @endphp {{-- ══════════════════════════════════════════════ PLAYER WRAP — theater class toggled by JS ══════════════════════════════════════════════ --}}