{#- Shared pager for every list view, fed by `Paged::inject`.
Deliberately outside whatever `{% if rows %}` block the caller
wraps its table in: when the links lived inside the non-empty
branch, a page past the end rendered no navigation at all and only
a URL edit escaped it.
`page_marks` is `Paginator::get_elided_page_range`, so a long list
renders `1 … 7 8 9 … 42` rather than forty links. -#}
{% if total_pages > 1 %}
{% if has_prev %}
← Previous
{% else %}
← Previous
{% endif %}
{% for mark in page_marks %}
{% if mark.ellipsis %}
…
{% elif mark.number == page %}
{{ mark.number }}
{% else %}
{{ mark.number }}
{% endif %}
{% endfor %}
{% if has_next %}
Next →
{% else %}
Next →
{% endif %}
{{ total }} total
{% endif %}