2025-01-26 21:36:05 +02:00
|
|
|
@extends('layouts.app')
|
|
|
|
|
|
|
|
|
|
@section('content')
|
|
|
|
|
<div class="container-fluid movie-page">
|
|
|
|
|
<div class="row justify-content-center">
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="card-header">
|
2025-02-10 01:58:12 +02:00
|
|
|
<h1 class="movie-title">{{ $movie->title }}</h1> @if($movie->release_date)(<a href="">{{ $movie->release_date->format('Y') }}</a>)@endif
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
<div class="card-body">
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-md-2">
|
|
|
|
|
<img
|
|
|
|
|
src="http://image.tmdb.org/t/p/w185/{{ $movie->poster_path }}"
|
|
|
|
|
alt="{{ $movie->title }}"
|
2025-02-10 01:58:12 +02:00
|
|
|
title="{{ $movie->title }} @if($movie->release_date)({{ $movie->release_date->format('Y') }})@endif"
|
2025-01-26 21:36:05 +02:00
|
|
|
class="img img-fluid"
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<div class="watch-provider">
|
|
|
|
|
@foreach($movie->watchProviders as $watchProvider)
|
|
|
|
|
<img src="http://image.tmdb.org/t/p/w45/{{ $watchProvider->logo_path }}" alt="{{ $watchProvider->provider_name }}" title="{{ $watchProvider->provider_name }}">
|
|
|
|
|
@endforeach
|
|
|
|
|
</div>
|
2025-02-16 21:11:07 +02:00
|
|
|
<div class="external-ids">
|
|
|
|
|
@if($movie->externalIds && $movie->externalIds->tmdb_id)
|
|
|
|
|
<a href="{{ $movie->externalIds->tmdb_id }}"><img src="{{ asset('/img/tmdb.webp') }}" alt="" width="85"></a>
|
|
|
|
|
@endif
|
|
|
|
|
@if($movie->externalIds && $movie->externalIds->imdb_id)
|
|
|
|
|
<a href="{{ $movie->externalIds->imdb_id }}"><img src="{{ asset('/img/imdb.png') }}" alt="" width="85"></a>
|
|
|
|
|
@endif
|
|
|
|
|
</div>
|
|
|
|
|
@if($movie->trailer->first())
|
|
|
|
|
<a href="https://www.youtube.com/watch?v={{ $movie->trailer->first()->key }}" data-toggle="lightbox" class="btn btn-sm btn-block btn-secondary">View trailer</a>
|
|
|
|
|
@endif
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<span>
|
|
|
|
|
Directed by
|
|
|
|
|
@foreach($movie->director as $director)
|
|
|
|
|
<a href="">{{ $director->name }}</a>@if(!$loop->last), @endif
|
|
|
|
|
@endforeach
|
|
|
|
|
</span>
|
|
|
|
|
<span>
|
|
|
|
|
<div class="tagline">{{ $movie->tagline }}</div>
|
|
|
|
|
<div class="overview">{{ $movie->overview }}</div>
|
|
|
|
|
</span>
|
|
|
|
|
<span>
|
|
|
|
|
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
|
|
|
|
<li class="nav-item" role="presentation">
|
|
|
|
|
<button class="nav-link active" id="details-tab" data-bs-toggle="tab" data-bs-target="#details-tab-pane" type="button" role="tab" aria-controls="details-tab-pane" aria-selected="true">Details</button>
|
|
|
|
|
</li>
|
2025-02-16 21:11:07 +02:00
|
|
|
<li class="nav-item" role="presentation">
|
|
|
|
|
<button class="nav-link" id="videos-tab" data-bs-toggle="tab" data-bs-target="#videos-tab-pane" type="button" role="tab" aria-controls="videos-tab-pane" aria-selected="false">Videos</button>
|
|
|
|
|
</li>
|
2025-01-26 21:36:05 +02:00
|
|
|
<li class="nav-item" role="presentation">
|
|
|
|
|
<button class="nav-link" id="cast-tab" data-bs-toggle="tab" data-bs-target="#cast-tab-pane" type="button" role="tab" aria-controls="cast-tab-pane" aria-selected="false">Cast</button>
|
|
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" role="presentation">
|
2025-01-29 22:33:09 +02:00
|
|
|
<button class="nav-link" id="crew-tab" data-bs-toggle="tab" data-bs-target="#crew-tab-pane" type="button" role="tab" aria-controls="crew-tab-pane" aria-selected="false">Crew</button>
|
2025-01-26 21:36:05 +02:00
|
|
|
</li>
|
|
|
|
|
<li class="nav-item" role="presentation">
|
2025-01-29 22:33:09 +02:00
|
|
|
<button class="nav-link" id="releases-tab" data-bs-toggle="tab" data-bs-target="#releases-tab-pane" type="button" role="tab" aria-controls="releases-tab-pane" aria-selected="false">Releases</button>
|
2025-01-26 21:36:05 +02:00
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
<div class="tab-content" id="myTabContent">
|
|
|
|
|
<div class="tab-pane fade show active" id="details-tab-pane" role="tabpanel" aria-labelledby="details-tab" tabindex="0">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Tabs\Details::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-02-16 21:11:07 +02:00
|
|
|
<div class="tab-pane fade show" id="videos-tab-pane" role="tabpanel" aria-labelledby="videos-tab" tabindex="0">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Tabs\Videos::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-26 21:36:05 +02:00
|
|
|
<div class="tab-pane fade" id="cast-tab-pane" role="tabpanel" aria-labelledby="cast-tab" tabindex="0">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Tabs\Cast::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-29 22:33:09 +02:00
|
|
|
<div class="tab-pane fade" id="crew-tab-pane" role="tabpanel" aria-labelledby="crew-tab" tabindex="0">
|
2025-01-28 02:10:44 +02:00
|
|
|
@livewire(App\Livewire\MoviePage\Tabs\Crew::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-29 22:33:09 +02:00
|
|
|
<div class="tab-pane fade" id="releases-tab-pane" role="tabpanel" aria-labelledby="releases-tab" tabindex="0">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Tabs\Releases::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="card-header">Similar</div>
|
2025-02-16 21:11:07 +02:00
|
|
|
<div class="card-body">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Similar::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="card-header">Recommended</div>
|
2025-01-29 22:33:09 +02:00
|
|
|
<div class="card-body">
|
|
|
|
|
@livewire(App\Livewire\MoviePage\Recommendations::class, ['movie' => $movie])
|
|
|
|
|
</div>
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="card-header">Write review</div>
|
2025-02-16 21:11:07 +02:00
|
|
|
<div class="card-body">
|
|
|
|
|
@if(Auth::check())
|
|
|
|
|
<form action="{{ route('movie.comment.store', $movie->slug) }}" method="POST">
|
|
|
|
|
@csrf
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="">Comment</label>
|
|
|
|
|
<textarea name="content" id="" cols="30" rows="3" class="form-control"></textarea>
|
|
|
|
|
@error('content')
|
|
|
|
|
<div class="alert alert-danger">{{ $message }}</div>
|
|
|
|
|
@enderror
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<br>
|
|
|
|
|
<div class="float-end">
|
|
|
|
|
<input type="submit" class="btn btn-sm btn-success" value="Post">
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
@else
|
|
|
|
|
<div class="alert alert-info">
|
|
|
|
|
You must be authenticated to comment! Please <a href="{{ route('login') }}">login</a> or <a href="{{ route('register') }}">register</a>.
|
|
|
|
|
</div>
|
|
|
|
|
@endif
|
|
|
|
|
</div>
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
2025-01-29 22:33:09 +02:00
|
|
|
@foreach($comments as $comment)
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="card-header">
|
|
|
|
|
@if($comment->author_avatar)
|
|
|
|
|
<img src="http://image.tmdb.org/t/p/w45/{{ $comment->author_avatar }}" alt="" width="25">
|
2025-02-16 21:11:07 +02:00
|
|
|
@else
|
|
|
|
|
// user avatar
|
|
|
|
|
@endif
|
|
|
|
|
@if($comment->author_name)
|
|
|
|
|
{{ $comment->author_name }}
|
|
|
|
|
@else
|
|
|
|
|
<a href="">{{ $comment->author->name }}</a>
|
|
|
|
|
@endif
|
|
|
|
|
|
|
|
|
|
@if($comment->tmdb_id)
|
|
|
|
|
<span class="badge text-bg-success btn-tmdb"><a href="https://www.themoviedb.org/review/{{ $comment->tmdb_id }}">TMDB</a></span>
|
2025-01-29 22:33:09 +02:00
|
|
|
@endif
|
|
|
|
|
<span class="rating">
|
|
|
|
|
{{ $comment->author_rating }}
|
|
|
|
|
</span>
|
|
|
|
|
<span class="text-muted float-end">
|
|
|
|
|
<small>
|
|
|
|
|
{{ $comment->published_at }}
|
|
|
|
|
</small>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="card-body">
|
|
|
|
|
{!! $comment->content !!}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@endforeach
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
<div class="col-md-2">
|
|
|
|
|
<div class="card">
|
|
|
|
|
<div class="user-actions">
|
2025-02-01 15:31:47 +02:00
|
|
|
<a href="" class="mark-as-seen-btn {{ auth()->check() ? ($movie->wasListedBy('watched', auth()->user()) ? 'seen' : '') : '' }}" data-id="{{ $movie->id }}" data-type="movie" data-list="watched">
|
|
|
|
|
<span class="iconify" data-icon="mdi-eye-check-outline"></span> Mark as seen
|
|
|
|
|
</a>
|
|
|
|
|
<a href="" class="like-btn {{ auth()->check() ? ($movie->wasListedBy('liked', auth()->user()) ? 'liked' : '') : '' }}" data-id="{{ $movie->id }}" data-type="movie" data-list="liked">
|
|
|
|
|
<span class="iconify" data-icon="mdi-thumb-up-outline"></span> Like
|
|
|
|
|
</a>
|
|
|
|
|
<a href="" class="add-to-list-btn">
|
|
|
|
|
<span class="iconify" data-icon="mdi-playlist-check"></span> add to list
|
|
|
|
|
<span class="arrow float-end">
|
|
|
|
|
↓
|
|
|
|
|
</span>
|
|
|
|
|
</a>
|
2025-01-26 21:36:05 +02:00
|
|
|
<hr>
|
2025-02-01 15:31:47 +02:00
|
|
|
@include('layouts.rating')
|
2025-01-26 21:36:05 +02:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@endsection
|