43 lines
932 B
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,
|
||
|
]);
|
||
|
}
|
||
|
}
|