@extends('layouts.app') @push('head') @endpush @section('title', $video->title . ' | ' . config('app.name')) @section('extra_styles') @endsection @section('content')
@php $typeIcon = match($video->type) { 'music' => 'bi-music-note', 'match' => 'bi-trophy', default => 'bi-film', }; @endphp

{{ $video->title }}

{{ number_format($video->view_count) }} views {{ $video->created_at->format('M d, Y') }}
@auth
@csrf
@if(Auth::id() === $video->user_id) @endif @else Like @endauth @if($video->isShareable()) @endif
@if($video->user) {{ $video->user->name }} @else
@endif
{{ $video->user->name ?? 'Unknown' }}
{{ number_format($video->user->subscriber_count ?? 0) }} subscribers
{{-- Subscribe Button --}} @auth @if(Auth::id() !== $video->user_id) @endif @else @endauth
@if($video->description) @php $fullDescription = $video->description; $shortDescription = Str::limit($fullDescription, 200); $needsExpand = strlen($fullDescription) > 200; @endphp
{{ number_format($video->view_count) }} views {{ $video->created_at->format('M d, Y') }}
@if($needsExpand)
{!! Str::markdown($shortDescription) !!} ...
@else {!! Str::markdown($fullDescription) !!} @endif
@endif

Comments ({{ $video->comment_count }})

@auth
{{ Auth::user()->name }}
@else
Sign in to comment
@endauth
@forelse($video->comments()->whereNull('parent_id')->with('user', 'replies.user')->latest()->get() as $comment) @include('videos.partials.comment', ['comment' => $comment]) @empty

No comments yet. Be the first to comment!

@endforelse

Up Next

More videos coming soon...
@auth
@csrf
@else Like @endauth @if($video->isShareable()) @endif @auth @if(Auth::id() !== $video->user_id) @endif @else Subscribe @endauth
@include('layouts.partials.share-modal') @include('layouts.partials.edit-video-modal') @if(Session::has('openEditModal') && Session::get('openEditModal')) @auth @endauth @endif @endsection /* Mobile Bottom Action Bar */ @media (max-width: 576px) { .mobile-bottom-bar { display: flex !important; } .desktop-actions { display: none; } } .mobile-bottom-bar { display: none; position: fixed; bottom: 0; left: 0; right: 0; background: var(--bg-primary); border-top: 1px solid var(--border-color); padding: 12px 16px; justify-content: space-around; z-index: 1000; gap: 8px; box-shadow: 0 -2px 10px rgba(0,0,0,0.3); } .mobile-bottom-bar .yt-action-btn { flex: 1; justify-content: center; padding: 12px 8px; font-size: 12px; min-height: 44px; } .mobile-bottom-bar .yt-action-btn i { font-size: 18px; } @media (max-width: 576px) { .yt-video-section { padding-bottom: 70px; } }