lots of progress

This commit is contained in:
2025-01-26 21:36:05 +02:00
parent bbd082fd8f
commit 6a014c403c
44 changed files with 976 additions and 104 deletions
@@ -2,12 +2,20 @@
namespace App\Livewire\Homepage\Movies;
use App\Models\Movie;
use Livewire\Component;
class NewMoviesComponent extends Component
{
public $newMovies;
public function render()
{
return view('livewire.homepage.movies.new-movies-component');
}
public function mount()
{
$this->newMovies = Movie::orderBy('created_at', 'desc')->take(6)->get();
}
}
@@ -2,12 +2,23 @@
namespace App\Livewire\Homepage\Movies;
use App\Models\Movie;
use App\Models\UpcomingMovie;
use Livewire\Component;
class UpcomingMoviesComponent extends Component
{
public $upcomingMovies;
public function render()
{
return view('livewire.homepage.movies.upcoming-movies-component');
}
public function mount()
{
$this->upcomingMovies = Movie::whereIn('id', UpcomingMovie::orderBy('id', 'desc')->get()->pluck('movie_id'))
->take(6)
->get();
}
}
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace App\Livewire\MoviePage\Tabs;
use App\Models\Movie;
use App\Models\Person;
use Livewire\Component;
class Cast extends Component
{
public $movie;
public $peopleByDepartment;
public function render()
{
return view('livewire.movie-page.tabs.cast');
}
public function mount()
{
$this->movie = Movie::with('castList')->where('id', $this->movie->id)->first();
$peopleByDepartment = [];
foreach ($this->movie->castList as $castMember) {
if (!isset($peopleByDepartment[$castMember->pivot->known_for_department])) {
$peopleByDepartment[$castMember->pivot->known_for_department] = [];
}
$peopleByDepartment[$castMember->pivot->known_for_department][] = [
Person::find($castMember->pivot->person_id),
$castMember->pivot->character,
];
}
$this->peopleByDepartment = $peopleByDepartment;
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App\Livewire\MoviePage\Tabs;
use Livewire\Component;
class Crew extends Component
{
public function render()
{
return view('livewire.movie-page.tabs.crew');
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
namespace App\Livewire\MoviePage\Tabs;
use App\Models\Movie;
use App\Models\MovieAlternativeTitle;
use Livewire\Component;
class Details extends Component
{
public $movie;
public $productionCompanies;
public $productionCountries;
public $alternativeTitles;
public function render()
{
return view('livewire.movie-page.tabs.details');
}
public function mount()
{
$this->alternativeTitles = MovieAlternativeTitle::where('movie_id', $this->movie->id)->get();
$movie = Movie::with('productionCompanies', 'productionCountries')->find($this->movie->id);
$this->productionCompanies = $movie->productionCompanies;
$this->productionCountries = $movie->productionCountries;
// $this->productionCompanies = Movie::
// alt titles
// prod company
// prod country
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App\Livewire\MoviePage\Tabs;
use Livewire\Component;
class Releases extends Component
{
public function render()
{
return view('livewire.movie-page.tabs.releases');
}
}