add level page to index, slight tweaks

This commit is contained in:
Jill 2023-01-04 12:15:45 +03:00
parent d53a617568
commit 6581d13a45
3 changed files with 3 additions and 2 deletions

View File

@ -37,6 +37,7 @@
<el>
<li>The <a href="https://git.oat.zone/oat/crystal-gauntlet">Git repository</a></li>
<li><a href="/tools/song_upload">Song reuploading</a></li>
<li><a href="/tools/levels">Levels</a></li>
<li><a href="https://oat.zone/f/geometry_dash_gdpstest.oat.zone.zip"><i>Completely legal</i> executable download</a></li>
</el>
</p>

View File

@ -85,7 +85,7 @@
<%- end -%>
</div>
<div class="pagination">
<%- if total_levels > ((page + 1) * levels_per_page) && page > 0 -%>
<%- if page > 0 -%>
<a href="?page=<%= page - 1 %>"><</a>
<%- end -%>
<%- if total_levels > ((page + 1) * levels_per_page) -%>

View File

@ -7,6 +7,6 @@ levels_per_page = 10
CrystalGauntlet.template_endpoints["/tools/levels"] = ->(context : HTTP::Server::Context): String {
page = (context.request.query_params["page"]? || "0").to_i? || 0
total_levels = DATABASE.scalar("select count(*) from levels").as(Int64)
levels = DATABASE.query_all("select levels.id, name, users.username, levels.community_difficulty, levels.difficulty, levels.featured, levels.epic from levels left join users on levels.user_id = users.id limit #{levels_per_page} offset #{page * levels_per_page}", as: {Int32, String, String, Int32?, Int32?, Bool, Bool})
levels = DATABASE.query_all("select levels.id, name, users.username, levels.community_difficulty, levels.difficulty, levels.featured, levels.epic from levels left join users on levels.user_id = users.id order by levels.id desc limit #{levels_per_page} offset #{page * levels_per_page}", as: {Int32, String, String, Int32?, Int32?, Bool, Bool})
ECR.render("./public/template/levels.ecr")
}