diff --git a/open-leaderboard-server.py b/open-leaderboard-server.py index a00667d..bad5046 100755 --- a/open-leaderboard-server.py +++ b/open-leaderboard-server.py @@ -74,9 +74,10 @@ def leaderboard(): start = flask.request.args.get(PARAM_START) page = flask.request.args.get("page") + # intentional double if, page is supposed to overwrite start # if start: start = int(start) - elif page: + if page: start = SEGMENT * int(page) else: start = 0 diff --git a/static/buttons.js b/static/buttons.js index 5ba62f8..3ccf0e2 100644 --- a/static/buttons.js +++ b/static/buttons.js @@ -44,3 +44,17 @@ function firstPage(){ window.location.href = href.split(parameterSeperator)[0] } } + +/* input fields */ +var gotoRankInputField = document.getElementById("gotoRank"); +gotoRankInputField.addEventListener("keyup", function(event) { + if (event.key == "Enter") { + event.preventDefault(); + var url = new URL(window.location.href) + var rank = gotoRankInputField.value + var page = Math.trunc((rank - 1)/100) + url.searchParams.set("page", page) + url.searchParams.set("goto", rank) + window.location.href = url.href + } +}); diff --git a/templates/base.html b/templates/base.html index 9cf9781..623a341 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,7 +1,7 @@
- +