@if ($paginator->hasPages()) @php $current = (int) $paginator->currentPage(); $last = (int) $paginator->lastPage(); $pageName = (string) $paginator->getPageName(); $pages = [1]; if ($current <= 2) { $pages[] = 2; } elseif ($current >= $last - 1) { $pages[] = max(1, $last - 1); } else { $pages[] = $current; } $pages[] = $last; $pages = array_values(array_unique(array_filter($pages, fn ($p) => is_int($p) && $p >= 1 && $p <= $last))); sort($pages); @endphp @endif