@props([ // Paginador de Laravel (LengthAwarePaginator o Paginator) 'paginator', // nº de páginas a mostrar a cada lado de la actual 'window' => 1, // mostrar/ocultar el resumen "Mostrando X–Y de Z" 'showSummary' => true, ]) @php /** @var \Illuminate\Pagination\LengthAwarePaginator|\Illuminate\Contracts\Pagination\Paginator $paginator */ $p = $paginator; $current = $p->currentPage(); $last = method_exists($p, 'lastPage') ? $p->lastPage() : $current; $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 {{-- Desktop --}} {{--