diff --git a/app/Livewire/Admin/Client/DetailClient.php b/app/Livewire/Admin/Client/DetailClient.php index 5a905c2..87b7a87 100644 --- a/app/Livewire/Admin/Client/DetailClient.php +++ b/app/Livewire/Admin/Client/DetailClient.php @@ -12,7 +12,7 @@ class DetailClient extends Component { public ClientForm $clientForm; - public ?Client $client = null; + public Client $client; #[On('client-detail')] public function detailClient($id) diff --git a/app/Livewire/ShowClient.php b/app/Livewire/ShowClient.php index ea11573..2470f04 100644 --- a/app/Livewire/ShowClient.php +++ b/app/Livewire/ShowClient.php @@ -5,22 +5,18 @@ use App\Models\Client; use Livewire\Component; use Livewire\Attributes\On; +use Livewire\WithPagination; class ShowClient extends Component { + use WithPagination; public $filters = ''; - public $clients; - - public function mount() - { - $this->clients = Client::all(); - } #[On('filters-added')] public function updatedFilters() { - $this->clients = Client::where('name', 'LIKE', '%' . $this->filters . '%')->get(); + $this->resetPage(); } #[On('client-deleted')] @@ -28,13 +24,24 @@ public function updatedFilters() #[On('client-added')] public function refreshClients() { - $this->clients = Client::all(); + $this->resetPage(); } public function render() { + $query = Client::query(); + + if (!empty($this->filters)) { + $query->where(function ($q) { + $q->where('name', 'LIKE', '%' . $this->filters . '%') + ->orWhere('legal_name', 'LIKE', '%' . $this->filters . '%') + ->orWhere('cnpj', 'LIKE', '%' . $this->filters . '%'); + }); + } + return view('livewire.admin.show-client', [ - 'clients' => $this->clients + // Adicionando withView() para garantir que a template correta seja usada + 'clients' => $query->paginate(10), ]); } } diff --git a/resources/views/livewire/admin/clients/detail-client.blade.php b/resources/views/livewire/admin/clients/detail-client.blade.php index 7cd5837..c5967f8 100644 --- a/resources/views/livewire/admin/clients/detail-client.blade.php +++ b/resources/views/livewire/admin/clients/detail-client.blade.php @@ -2,12 +2,8 @@ @keydown.escape.window="showClientDetails = false" x-on:client-detail.window="showClientDetails = true" class="relative z-50" + wire:ignore.self > -