diff --git a/index.html b/index.html index c32252c..f9960dd 100644 --- a/index.html +++ b/index.html @@ -19,11 +19,12 @@

TEXT:

RANK: - - - - - + + + + + +

diff --git a/jstrr.js b/jstrr.js index e3549a3..c95efa9 100644 --- a/jstrr.js +++ b/jstrr.js @@ -498,7 +498,7 @@ var mode = null; switch (ev.target.id) { case "ranking": mode = null; break; - default: mode = ev.target.id; break; + default: mode = ev.target.id.replace("ranking:", ""); break; } mystate["rankmode"] = mode; var div = document.createElement("div"); @@ -506,7 +506,8 @@ setTimeout(()=>{div.setAttribute("class", "ranking")}, 1000); var p1 = document.createElement("p"); p1.className = "c t"; - p1.innerHTML = ""; + p1.innerHTML = "

"+ + (mode||"Total")+"

"; var p2 = document.createElement("p"); p2.className = "c t"; var b2 = document.createElement("button"); @@ -646,8 +647,8 @@ nmsel = document.querySelector("select[name=name]"); txsel = document.getElementById("text"); loginhead = document.getElementById("loginhead"); - for (let b of ["ranking", "today", "2h", "2w", "byteam", "byteam2h"]) { - if (btn = document.getElementById(b)) + for (let btn of document.querySelectorAll("button")) { + if (btn.id.match(/^ranking/)) btn.addEventListener("click", ranking); } let entry = document.createElement("input"); diff --git a/jtserv/jtserv.rb b/jtserv/jtserv.rb index a7c1f84..3c17fbb 100755 --- a/jtserv/jtserv.rb +++ b/jtserv/jtserv.rb @@ -328,7 +328,7 @@ end return rv end - def ranking(text, mode=nil) + def ranking(text, mode=nil, user=nil) rankbase = <<~EOF SELECT "User", "Team", "Score", "Step", "Try", "Minutes", "Time" UNION @@ -366,6 +366,13 @@ else @db.execute(sprintf(teambase, ""), text) end + when /^inteam/ + return unless user + if limit + @db.execute(sprintf(rankbase, cond2 + " AND at > ?"), text, user, limit) + else + @db.execute(sprintf(rankbase, cond2), text, user) + end else @db.execute(sprintf(rankbase, ""), text) end @@ -499,7 +506,7 @@ elsif json["ranking"] text = json["ranking"] mode = json["mode"] - p rank = db.ranking(text, mode) + p rank = db.ranking(text, mode, user) ws_conn.send(JSON.generate({"ranking": rank, "mode": mode})) elsif json["gettext"] db.updateSkey(user, skey)
TimeSTEP