{{-- Reusable paginator partial for master-tailwind pages. Usage: @include('backend.layout.partials.paginator', ['paginator' => $users]) Optional: 'label' => 'users' — shown in "Showing X–Y of N users" (defaults to 'results') --}} @php $paginatorLabel = $label ?? 'results'; @endphp @if($paginator->lastPage() > 1 || $paginator->total() > 0) @php $cur = $paginator->currentPage(); $last = $paginator->lastPage(); $pages = collect(); for ($p = 1; $p <= $last; $p++) { if ($p === 1 || $p === $last || abs($p - $cur) <= 2) { $pages->push($p); } } $pages = $pages->unique()->sort()->values(); @endphp
{{-- Count --}} @if($paginator->total() === 0) {{ __('No :label found', ['label' => $paginatorLabel]) }} @else {{ __('Showing') }} {{ number_format($paginator->firstItem()) }}–{{ number_format($paginator->lastItem()) }} {{ __('of') }} {{ number_format($paginator->total()) }} @endif @if($paginator->lastPage() > 1) {{-- Prev --}} @if($paginator->onFirstPage()) @else @endif {{-- Page numbers --}} @php $prevPage = null; @endphp @foreach($pages as $page) @if($prevPage !== null && $page - $prevPage > 1) @endif @if($page === $cur) @else {{ $page }} @endif @php $prevPage = $page; @endphp @endforeach {{-- Next --}} @if($paginator->hasMorePages()) @else @endif @endif
@endif