Files
RomhackPlaza/app/View/Components/CategorySelector.php
2026-06-16 16:21:43 +02:00

43 lines
1.0 KiB
PHP

<?php
namespace App\View\Components;
use App\Models\Category;
use App\Models\Language;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\View\Component;
class CategorySelector extends Component
{
public $categories;
/**f
* Create a new component instance.
*/
public function __construct(
public string $section,
public array $selected = [],
public bool $required = true,
public bool $news = false
)
{
$this->categories = Category::query()
->where(function ($query) {
$query->whereJsonContains('restricted_to', $this->section)
->orWhereNull('restricted_to');
})
->orderBy('name')
->get();
}
/**
* Get the view / contents that represent the component.
*/
public function render(): View|Closure|string
{
return $this->news === true ? view('components.news-category-selector' ) : view('components.category-selector');
}
}