|
6 | 6 |
|
7 | 7 | use App\Enums\ReadingStatus; |
8 | 8 | use App\Livewire\Concerns\WithAccentInsensitiveSearch; |
| 9 | +use App\Livewire\Concerns\WithIndexFiltering; |
9 | 10 | use App\Models\Comic; |
10 | 11 | use Illuminate\Support\Facades\Auth; |
11 | 12 | use Illuminate\Support\Facades\DB; |
|
15 | 16 | class ComicIndex extends Component |
16 | 17 | { |
17 | 18 | use WithAccentInsensitiveSearch; |
| 19 | + use WithIndexFiltering; |
18 | 20 | use WithPagination; |
19 | 21 |
|
20 | 22 | public string $search = ''; |
@@ -65,30 +67,6 @@ public function updatingPublisher(): void |
65 | 67 | $this->resetPage(); |
66 | 68 | } |
67 | 69 |
|
68 | | - public function setViewMode(string $mode): void |
69 | | - { |
70 | | - $this->viewMode = in_array($mode, ['gallery', 'list']) ? $mode : 'gallery'; |
71 | | - } |
72 | | - |
73 | | - public function sort(string $column): void |
74 | | - { |
75 | | - if ($this->sortBy === $column) { |
76 | | - $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; |
77 | | - } else { |
78 | | - $this->sortBy = $column; |
79 | | - $this->sortDirection = 'asc'; |
80 | | - } |
81 | | - } |
82 | | - |
83 | | - private function safeSortDirection(): string |
84 | | - { |
85 | | - return $this->sortDirection === 'asc' ? 'asc' : 'desc'; |
86 | | - } |
87 | | - |
88 | | - private function safeSortBy(): string |
89 | | - { |
90 | | - return in_array($this->sortBy, self::ALLOWED_SORT_COLUMNS, true) ? $this->sortBy : 'updated_at'; |
91 | | - } |
92 | 70 |
|
93 | 71 | public function updateStatus(Comic $comic, string $status): void |
94 | 72 | { |
@@ -146,11 +124,6 @@ public function deleteSelected(): void |
146 | 124 | session()->flash('message', "{$count} comic(s) deleted successfully."); |
147 | 125 | } |
148 | 126 |
|
149 | | - public function paginationView(): string |
150 | | - { |
151 | | - return 'livewire.custom-pagination'; |
152 | | - } |
153 | | - |
154 | 127 | public function render() |
155 | 128 | { |
156 | 129 | $perPage = $this->viewMode === 'list' ? 25 : 18; |
|
0 commit comments