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 > -
+
@@ -175,7 +171,7 @@ class="rounded-md text-blue-400 hover:text-white cursor-pointer focus:outline-no
@else -
+
Carregando... diff --git a/resources/views/livewire/admin/show-client.blade.php b/resources/views/livewire/admin/show-client.blade.php index d2b272f..3b14754 100644 --- a/resources/views/livewire/admin/show-client.blade.php +++ b/resources/views/livewire/admin/show-client.blade.php @@ -41,8 +41,8 @@ class="text-gray-400 hover:text-gray-600 focus:outline-none"> @foreach ($clients as $client)
-
- Avatar do Cliente + Avatar do Cliente
@@ -71,4 +71,9 @@ class="w-32 h-32 rounded-full object-cover cursor-pointer">
@endforeach
+ +
+ {{ $clients->links() }} +
+
\ No newline at end of file diff --git a/resources/views/vendor/livewire/tailwind.blade.php b/resources/views/vendor/livewire/tailwind.blade.php new file mode 100644 index 0000000..a85cca3 --- /dev/null +++ b/resources/views/vendor/livewire/tailwind.blade.php @@ -0,0 +1,109 @@ +@if ($paginator->hasPages()) + +@endif \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 772847a..151f119 100644 --- a/vite.config.js +++ b/vite.config.js @@ -5,7 +5,7 @@ import tailwindcss from '@tailwindcss/vite'; export default defineConfig({ plugins: [ laravel({ - input: ['resources/css/app.css', 'resources/js/app.js', 'resources/images/bg-primary.png', 'resources/images/logo.png', 'resources/images/favicon.png', 'resources/images/newlogo.png', 'resources/images/avatar-nexus.svg' ], + input: ['resources/css/app.css', 'resources/js/app.js', 'resources/images/bg-primary.png', 'resources/images/logo.png', 'resources/images/favicon.png', 'resources/images/newlogo.png', 'resources/images/avatar-nexus.svg', ], refresh: true, }), tailwindcss(),