Files
eatvio-infra/app/Livewire/BlogPost/ListView.php

37 lines
829 B
PHP

<?php
namespace App\Livewire\BlogPost;
use App\Models\User;
use App\Services\BlogPost\ListViewService;
use Illuminate\View\View;
use Livewire\Component;
use Livewire\WithPagination;
class ListView extends Component
{
use WithPagination;
public string $search = '';
public string $typeFilter = 'all';
public string $tag = '';
public User|null $author = null;
protected array $queryString = [
'search' => ['except' => ''],
'typeFilter' => ['except' => 'all'],
'tag' => ['except' => ''],
'author' => ['except' => ''],
];
public function render(ListViewService $service): View
{
$posts = $service->buildBlogPosts();
return view('livewire.blog-post.list-view', ['blogPosts' => $posts->orderBy('created_at', 'desc')->paginate(10)]);
}
}