@extends($site->themeView('layout')) {{-- Film / series page: immersive header, synopsis, credits, trailer, where to watch, seasons, reviews, similar titles. --}} @section('content') @php $ads = app(\App\Services\AdManager::class); $item = ['type' => $type, 'id' => $t['id'], 'title' => $t['title'], 'year' => $t['year'], 'poster' => $t['poster'], 'path' => $t['path'], 'genres' => $t['genre_ids']]; $hours = $t['runtime'] ? intdiv($t['runtime'], 60) : 0; $avg = $reviews->isNotEmpty() ? round($reviews->avg('rating'), 1) : null; @endphp
@if ($t['backdrop']) @endif
@if ($t['poster']) {{ __('movies.poster_of', ['title' => $t['title']]) }} @else
@endif
@include($site->themeView('partials.breadcrumbs'))

{{ $t['title'] }} @if ($t['year'])({{ $t['year'] }})@endif

@if ($t['original_title'] && $t['original_title'] !== $t['title'])

{{ __('movies.original_title') }} : {{ $t['original_title'] }}

@endif
    @if ($t['certification'])
  • {{ $t['certification'] }}
  • @endif @if ($t['date'])
  • @elseif ($t['year'])
  • {{ $t['year'] }}
  • @endif @if ($t['runtime'])
  • {{ $hours ? $hours.' h ' : '' }}{{ str_pad($t['runtime'] % 60, 2, '0', STR_PAD_LEFT) }} min
  • @endif @if ($type === 'tv' && $t['seasons_count'])
  • {{ trans_choice('movies.seasons_count', $t['seasons_count'], ['count' => $t['seasons_count']]) }} · {{ __('movies.episodes_count', ['count' => $t['episodes_count'] ?? 0]) }}
  • @endif @foreach ($t['genre_links'] as $g)
  • {{ $g['name'] }}
  • @endforeach
@if ($avg)

{{ number_format($avg, 1) }}{{ __('movies.members_rating') }}
{{ trans_choice('movies.reviews_count', $reviews->count(), ['count' => $reviews->count()]) }}

@endif
@if ($t['video']) {{ __('movies.watch_now') }} @elseif ($type === 'tv' && collect($t['seasons'])->sum('videos') > 0) {{ __('movies.watch_episodes') }} @endif @if ($t['trailer']) @elseif ($t['trailer_url']) {{ __('movies.watch_trailer') }} @endif
@if ($t['tagline'])

« {{ $t['tagline'] }} »

@endif

{{ __('movies.synopsis') }}

{{ $t['overview'] ?? __('movies.no_synopsis') }}

@if ($t['directors'])
{{ $type === 'tv' ? __('movies.creators') : __('movies.director') }}
@foreach ($t['directors'] as $d){{ $d['name'] }}@if (! $loop->last), @endif @endforeach
@endif @if ($t['countries'])
{{ __('movies.countries') }}
{{ implode(', ', array_slice($t['countries'], 0, 3)) }}
@endif @if ($t['original_language'])
{{ __('movies.language') }}
{{ class_exists(\Locale::class) ? \Locale::getDisplayLanguage($t['original_language'], app()->getLocale()) : $t['original_language'] }}
@endif
@if ($t['video']) {{-- Video uploaded in the back-office (no ad around the player). --}}

{{ __('movies.watch_now') }}

@if ($t['rights'])

{{ $t['rights'] }}

@endif
@endif @if ($t['cast'])

{{ __('movies.cast') }}

@endif @if ($type === 'tv' && $t['seasons'])

{{ __('movies.seasons') }}

@endif {{-- Members' reviews (moderated) and rating form (signed-in members, loaded by cinema.js). --}}

{{ __('movies.reviews') }}

{!! __('movies.review_sign_in', ['in' => ''.e(__('movies.sign_in')).'', 'up' => ''.e(__('movies.sign_up')).'']) !!}

@if ($reviews->isNotEmpty())
    @foreach ($reviews as $r)
  • {{ $r->member->name }}{{ $r->rating }}/10

    @if ($r->body)

    {{ $r->body }}

    @endif

  • @endforeach
@else

{{ __('movies.no_reviews') }}

@endif
@include($site->themeView('movies.partials.row'), ['key' => 'similar', 'title' => __('movies.similar'), 'items' => $t['similar']]) @if ($t['keywords'])

@foreach ($t['keywords'] as $k){{ $k }}@endforeach

@endif @if ($suggestion ?? null) @include($site->themeView('partials.network-suggestion'), ['other' => $suggestion]) @endif {{ $ads->slot('after_content') }}
{{-- Trailer (YouTube privacy-enhanced mode, loaded only on click). --}}
@endsection