| {% 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 %} | |