{% sw_extends '@Storefront/storefront/component/pagination.html.twig' %}
{% block component_pagination_nav %}
{% set currentPage = ((criteria.offset + 1) / criteria.limit )|round(0, 'ceil') %}
{% set totalPages = (entities.total / criteria.limit)|round(0, 'ceil') %}
{% if totalPages > 1 %}
<nav aria-label="pagination" class="pagination-nav">
{% block component_pagination %}
<ul class="pagination">
{% block component_pagination_prev %}
<li class="page-item page-prev{% if currentPage == 1 %} disabled{% endif %}">
{% block component_pagination_prev_input %}
<input type="radio"
{% if currentPage == 1 %}disabled="disabled"{% endif %}
name="p"
id="p-prev"
value="{{ currentPage - 1 }}"
class="d-none"
title="pagination">
{% endblock %}
{% block component_pagination_prev_label %}
<label class="page-link" for="p-prev">
{% block component_pagination_prev_link %}
{% block component_pagination_prev_icon %}
{% sw_icon 'arrow-medium-left' style {'size': 'fluid', 'pack': 'solid'} %}
{% endblock %}
{% endblock %}
</label>
{% endblock %}
</li>
{% endblock %}
{% block component_pagination_loop %}
{% set start = currentPage - 2 %}
{% if start <= 0 %}
{% set start = currentPage - 1 %}
{% if start <= 0 %}
{% set start = currentPage %}
{% endif %}
{% endif %}
{% set end = start + 4 %}
{% if end > totalPages %}
{% set end = totalPages %}
{% endif %}
{% for page in start..end %}
{% set isActive = (currentPage == page) %}
{% block component_pagination_item %}
<li class="page-item{% if isActive %} active{% endif %}">
{% block component_pagination_item_input %}
<input type="radio"
name="p"
id="p{{ page }}"
value="{{ page }}"
class="d-none"
title="pagination"
{% if isActive %}checked="checked"{% endif %}>
{% endblock %}
{% block component_pagination_item_label %}
<label class="page-link"
for="p{{ page }}">
{% block component_pagination_item_link %}
{% block component_pagination_item_text %}
{{ page }}
{% endblock %}
{% endblock %}
</label>
{% endblock %}
</li>
{% endblock %}
{% endfor %}
{% endblock %}
{% block component_pagination_next %}
<li class="page-item page-next{% if currentPage == totalPages %} disabled{% endif %}">
{% block component_pagination_next_input %}
<input type="radio"
{% if currentPage == totalPages %}disabled="disabled"{% endif %}
name="p"
id="p-next"
value="{{ currentPage + 1 }}"
class="d-none"
title="pagination">
{% endblock %}
{% block component_pagination_next_label %}
<label class="page-link" for="p-next">
{% block component_pagination_next_link %}
{% block component_pagination_next_icon %}
{% sw_icon 'arrow-medium-right' style { 'size': 'fluid', 'pack': 'solid'} %}
{% endblock %}
{% endblock %}
</label>
{% endblock %}
</li>
{% endblock %}
</ul>
{% endblock %}
</nav>
{% endif %}
{% endblock %}