Forum / templates /macros /pagination.html
kuro223's picture
o9
91073d4
{% macro render_pagination(pagination, endpoint, **kwargs) %}
<div class="flex justify-center">
<nav class="inline-flex rounded-md shadow">
{% if pagination.has_prev %}
<a href="{{ url_for(endpoint, page=pagination.prev_num, **kwargs) }}" class="px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-l-md hover:bg-gray-50">
Previous
</a>
{% else %}
<span class="px-4 py-2 text-sm font-medium text-gray-400 bg-gray-100 border border-gray-300 rounded-l-md cursor-not-allowed">
Previous
</span>
{% endif %}
{% for page_num in pagination.iter_pages(left_edge=1, right_edge=1, left_current=2, right_current=2) %}
{% if page_num %}
{% if page_num == pagination.page %}
<span class="px-4 py-2 text-sm font-medium text-blue-600 bg-blue-50 border border-gray-300">
{{ page_num }}
</span>
{% else %}
<a href="{{ url_for(endpoint, page=page_num, **kwargs) }}" class="px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 hover:bg-gray-50">
{{ page_num }}
</a>
{% endif %}
{% else %}
<span class="px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300">
</span>
{% endif %}
{% endfor %}
{% if pagination.has_next %}
<a href="{{ url_for(endpoint, page=pagination.next_num, **kwargs) }}" class="px-4 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-r-md hover:bg-gray-50">
Next
</a>
{% else %}
<span class="px-4 py-2 text-sm font-medium text-gray-400 bg-gray-100 border border-gray-300 rounded-r-md cursor-not-allowed">
Next
</span>
{% endif %}
</nav>
</div>
{% endmacro %}