1{{--
2 Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
3 See the LICENCE file in the repository root for full licence text.
4--}}
5@if ($object->currentPage() !== 1 || $object->hasMorePages())
6 @php
7 $currentPage = $object->currentPage();
8 @endphp
9 <nav class="{{ class_with_modifiers('pagination-v2', $modifiers ?? []) }}">
10 <div class="pagination-v2__col">
11 @if ($currentPage === 1)
12 <span class="pagination-v2__link pagination-v2__link--quick pagination-v2__link--disabled">
13 <i class="fas fa-angle-left"></i>
14 <span class="hidden-xs">
15 {{ osu_trans('common.pagination.previous') }}
16 </span>
17 </span>
18 @else
19 <a class="pagination-v2__link pagination-v2__link--link pagination-v2__link--quick" href="{{ $object->url($currentPage - 1) }}">
20 <i class="fas fa-angle-left"></i>
21 <span class="hidden-xs">
22 {{ osu_trans('common.pagination.previous') }}
23 </span>
24 </a>
25 @endif
26 </div>
27
28 <ul class="pagination-v2__col pagination-v2__col--pages">
29 {{-- decide if we're showing first page link separately --}}
30 @if ($currentPage > 3)
31 <li class="pagination-v2__item">
32 <a class="pagination-v2__link pagination-v2__link--link" href="{{ $object->url(1) }}">1</a>
33 </li>
34 @endif
35
36 @if ($currentPage > 4)
37 <li class="pagination-v2__item">
38 <span class="pagination-v2__link">...</span>
39 </li>
40 @endif
41
42 @foreach(range(max($currentPage - 2, 1), ($object->hasMorePages() ? $currentPage + 1 : $currentPage)) as $page)
43 <li class="pagination-v2__item">
44 @if ($page === $currentPage)
45 <span class="pagination-v2__link pagination-v2__link--active">{{ $page }}</span>
46 @else
47 <a class="pagination-v2__link pagination-v2__link--link" href="{{ $object->url($page) }}">{{ $page }}</a>
48 @endif
49 </li>
50 @endforeach
51
52 @if ($object->hasMorePages())
53 <li class="pagination-v2__item">
54 <span class="pagination-v2__link">...</span>
55 </li>
56 @endif
57 </ul>
58
59 <div class="pagination-v2__col">
60 @if ($object->hasMorePages())
61 <a class="pagination-v2__link pagination-v2__link--link pagination-v2__link--quick" href="{{ $object->url($currentPage + 1) }}">
62 <span class="hidden-xs">
63 {{ osu_trans('common.pagination.next') }}
64 </span>
65 <i class="fas fa-angle-right"></i>
66 </a>
67 @else
68 <span class="pagination-v2__link pagination-v2__link--quick pagination-v2__link--disabled">
69 <span class="hidden-xs">
70 {{ osu_trans('common.pagination.next') }}
71 </span>
72 <i class="fas fa-angle-right"></i>
73 </span>
74 @endif
75 </div>
76 </nav>
77@endif