<!--
    分页模块

    @param  path       '/path/page/n' 中的 `/path` 需要保留 `/`
    @param  pageInfo   Halo类型UrlContextListResult<ListedPostVo>
    @param  isIndex    是否主页
    @param  _param     参数
 -->
<nav id="pagination" th:fragment="page(path,pageInfo,isIndex,_param)">
    <div class="pagination" th:with="paths = ${isIndex ? path+'/' : path}">

        <!-- 页码按钮 -->
        <th:block th:if="${pageInfo.page > 3}">
            <a class="page-number" th:href="${paths}" th:text="1" onclick="scrollToPost()"></a>
            <span class="space" th:if="${pageInfo.page != 4}">…</span>
        </th:block>

        <th:block th:each="index:${#numbers.sequence(pageInfo.page-2,pageInfo.page+2)}">
            <span class="page-number current" th:if="${pageInfo.page} == ${index}" th:text="${pageInfo.page}"></span>
            <a class="page-number" th:unless="${pageInfo.page == index}"
               th:if="${index > 0 && index <= pageInfo.totalPages}"
               th:href="${#strings.equals(index, '1') ? paths + _param : path+'/page/'+index  + _param}"
               th:text="${index}"
               onclick="scrollToPost()"></a>
        </th:block>

        <th:block th:if="${pageInfo.totalPages - pageInfo.page > 2}">
            <span class="space" th:if="${pageInfo.totalPages - pageInfo.page != 3}">…</span>
            <a class="page-number"
               th:href="${path+'/page/'+pageInfo.totalPages+_param}"
               th:text="${pageInfo.totalPages}"
               onclick="scrollToPost()"></a>
        </th:block>
        <!-- 翻页按钮 -->
        <a class="extend prev" rel="prev"
           th:if="${pageInfo.hasPrevious}"
           th:href="${pageInfo.prevUrl}"
           onclick="scrollToPost()">
            <i class="haofont hao-icon-chevron-left fa-fw"></i>
            <div class="pagination_tips_prev">上页</div>
        </a>

        <a class="extend next"
           rel="next" th:if="${pageInfo.hasNext}"
           th:href="${pageInfo.nextUrl}"
           onclick="scrollToPost()">
            <div class="pagination_tips_next">下页</div>
            <i class="haofont hao-icon-chevron-right fa-fw"></i>
        </a>
        <div th:if="${pageInfo.totalPages > 1}" class="toPageGroup">
            <input id="toPageText" maxlength="3" title="跳转到指定页面"
                   oninput="value=value.replace(/[^0-9]/g,'')"
                   onkeyup="if (this.value === '0') this.value = ''">
            <a id="toPageButton" onclick="heo.toPage();"><i class="haofont hao-icon-angles-right"></i>
            </a>
        </div>

        <script th:if="${theme.config.top.above.enable_above}">
            function scrollToPost() {
                if (document.querySelector(".pl-container")) {
                    setTimeout(() => {
                        btf.scrollToDest(window.innerHeight, 500);
                    }, 1000)
                }
            }
        </script>
        <script th:unless="${theme.config.top.above.enable_above}">
            function scrollToPost() {
            }
        </script>

    </div>
</nav>
