86 lines
4.8 KiB
PHP
86 lines
4.8 KiB
PHP
@if ($paginator->hasPages())
|
|
<nav role="navigation" aria-label="{{ __('Pagination Navigation') }}" class="flex flex-col sm:flex-row items-center justify-between gap-4 mt-6">
|
|
{{-- Info text --}}
|
|
<div>
|
|
<p class="text-sm text-gray-500 leading-5">
|
|
Menampilkan
|
|
@if ($paginator->firstItem())
|
|
<span class="font-semibold text-gray-700">{{ $paginator->firstItem() }}</span>
|
|
sampai
|
|
<span class="font-semibold text-gray-700">{{ $paginator->lastItem() }}</span>
|
|
@else
|
|
{{ $paginator->count() }}
|
|
@endif
|
|
dari
|
|
<span class="font-semibold text-gray-700">{{ $paginator->total() }}</span>
|
|
data
|
|
</p>
|
|
</div>
|
|
|
|
{{-- Pagination Buttons --}}
|
|
<div class="flex items-center gap-1.5">
|
|
{{-- Previous Page Link --}}
|
|
@if ($paginator->onFirstPage())
|
|
<span class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-gray-300 cursor-not-allowed" aria-disabled="true">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5"/>
|
|
</svg>
|
|
</span>
|
|
@else
|
|
<a href="{{ $paginator->previousPageUrl() }}" rel="prev"
|
|
class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-gray-500 bg-white border border-gray-200 shadow-sm hover:bg-indigo-50 hover:text-indigo-600 hover:border-indigo-200 transition-all duration-200"
|
|
aria-label="{{ __('pagination.previous') }}">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5L8.25 12l7.5-7.5"/>
|
|
</svg>
|
|
</a>
|
|
@endif
|
|
|
|
{{-- Pagination Elements --}}
|
|
@foreach ($elements as $element)
|
|
{{-- "Three Dots" Separator --}}
|
|
@if (is_string($element))
|
|
<span class="inline-flex items-center justify-center w-9 h-9 text-sm text-gray-400 select-none" aria-disabled="true">
|
|
{{ $element }}
|
|
</span>
|
|
@endif
|
|
|
|
{{-- Array Of Links --}}
|
|
@if (is_array($element))
|
|
@foreach ($element as $page => $url)
|
|
@if ($page == $paginator->currentPage())
|
|
<span aria-current="page"
|
|
class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-sm font-bold text-white bg-gradient-to-br from-indigo-500 to-blue-600 shadow-md shadow-indigo-200 cursor-default transition-all duration-200">
|
|
{{ $page }}
|
|
</span>
|
|
@else
|
|
<a href="{{ $url }}"
|
|
class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-sm font-medium text-gray-600 bg-white border border-gray-200 shadow-sm hover:bg-indigo-50 hover:text-indigo-600 hover:border-indigo-200 hover:shadow-md transition-all duration-200"
|
|
aria-label="{{ __('Go to page :page', ['page' => $page]) }}">
|
|
{{ $page }}
|
|
</a>
|
|
@endif
|
|
@endforeach
|
|
@endif
|
|
@endforeach
|
|
|
|
{{-- Next Page Link --}}
|
|
@if ($paginator->hasMorePages())
|
|
<a href="{{ $paginator->nextPageUrl() }}" rel="next"
|
|
class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-gray-500 bg-white border border-gray-200 shadow-sm hover:bg-indigo-50 hover:text-indigo-600 hover:border-indigo-200 transition-all duration-200"
|
|
aria-label="{{ __('pagination.next') }}">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5"/>
|
|
</svg>
|
|
</a>
|
|
@else
|
|
<span class="inline-flex items-center justify-center w-9 h-9 rounded-lg text-gray-300 cursor-not-allowed" aria-disabled="true">
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2.5" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5"/>
|
|
</svg>
|
|
</span>
|
|
@endif
|
|
</div>
|
|
</nav>
|
|
@endif
|