1
0
cms11/app/View/Components/ReadMore.php

43 lines
932 B
PHP

<?php
namespace App\View\Components;
use App\Classes\Bundle;
use Closure;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Storage;
use Illuminate\View\Component;
class ReadMore extends Component
{
protected $bundles;
/**
* Create a new component instance.
*/
public function __construct(public string|array $urls, public ?string $title = 'Pour en savoir plus')
{
if (is_string($this->urls)) {
$this->urls = [$this->urls];
}
$bundles = [];
foreach ($urls as $url) {
$bundles[] = new Bundle($url, Storage::disk(env('CONTENT_DISK')));
}
$this->bundles = $bundles;
}
/**
* Get the view / contents that represent the component.
*/
public function render(): View|Closure|string
{
return view('components.read-more', [
'bundles' => $this->bundles,
]);
}
}