32 lines
636 B
PHP
32 lines
636 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Livewire;
|
||
|
|
|
||
|
|
use App\Models\Movie;
|
||
|
|
use Livewire\Component;
|
||
|
|
|
||
|
|
class MovieDetailsPanel extends Component
|
||
|
|
{
|
||
|
|
public $showDetails = false;
|
||
|
|
public ?Movie $selectedMovie = null;
|
||
|
|
|
||
|
|
protected $listeners = ['openMovieDetails' => 'openPanel'];
|
||
|
|
|
||
|
|
public function openPanel(int $movieId): void
|
||
|
|
{
|
||
|
|
$this->selectedMovie = Movie::find($movieId);
|
||
|
|
$this->showDetails = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function closePanel(): void
|
||
|
|
{
|
||
|
|
$this->showDetails = false;
|
||
|
|
$this->selectedMovie = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
public function render()
|
||
|
|
{
|
||
|
|
return view('livewire.movie-details-panel');
|
||
|
|
}
|
||
|
|
}
|