From 85a8ad8217e51201abb64b6190409e09d710ea40 Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 27 Jan 2021 18:42:31 +0000 Subject: [PATCH] added ready button to the result screen --- src/js/script.js | 11 ++++- src/js/tribe.js | 116 ++++++++++++++++++++++++++------------------ src/sass/style.scss | 2 + static/index.html | 10 ++++ 4 files changed, 91 insertions(+), 48 deletions(-) diff --git a/src/js/script.js b/src/js/script.js index e83e562e8..8609c9aff 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -1875,6 +1875,7 @@ function showResult(difficultyFailed = false, mp_outOfTime = false) { if (MP.state >= 10) { $(".pageTest #nextTestButton").addClass("hidden"); $(".pageTest #backToLobbyButton").addClass("hidden"); + $(".pageTest #readyButton").removeClass("hidden"); $(".pageTest #restartTestButtonWithSameWordset").addClass("hidden"); $(".pageTest #goBackToLobbyButton").removeClass("hidden"); $(".pageTest #practiseMissedWordsButton").addClass("hidden"); @@ -1882,10 +1883,12 @@ function showResult(difficultyFailed = false, mp_outOfTime = false) { if (MP.room.isLeader) { $(".pageTest #backToLobbyButton").removeClass("hidden"); $(".pageTest #nextTestButton").removeClass("hidden"); + $(".pageTest #readyButton").addClass("hidden"); } } else { $(".pageTest #nextTestButton").removeClass("hidden"); $(".pageTest #backToLobbyButton").addClass("hidden"); + $(".pageTest #readyButton").addClass("hidden"); $(".pageTest #restartTestButtonWithSameWordset").removeClass("hidden"); $(".pageTest #goBackToLobbyButton").addClass("hidden"); $(".pageTest #practiseMissedWordsButton").removeClass("hidden"); @@ -3271,7 +3274,13 @@ function changePage(page) { $(".page").removeClass("active"); $("#wordsInput").focusout(); if (page == "test" || page == "") { - if (MP.state >= 20 && MP.state <= 29 && !MP.room.isTyping) return; + if ( + MP.state >= 20 && + MP.state <= 29 && + !MP.room.isTyping && + !MP.room.isReady + ) + return; pageTransition = true; swapElements(activePage, $(".page.pageTest"), 250, () => { pageTransition = false; diff --git a/src/js/tribe.js b/src/js/tribe.js index 908c11bd7..884caebd5 100644 --- a/src/js/tribe.js +++ b/src/js/tribe.js @@ -58,6 +58,9 @@ function mp_changeActiveSubpage(newPage) { $(`.pageTribe .${newPage}`), 250, () => { + if (newPage === "lobby") { + $(".pageTribe .lobby .chat .input input").focus(); + } MP.pageTransition = false; MP.activePage = newPage; } @@ -283,52 +286,58 @@ function mp_refreshTestUserList() { $(".tribeResult table tbody").empty(); Object.keys(MP.room.users).forEach((sid) => { - let user = MP.room.users[sid]; - let me = ""; - if (sid === MP.socket.id) { - me = " me"; - } - $(".tribeResult table tbody").append(` - - ${user.name} - - - - -
-
-
-
-
-
-
-
-
-
- - -
-
-
-
-
-
-
-
-
-
- - -
-
-
-
- - -
-
-
+ if ( + MP.room.users[sid].isTyping || + MP.room.users[sid].isReady || + MP.room.users[sid].isLeader + ) { + let user = MP.room.users[sid]; + let me = ""; + if (sid === MP.socket.id) { + me = " me"; + } + $(".tribeResult table tbody").append(` + + ${user.name} + - + + +
+
-
+
-
- - - - `); +
+
-
+
+
+ + +
+
-
+
+
+
+
-
+
+
+ + +
-
+
-
+ + +
+
+
+
+
+ + + + `); + } }); $(".tribeResult").removeClass("hidden"); } @@ -808,6 +817,7 @@ MP.socket.on("mp_room_user_left", (data) => { $(".pageTribe .lobby .lobbyButtons .startTestButton").removeClass("hidden"); $(".pageTribe .lobby .userReadyButton").addClass("hidden"); $(".pageTest #result #backToLobbyButton").removeClass("hidden"); + $(".pageTest #result #readyButton").addClass("hidden"); $(".pageTest #result #nextTestButton").removeClass("hidden"); } mp_refreshUserList(); @@ -899,7 +909,11 @@ MP.socket.on("mp_room_finishTimer_over", (data) => { MP.socket.on("mp_room_test_init", (data) => { mp_refreshTestUserList(); - if (!MP.room.isReady && !MP.room.isLeader) return; + if (!MP.room.isReady && !MP.room.isLeader) { + changePage("tribe"); + mp_changeActiveSubpage("lobby"); + return; + } mp_playSound("start"); MP.room.userGraphs = {}; MP.room.userFinished = false; @@ -1145,6 +1159,7 @@ MP.socket.on("mp_room_points", (data) => { }); MP.socket.on("mp_room_back_to_lobby", (data) => { + $(".tribePlayers").addClass("hidden"); changePage("tribe"); }); @@ -1152,6 +1167,11 @@ MP.socket.on("mp_room_user_info_update", (data) => { Object.keys(data.values).forEach((bool) => { MP.room.users[data.sid][bool] = data.values[bool]; if (data.sid === MP.socket.id) { + if (bool === "isReady" && !data.values[bool] && !MP.room.isLeader) { + $(".pageTribe .lobby .lobbyButtons .userReadyButton").removeClass( + "hidden" + ); + } MP.room[bool] = data.values[bool]; } }); @@ -1334,7 +1354,9 @@ $(".pageTribe .lobby .lobbyButtons .startTestButton").click((e) => { mp_startTest(); }); -$(".pageTribe .lobby .lobbyButtons .userReadyButton").click((e) => { +$( + ".pageTribe .lobby .lobbyButtons .userReadyButton, .pageTest #result #readyButton" +).click((e) => { $(".pageTribe .lobby .lobbyButtons .userReadyButton").addClass("hidden"); MP.socket.emit("mp_user_ready"); }); diff --git a/src/sass/style.scss b/src/sass/style.scss index 82e7013f9..3ba112012 100644 --- a/src/sass/style.scss +++ b/src/sass/style.scss @@ -717,6 +717,7 @@ a:hover { gap: 1rem; } .notif { + user-select: none; .icon { color: var(--bg-color); opacity: 0.5; @@ -2027,6 +2028,7 @@ key { #restartTestButtonWithSameWordset, #nextTestButton, #backToLobbyButton, +#readyButton, #practiseMissedWordsButton, #goBackToLobbyButton { position: relative; diff --git a/static/index.html b/static/index.html index 3e0f7ba40..67580bd6d 100644 --- a/static/index.html +++ b/static/index.html @@ -1402,6 +1402,16 @@
+