summaryrefslogtreecommitdiff
path: root/libretube-theme/templates/pagination.html
blob: ec9949868c118dfa99f2d9c49f64529327399253 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{% if DEFAULT_PAGINATION %}
    <nav class="mt-5">
        <ul class="pagination pagination-circle pg-red justify-content-center">

            <!-- Previous -->
            {% if articles_page.has_previous() %}
                <li class="page-item">
                    <a href="{{ SITEURL }}/{{ articles_previous_page.url }}" class="page-link" aria-label="Previous">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
            {% else %}
                <li class="page-item disabled">
                    <a class="page-link" aria-label="Previous">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
            {% endif %}
            <!-- /Previous -->

            {% for num in range(1, 1 + articles_paginator.num_pages) %}
                {% set print_number = False %}
                {% set dots_before = True %}
                {% if num == 1 %}
                    {% set print_number = True %}
                    {% set dots_before = False %}
                {% elif (articles_page.number - PAGINATOR_LIMIT / 2) <= num < (articles_page.number - PAGINATOR_LIMIT / 2 + 1) %}
                    {% set print_number = True %}
                    {% if num == 2 %}
                        {% set dots_before = False %}
                    {% endif %}
                {% elif (articles_page.number - PAGINATOR_LIMIT / 2 + 1) <= num <= (articles_page.number + PAGINATOR_LIMIT / 2) %}
                    {% set print_number = True %}
                    {% set dots_before = False %}
                {% elif num == articles_paginator.num_pages %}
                    {% set print_number = True %}
                    {% if (articles_page.number + PAGINATOR_LIMIT / 2) <= num <= (articles_page.number + PAGINATOR_LIMIT / 2 + 1)%}
                        {% set dots_before = False %}
                    {% endif %}
                {% endif %}
                {% if print_number %}
                    {% if dots_before %}
                        <li><span class="pagination-ellipsis">&hellip;</span></li>
                    {% endif %}
                    {% if num == articles_page.number %}
                        <li class="page-item active">
                            <a class="page-link"
                               aria-label="Page {{ num }}">{{ num }}</a>
                        </li>
                    {% else %}

                        <li class="page-item">
                            <a class="page-link" aria-label="Goto page {{ num }}"
                               href="{{ SITEURL }}/{{ articles_paginator.page(num).url }}">{{ num }}
                            </a>
                        </li>
                    {% endif %}
                {% endif %}
            {% endfor %}

            <!-- Next -->
            {% if articles_page.has_next() %}
                <li class="page-item">
                    <a href="{{ SITEURL }}/{{ articles_next_page.url }}" class="page-link" aria-label="Next">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
            {% else %}
                <li class="page-item disabled">
                    <a class="page-link" aria-label="Next">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
            {% endif %}
            <!-- /Next -->
        </ul>
    </nav>
{% endif %}