From 5f2dcecab3e06fe3794950fdbc2e8347197b421c Mon Sep 17 00:00:00 2001 From: Jack Date: Fri, 3 Jul 2020 19:30:05 +0100 Subject: [PATCH] added leaderboards skeleton --- public/css/style.scss | 85 +++++++++++++ public/index.html | 249 ++++++++++++++++++++++++++++++++++++++ public/js/leaderboards.js | 36 ++++++ public/js/script.js | 8 +- 4 files changed, 376 insertions(+), 2 deletions(-) create mode 100644 public/js/leaderboards.js diff --git a/public/css/style.scss b/public/css/style.scss index 7d91543dd..300550c1a 100644 --- a/public/css/style.scss +++ b/public/css/style.scss @@ -154,6 +154,91 @@ a:hover { } } +#leaderboardsWrapper { + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.75); + position: fixed; + left: 0; + top: 0; + z-index: 1000; + display: grid; + justify-content: center; + align-items: center; + padding: 5rem 0; + + #leaderboards { + width: 75vw; + background: var(--bg-color); + border-radius: var(--roundness); + padding: 2rem; + display: grid; + gap: 1rem; + grid-template-rows: auto auto 1fr; + grid-template-areas: "title buttons" + "tables tables"; + grid-template-columns: 1fr 1fr; + + .mainTitle { + font-size: 3rem; + line-height: 3rem; + grid-area: title; + } + + .title { + font-size: 2rem; + line-height: 2rem; + } + + .tables { + grid-area: tables; + display: grid; + gap: 1rem; + grid-template-columns: 1fr 1fr; + + table { + width: 100%; + border-spacing: 0; + border-collapse: collapse; + + td { + padding: .25rem .5rem; + } + + thead { + color: var(--sub-color); + font-size: .75rem; + } + + tbody { + color: var(--text-color); + + tr:nth-child(odd) td { + background: rgba(0, 0, 0, .1); + } + } + } + } + + .buttons { + grid-area: buttons; + display: -ms-grid; + display: grid; + gap: 1rem; + grid-template-columns: 1fr 1fr; + align-self: center; + + .buttonGroup { + display: grid; + grid-auto-flow: column; + gap: 1rem; + + } + } + } +} + + #tagsWrapper { width: 100%; height: 100%; diff --git a/public/index.html b/public/index.html index ce9cb2aa8..4a503cc26 100644 --- a/public/index.html +++ b/public/index.html @@ -52,6 +52,249 @@
+
+
+
+ Leaderboards +
+
+
+
words
+
time
+
+
+
10
+
100
+
+ +
+
+
+
+ Overall +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#namewpmrawacctestdate
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
+
+
+
+ Daily (30-05-2020) +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#namewpmrawacctestdate
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
1jack10011095words10now
+
+
+
+
+
+
+ +
+
@@ -832,6 +1080,7 @@ + diff --git a/public/js/leaderboards.js b/public/js/leaderboards.js new file mode 100644 index 000000000..df8d7b7c5 --- /dev/null +++ b/public/js/leaderboards.js @@ -0,0 +1,36 @@ +function showLeaderboards() { + if ($("#leaderboardsWrapper").hasClass("hidden")) { + $("#leaderboardsWrapper") + .stop(true, true) + .css("opacity", 0) + .removeClass("hidden") + .animate( + { + opacity: 1, + }, + 125 + ); + } +} + +function hideLeaderboards() { + $("#leaderboardsWrapper") + .stop(true, true) + .css("opacity", 1) + .animate( + { + opacity: 0, + }, + 100, + () => { + $("#leaderboardsWrapper").addClass("hidden"); + } + ); + focusWords(); +} + +$("#leaderboardsWrapper").click((e) => { + if ($(e.target).attr("id") === "leaderboardsWrapper") { + hideLeaderboards(); + } +}); diff --git a/public/js/script.js b/public/js/script.js index a834cd12f..19ad539ac 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -1979,8 +1979,12 @@ $(document).on("click", "#top .config .mode .text-button", (e) => { $(document).on("click", "#top #menu .icon-button", (e) => { if ($(e.currentTarget).hasClass("discord")) return; - href = $(e.currentTarget).attr("href"); - changePage(href.replace("/", "")); + if ($(e.currentTarget).hasClass("leaderboards")) { + showLeaderboards(); + } else { + href = $(e.currentTarget).attr("href"); + changePage(href.replace("/", "")); + } }); $(window).on("popstate", (e) => {