From ad6ab2ecab6810e8ecac48aa76ae4ffbfe3929bb Mon Sep 17 00:00:00 2001 From: Julian Appel Date: Tue, 28 May 2024 23:00:32 +0200 Subject: [PATCH] Added sideswitch functionality, cleanup, comments --- scoreboard/controllers/score.js | 9 +++- scoreboard/public/javascripts/admin.js | 5 +-- scoreboard/public/javascripts/indexScore.js | 4 ++ scoreboard/routes/admin.js | 5 ++- scoreboard/views/admin.hbs | 46 +++++++++++++++++++-- 5 files changed, 60 insertions(+), 9 deletions(-) diff --git a/scoreboard/controllers/score.js b/scoreboard/controllers/score.js index 870f1e4..46258f0 100644 --- a/scoreboard/controllers/score.js +++ b/scoreboard/controllers/score.js @@ -21,7 +21,7 @@ function configTeam(team, name, name2, isSpielgemeinschaft) {}; function setScore(team, score) {}; function alterScore(team, dir) {}; function clearScore() {}; -function toggleSwitch() {}; +function toggleSideSwitch() {}; function getEnabled() {}; function getValues() {}; @@ -83,8 +83,11 @@ function clearScore() { } // Toggle sideswitch -function toggleSwitch() { +function toggleSideswitch() { + console.log("Seiten gewechselt"); sideswitch = !sideswitch; + io.sockets.emit('score', print()); + io.sockets.emit('scoreSideswitch', ''); } // Return enabled value @@ -92,6 +95,7 @@ function getEnabled() { return enabled } +// Print current score depending on sideswitch function print() { if(sideswitch) { return teamB.score + ":" + teamA.score @@ -100,6 +104,7 @@ function print() { } } +// Return all important values function getValues() { return { enabled: enabled, diff --git a/scoreboard/public/javascripts/admin.js b/scoreboard/public/javascripts/admin.js index 6ce6bcd..c6b7492 100644 --- a/scoreboard/public/javascripts/admin.js +++ b/scoreboard/public/javascripts/admin.js @@ -68,7 +68,6 @@ async function initialUpdate() { // Request monitor refresh for index frontend async function refreshMonitor() { const response = await fetch("/admin/refreshMonitor"); // Call API Endpoint /admin/timerStart - const data = await response.json(); // Wait for asyncronous transfer to complete } // ###################################################################################################################################################### @@ -160,8 +159,8 @@ async function scoreAlterScore(team, dir) { } // Switch sides -async function scoreSwitch() { - const response = await fetch("/admin/scoreSwitch"); // Call API Endpoint /admin/scoreSwitch +async function scoreToggleSideswitch() { + const response = await fetch("/admin/scoreToggleSideswitch");// Call API Endpoint /admin/scoreSwitch const data = await response.json(); // Wait for asyncronous transfer to complete updateScoreFrontend(data); // Update admin frontend } diff --git a/scoreboard/public/javascripts/indexScore.js b/scoreboard/public/javascripts/indexScore.js index 81ba527..2b54de2 100644 --- a/scoreboard/public/javascripts/indexScore.js +++ b/scoreboard/public/javascripts/indexScore.js @@ -27,6 +27,10 @@ socket.on('score', (message) => { document.getElementById("score").innerHTML = message; // Display score in corresponding html Element }); +socket.on('scoreSideswitch', (message) => { + scoreGetValues(); // Update frontend when sides have been switch (switches team name sides) +}); + // ###################################################################################################################################################### // General functions // ###################################################################################################################################################### diff --git a/scoreboard/routes/admin.js b/scoreboard/routes/admin.js index c76bbeb..02875b7 100644 --- a/scoreboard/routes/admin.js +++ b/scoreboard/routes/admin.js @@ -93,7 +93,10 @@ router.post('/scoreAlterScore', function(req, res, next) { }); // Express router endpoint to switch the score after halftime -router.post('/scoreSwitch', function(req, res, next) { +router.get('/scoreToggleSideswitch', function(req, res, next) { + score.toggleSideswitch(); + res.status(200); + res.json(score.getValues()); }); // Express router endpoint to get important score values diff --git a/scoreboard/views/admin.hbs b/scoreboard/views/admin.hbs index 784eb0a..781588c 100644 --- a/scoreboard/views/admin.hbs +++ b/scoreboard/views/admin.hbs @@ -93,8 +93,8 @@
- - + +
@@ -188,7 +188,47 @@
- + + + + + + + + +