diff --git a/index.html b/index.html
index c32252c..f9960dd 100644
--- a/index.html
+++ b/index.html
@@ -19,11 +19,12 @@
TEXT:
RANK:
-
-
-
-
-
+
+
+
+
+
+
| Time | | STEP | |
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)