diff --git a/resources/views/components/⚡client-list.blade.php b/resources/views/components/⚡client-list.blade.php index eaade74..26e69f7 100644 --- a/resources/views/components/⚡client-list.blade.php +++ b/resources/views/components/⚡client-list.blade.php @@ -2,36 +2,61 @@ use App\Models\Client; use Livewire\Component; +use Livewire\Attributes\Computed; +use Livewire\WithPagination; + new class extends Component { + use WithPagination; + + public string $sortBy = 'abbreviation'; + public string $sortDirection = 'desc'; + + public function sort($column): void + { + if ($this->sortBy === $column) { + $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; + } else { + $this->sortBy = $column; + $this->sortDirection = 'asc'; + } + } + #[Computed] public function clients() { - return Client::all(); + return Client::orderBy($this->sortBy, $this->sortDirection)->paginate(10); } }; ?>