From d29526a3ff90cf9d6425e9d2dc5d0b6e2a3193cc Mon Sep 17 00:00:00 2001 From: Miodec Date: Tue, 2 Mar 2021 00:35:47 +0000 Subject: [PATCH] added consistency to the leaderboard, updated the layout of the leaderboard --- functions/index.js | 19 +- src/js/leaderboards.js | 106 +++++++---- src/sass/style.scss | 20 ++- static/index.html | 398 +++++++++++++++++++---------------------- 4 files changed, 297 insertions(+), 246 deletions(-) diff --git a/functions/index.js b/functions/index.js index 4acc3c020..259b7966c 100644 --- a/functions/index.js +++ b/functions/index.js @@ -866,7 +866,9 @@ function validateResult(result) { } } - if (result.wpm.filter((w) => w > 400).length > 0) return false; + if (result.chartData.wpm !== undefined) { + if (result.chartData.wpm.filter((w) => w > 400).length > 0) return false; + } if (result.consistency < 25) return false; @@ -2041,6 +2043,9 @@ class Leaderboard { wpm: parseFloat(entry.wpm), raw: parseFloat(entry.raw), acc: parseFloat(entry.acc), + consistency: isNaN(parseInt(entry.consistency)) + ? "-" + : parseInt(entry.consistency), mode: entry.mode, mode2: parseInt(entry.mode2), timestamp: entry.timestamp, @@ -2117,6 +2122,9 @@ class Leaderboard { wpm: parseFloat(a.wpm), raw: parseFloat(a.rawWpm), acc: parseFloat(a.acc), + consistency: isNaN(parseInt(a.consistency)) + ? "-" + : parseInt(a.consistency), mode: a.mode, mode2: parseInt(a.mode2), timestamp: a.timestamp, @@ -2132,6 +2140,9 @@ class Leaderboard { wpm: parseFloat(a.wpm), raw: parseFloat(a.rawWpm), acc: parseFloat(a.acc), + consistency: isNaN(parseInt(a.consistency)) + ? "-" + : parseInt(a.consistency), mode: a.mode, mode2: parseInt(a.mode2), timestamp: a.timestamp, @@ -2148,6 +2159,9 @@ class Leaderboard { wpm: parseFloat(a.wpm), raw: parseFloat(a.rawWpm), acc: parseFloat(a.acc), + consistency: isNaN(parseInt(a.consistency)) + ? "-" + : parseInt(a.consistency), mode: a.mode, mode2: parseInt(a.mode2), timestamp: a.timestamp, @@ -2164,6 +2178,9 @@ class Leaderboard { wpm: parseFloat(a.wpm), raw: parseFloat(a.rawWpm), acc: parseFloat(a.acc), + consistency: isNaN(parseInt(a.consistency)) + ? "-" + : parseInt(a.consistency), mode: a.mode, mode2: parseInt(a.mode2), timestamp: a.timestamp, diff --git a/src/js/leaderboards.js b/src/js/leaderboards.js index 2a7feb6a9..aae4afd83 100644 --- a/src/js/leaderboards.js +++ b/src/js/leaderboards.js @@ -95,7 +95,7 @@ function updateLeaderboards() { $("#leaderboardsWrapper table.daily tfoot").html(`

- Not qualified + Not qualified

`); @@ -112,11 +112,24 @@ function updateLeaderboards() { ${dindex + 1} You - ${entry.wpm.toFixed(2)} - ${entry.raw.toFixed(2)} - ${entry.acc.toFixed(2)}% - ${entry.mode} ${entry.mode2} - ${moment(entry.timestamp).format("DD MMM YYYY
HH:mm")} + ${entry.wpm.toFixed( + 2 + )}
${entry.acc.toFixed(2)}%
+ ${entry.raw.toFixed( + 2 + )}
${ + entry.consistency === "-" + ? "-" + : entry.consistency.toFixed(2) + "%" + }
+ ${entry.mode}
${ + entry.mode2 + }
+ ${moment(entry.timestamp).format( + "DD MMM YYYY" + )}
${moment(entry.timestamp).format( + "HH:mm" + )}
`); } @@ -126,11 +139,20 @@ function updateLeaderboards() { dindex === 0 ? '' : dindex + 1 } ${entry.name} - ${entry.wpm.toFixed(2)} - ${entry.raw.toFixed(2)} - ${entry.acc.toFixed(2)}% - ${entry.mode} ${entry.mode2} - ${moment(entry.timestamp).format("DD MMM YYYY
HH:mm")} + ${entry.wpm.toFixed( + 2 + )}
${entry.acc.toFixed(2)}%
+ ${entry.raw.toFixed(2)}
${ + entry.consistency === "-" ? "-" : entry.consistency.toFixed(2) + "%" + }
+ ${entry.mode}
${ + entry.mode2 + }
+ ${moment(entry.timestamp).format( + "DD MMM YYYY" + )}
${moment(entry.timestamp).format( + "HH:mm" + )}
`); dindex++; @@ -144,11 +166,10 @@ function updateLeaderboards() { ${i + 1} - - - - - - - - - - -
- + - + - + - + -
- `); } @@ -157,7 +178,7 @@ function updateLeaderboards() { $("#leaderboardsWrapper table.global tfoot").html(`

- Not qualified + Not qualified

`); @@ -174,11 +195,24 @@ function updateLeaderboards() { ${index + 1} You - ${entry.wpm.toFixed(2)} - ${entry.raw.toFixed(2)} - ${entry.acc.toFixed(2)}% - ${entry.mode} ${entry.mode2} - ${moment(entry.timestamp).format("DD MMM YYYY
HH:mm")} + ${entry.wpm.toFixed( + 2 + )}
${entry.acc.toFixed(2)}%
+ ${entry.raw.toFixed( + 2 + )}
${ + entry.consistency === "-" + ? "-" + : entry.consistency.toFixed(2) + "%" + }
+ ${entry.mode}
${ + entry.mode2 + }
+ ${moment(entry.timestamp).format( + "DD MMM YYYY" + )}
${moment(entry.timestamp).format( + "HH:mm" + )}
`); } @@ -188,11 +222,20 @@ function updateLeaderboards() { index === 0 ? '' : index + 1 } ${entry.name} - ${entry.wpm.toFixed(2)} - ${entry.raw.toFixed(2)} - ${entry.acc.toFixed(2)}% - ${entry.mode} ${entry.mode2} - ${moment(entry.timestamp).format("DD MMM YYYY
HH:mm")} + ${entry.wpm.toFixed( + 2 + )}
${entry.acc.toFixed(2)}% + ${entry.raw.toFixed(2)}
${ + entry.consistency === "-" ? "-" : entry.consistency.toFixed(2) + "%" + }
+ ${entry.mode}
${ + entry.mode2 + }
+ ${moment(entry.timestamp).format( + "DD MMM YYYY" + )}
${moment(entry.timestamp).format( + "HH:mm" + )}
`); index++; @@ -206,11 +249,10 @@ function updateLeaderboards() { ${i + 1} - - - - - - - - - - -
- + - + - + - + -
- `); } diff --git a/src/sass/style.scss b/src/sass/style.scss index 590f5cca3..0fca8a8a3 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -254,6 +254,14 @@ a:hover { margin-bottom: 2rem; font-size: 0.8rem; + .sub { + opacity: 0.5; + } + + .alignRight { + text-align: right; + } + .titleAndTable { display: grid; @@ -287,7 +295,7 @@ a:hover { } td { - padding: 0.25rem 0.5rem; + padding: 0.5rem 0.5rem; &.me { color: var(--main-color); @@ -305,6 +313,7 @@ a:hover { position: -webkit-sticky; position: sticky; top: 0; + z-index: 99; } } @@ -327,6 +336,15 @@ a:hover { z-index: 4; } } + + tr { + td:first-child { + padding-left: 1rem; + } + td:last-child { + padding-right: 1rem; + } + } } } diff --git a/static/index.html b/static/index.html index c359db4a7..e076a5859 100644 --- a/static/index.html +++ b/static/index.html @@ -177,24 +177,30 @@ - + - - - - - + + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + +
## namewpmrawacctestdate + wpm +
+
accuracy
+
+ raw +
+
consistency
+
testdate
- ----- + --- -
- @@ -203,11 +209,10 @@
- ----- + --- -
- @@ -216,11 +221,10 @@
- ----- + --- -
- @@ -229,11 +233,10 @@
- ----- + --- -
- @@ -242,11 +245,10 @@
- ----- + --- -
- @@ -255,11 +257,10 @@
- ----- + --- -
- @@ -268,11 +269,10 @@
- ----- + --- -
- @@ -281,11 +281,10 @@
- ----- + --- -
- @@ -294,11 +293,10 @@
- ----- + --- -
- @@ -307,11 +305,10 @@
- ----- + --- -
- @@ -320,11 +317,10 @@
- ----- + --- -
- @@ -333,11 +329,10 @@
- ----- + --- -
- @@ -346,11 +341,10 @@
- ----- + --- -
- @@ -359,11 +353,10 @@
- ----- + --- -
- @@ -372,11 +365,10 @@
- ----- + --- -
- @@ -385,11 +377,10 @@
- ----- + --- -
- @@ -398,11 +389,10 @@
- ----- + --- -
- @@ -411,11 +401,10 @@
- ----- + --- -
- @@ -424,11 +413,10 @@
- ----- + --- -
- @@ -437,11 +425,10 @@
- ----- + --- -
- @@ -473,24 +460,30 @@ - + - - - - - + + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + + - - - - - + + +
## namewpmrawacctestdate + wpm +
+
accuracy
+
+ raw +
+
consistency
+
testdate
- ----- + --- -
- @@ -499,11 +492,10 @@
- ----- + --- -
- @@ -512,11 +504,10 @@
- ----- + --- -
- @@ -525,11 +516,10 @@
- ----- + --- -
- @@ -538,11 +528,10 @@
- ----- + --- -
- @@ -551,11 +540,10 @@
- ----- + --- -
- @@ -564,11 +552,10 @@
- ----- + --- -
- @@ -577,11 +564,10 @@
- ----- + --- -
- @@ -590,11 +576,10 @@
- ----- + --- -
- @@ -603,11 +588,10 @@
- ----- + --- -
- @@ -616,11 +600,10 @@
- ----- + --- -
- @@ -629,11 +612,10 @@
- ----- + --- -
- @@ -642,11 +624,10 @@
- ----- + --- -
- @@ -655,11 +636,10 @@
- ----- + --- -
- @@ -668,11 +648,10 @@
- ----- + --- -
- @@ -681,11 +660,10 @@
- ----- + --- -
- @@ -694,11 +672,10 @@
- ----- + --- -
- @@ -707,11 +684,10 @@
- ----- + --- -
- @@ -720,11 +696,10 @@
- ----- + --- -
- @@ -733,11 +708,10 @@
- ----- + --- -
-