diff options
| author | rubenwardy <rw@rubenwardy.com> | 2020-07-10 22:08:52 +0100 |
|---|---|---|
| committer | rubenwardy <rw@rubenwardy.com> | 2020-07-10 22:08:52 +0100 |
| commit | 660b813ff7e549ebbe969ea9d0e97ed9079a7169 (patch) | |
| tree | 056b376593834a7c62bff6b9e06d19ad600228e7 /app/templates | |
| parent | ba3b1082394d12b206d10b3b183f5f41a0e2c4de (diff) | |
| download | cheatdb-660b813ff7e549ebbe969ea9d0e97ed9079a7169.tar.xz | |
Fix pagination losing query arguments
Fixes #205
Diffstat (limited to 'app/templates')
| -rw-r--r-- | app/templates/macros/pagination.html | 29 | ||||
| -rw-r--r-- | app/templates/packages/list.html | 20 |
2 files changed, 33 insertions, 16 deletions
diff --git a/app/templates/macros/pagination.html b/app/templates/macros/pagination.html new file mode 100644 index 0000000..acef4e7 --- /dev/null +++ b/app/templates/macros/pagination.html @@ -0,0 +1,29 @@ +{% macro render_pagination(pagination, url_builder) %} + <ul class="pagination mt-4"> + {% set prev_url = url_builder(pagination.prev_num) if pagination.has_prev %} + {% set next_url = url_builder(pagination.next_num) if pagination.has_next %} + + <li class="page-item {% if not prev_url %}disabled{% endif %}"> + <a class="page-link" {% if prev_url %}href="{{ prev_url }}"{% endif %}>«</a> + </li> + + {%- for page in pagination.iter_pages() %} + {% if page %} + <li class="page-item {% if page == pagination.page %}active{% endif %}"> + <a class="page-link" + href="{{ url_builder(page) }}"> + {{ page }} + </a> + </li> + {% else %} + <li class="page-item disabled"> + &ellipsis; + </li> + {% endif %} + {%- endfor %} + + <li class="page-item {% if not next_url %}disabled{% endif %}"> + <a class="page-link" {% if next_url %}href="{{ next_url }}"{% endif %}>»</a> + </li> + </div> +{% endmacro %} diff --git a/app/templates/packages/list.html b/app/templates/packages/list.html index 057fe22..8f3a595 100644 --- a/app/templates/packages/list.html +++ b/app/templates/packages/list.html @@ -23,22 +23,10 @@ {% from "macros/packagegridtile.html" import render_pkggrid %} {{ render_pkggrid(packages) }} - <ul class="pagination mt-4"> - <li class="page-item {% if not prev_url %}disabled{% endif %}"> - <a class="page-link" {% if prev_url %}href="{{ prev_url }}"{% endif %}>«</a> - </li> - {% for n in range(1, page_max+1) %} - <li class="page-item {% if n == page %}active{% endif %}"> - <a class="page-link" - href="{{ url_for('packages.list_all', type=type, q=query, page=n) }}"> - {{ n }} - </a> - </li> - {% endfor %} - <li class="page-item {% if not next_url %}disabled{% endif %}"> - <a class="page-link" {% if next_url %}href="{{ next_url }}"{% endif %}>»</a> - </li> - </ul> + + {% from "macros/pagination.html" import render_pagination %} + {{ render_pagination(pagination, url_builder) }} + {% if topics %} <h2 style="margin-top:2em;">More content from the forums</h2> |
