@props([ /** @var \Illuminate\Pagination\LengthAwarePaginator|\Illuminate\Contracts\Pagination\Paginator $paginator */ 'paginator', 'window' => 1, // cuántas páginas a cada lado de la actual 'showSummary' => true, // mostrar "Mostrando X–Y de Z" ]) @php $p = $paginator; $current = $p->currentPage(); $last = method_exists($p, 'lastPage') ? $p->lastPage() : $current; // safety // Rango con elipsis $w = (int) $window; $start = max(1, $current - $w); $end = min($last, $current + $w); $pages = []; if ($start > 1) { $pages[] = 1; if ($start > 2) $pages[] = '...'; } for ($i = $start; $i <= $end; $i++) $pages[] = $i; if ($end < $last) { if ($end < $last - 1) $pages[] = '...'; $pages[] = $last; } @endphp @if($p->hasPages())
@endif