some progress

This commit is contained in:
2025-01-28 02:10:44 +02:00
parent b4df3c216e
commit 8de53f3ec2
5 changed files with 57 additions and 4 deletions
-1
View File
@@ -32,6 +32,5 @@ class Cast extends Component
];
}
$this->peopleByDepartment = $peopleByDepartment;
}
}
+24
View File
@@ -2,12 +2,36 @@
namespace App\Livewire\MoviePage\Tabs;
use App\Models\Movie;
use App\Models\Person;
use Livewire\Component;
class Crew extends Component
{
public $movie;
public $peopleByDepartment;
public function render()
{
return view('livewire.movie-page.tabs.crew');
}
public function mount()
{
$this->movie = Movie::with('crewList')->where('id', $this->movie->id)->first();
$peopleByDepartment = [];
foreach ($this->movie->crewList as $castMember) {
if (!isset($peopleByDepartment[$castMember->pivot->department])) {
$peopleByDepartment[$castMember->pivot->department] = [];
}
$peopleByDepartment[$castMember->pivot->department][] = [
Person::find($castMember->pivot->person_id),
$castMember->pivot->job,
];
}
$this->peopleByDepartment = $peopleByDepartment;
}
}
+1 -1
View File
@@ -56,7 +56,7 @@ class Movie extends Model
public function crewList()
{
return $this->belongsToMany(Person::class, 'movie_crew', 'movie_id', 'person_id');
return $this->belongsToMany(Person::class, 'movie_crew', 'movie_id', 'person_id')->withPivot('department', 'job');
}
public function images()
@@ -1,3 +1,31 @@
<div>
{{-- A good traveler has no fixed plans and is not intent upon arriving. --}}
<div class="cast-list">
@foreach($peopleByDepartment as $department => $personInfo)
<div class="department">
{{ $department }}
<hr>
<div class="persons">
<div class="row">
@foreach($personInfo as [$person, $character])
<div class="col-md-3">
<div class="person">
@if($person->profile_path == null)
@if($person->gender == 2)
<img src="/img/no_avatar_male.png" alt="" class="img img-fluid float-start">
@else
<img src="/img/no_avatar_female.png" alt="" class="img img-fluid float-start">
@endif
@else
<img src="http://image.tmdb.org/t/p/w185/{{ $person->profile_path }}" alt="" class="img img-fluid float-start">
@endif
<a href="">{{ $person->name }}</a> <br>
{{ $character }}
</div>
</div>
@endforeach
</div>
</div>
</div>
@endforeach
</div>
</div>
+3 -1
View File
@@ -60,7 +60,9 @@
<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>
<div class="tab-pane fade" id="contact-tab-pane" role="tabpanel" aria-labelledby="contact-tab" tabindex="0">...</div>
<div class="tab-pane fade" id="contact-tab-pane" role="tabpanel" aria-labelledby="contact-tab" tabindex="0">
@livewire(App\Livewire\MoviePage\Tabs\Crew::class, ['movie' => $movie])
</div>
<div class="tab-pane fade" id="disabled-tab-pane" role="tabpanel" aria-labelledby="disabled-tab" tabindex="0">...</div>
</div>
</span>