|
|
|
<% if (pageCnt) { %>
|
|
|
|
<div class="ui center aligned grid">
|
|
|
|
<div class="ui buttons">
|
|
|
|
<a class="ui<% if (page === 1) { %> disabled<% } %> button" href="<%= syzoj.utils.makeUrl(req, Object.assign(req.query, { page: page - 1 })) %>">
|
|
|
|
<i class="left chevron icon"></i>
|
|
|
|
</a>
|
|
|
|
<%
|
|
|
|
let leftCnt = page - 1, rightCnt = pageCnt - page, omitLeft = leftCnt > 4, omitRight = rightCnt > 4;
|
|
|
|
if (omitLeft) leftCnt = 3;
|
|
|
|
if (omitRight) rightCnt = 3;
|
|
|
|
if (omitLeft) {
|
|
|
|
%>
|
|
|
|
<li><span>...</span></li>
|
|
|
|
<%
|
|
|
|
}
|
|
|
|
for (let i = page - leftCnt; i < page; i++) { %>
|
|
|
|
<a class="ui button" href="<%= syzoj.utils.makeUrl(req, Object.assign(req.query, { page: i })) %>"><%= i %></a>
|
|
|
|
<%
|
|
|
|
}
|
|
|
|
%>
|
|
|
|
<a class="ui primary button" href="<%= syzoj.utils.makeUrl(req, Object.assign(req.query, { page: page })) %>"><%= page %></a>
|
|
|
|
<% for (let i = page + 1; i <= page + rightCnt; i++) { %>
|
|
|
|
<a class="ui button" href="<%= syzoj.utils.makeUrl(req, Object.assign(req.query, { page: i })) %>"><%= i %></a>
|
|
|
|
<%
|
|
|
|
}
|
|
|
|
if (omitRight) {
|
|
|
|
%>
|
|
|
|
<li><span>...</span></li>
|
|
|
|
<% } %>
|
|
|
|
<a class="ui<% if (page === pageCnt) { %> disabled<% } %> button" href="<%= syzoj.utils.makeUrl(req, Object.assign(req.query, { page: page + 1 })) %>">
|
|
|
|
<i class="right chevron icon"></i>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<% } %>
|