4 Commits

Author SHA1 Message Date
codinget 17e4d233d2 feat: add possibility to reset the entire app 2023-12-28 23:34:19 +01:00
codinget 5319296eb1 Merge pull request #2 from natnat-mc/build/npm
add package json
2023-12-28 22:55:40 +01:00
codinget d7422d3885 Merge pull request #1 from natnat-mc/fix/mixed-content
fixed mixed content that prevents the game from running on https
2023-12-28 22:54:13 +01:00
codinget ab53f5ac2a fixed mixed content that prevents the game from running on https 2023-12-23 22:35:25 +01:00
3 changed files with 45 additions and 3 deletions
+31 -1
View File
@@ -20,8 +20,33 @@ let anyObjections = false;
const teamsList = ["Players","Chasers"] const teamsList = ["Players","Chasers"]
const teamsScore = [0,0]; const teamsScore = [0,0];
let currentTeamNumber = 0; let currentTeamNumber = 0;
let sockets = []
async function resetApp() {
console.log("resetting app")
io.emit("resetApp")
Object.keys(options).forEach(x => delete options[x])
userMap.clear()
buzzInfo.splice(0, buzzInfo.length)
idkList.splice(0, buzzInfo.length)
Object.keys(userMap).forEach(x => delete userMap[x])
Object.keys(userInfo).forEach(x => delete userInfo[x])
anyObjections = false
teamsList.splice(0, buzzInfo.length, "Players", "Chasers")
teamsScore.splice(0, teamsScore.length, 0, 0)
currentTeamNumber = 0
const oldSockets = sockets
sockets = []
await new Promise(ok => setTimeout(ok, 1000))
oldSockets.forEach(x => x.disconnect(true))
oldSockets.splice(0, oldSockets.length)
}
io.on("connection", (socket) => { io.on("connection", (socket) => {
console.log("a user connected"); console.log("a user connected");
sockets.push(socket)
socket.on("disconnect", () => { socket.on("disconnect", () => {
console.log("user disconnected"); console.log("user disconnected");
@@ -135,6 +160,11 @@ app.get("/browserFunctions.js", (request, response) => {
response.sendFile("/browserFunctions.js", {root: __dirname }); response.sendFile("/browserFunctions.js", {root: __dirname });
}); });
app.post("/reset", (request, response) => {
resetApp()
response.redirect("/")
});
//all files in these folders can be accessed with a GET request of the filename //all files in these folders can be accessed with a GET request of the filename
let assetFolders = ["styles","pages","images","images/buzzers","audio","fonts"]; let assetFolders = ["styles","pages","images","images/buzzers","audio","fonts"];
assetFolders.forEach((folderName) => { assetFolders.forEach((folderName) => {
@@ -144,4 +174,4 @@ assetFolders.forEach((folderName) => {
response.sendFile(folderName+"/"+fileName, {root: __dirname }); response.sendFile(folderName+"/"+fileName, {root: __dirname });
}); });
}); });
}); });
+8 -1
View File
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="styleMain.css"> <link rel="stylesheet" href="styleMain.css">
<script src="browserFunctions.js"></script> <script src="browserFunctions.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="http:/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
var socket = io(); var socket = io();
@@ -59,6 +59,10 @@
socket.on("clearObjectionToClient", () => { socket.on("clearObjectionToClient", () => {
clearObjectionToClient(); clearObjectionToClient();
}); });
socket.on("resetApp", () => {
location.href = "/";
});
}); });
</script> </script>
</head> </head>
@@ -92,5 +96,8 @@
<ul></ul> <ul></ul>
</div> </div>
</div> </div>
<form action="/reset" method="POST">
<button type="submit">Reset the whole app (disconnects everyone)</button>
</form>
</body> </body>
</html> </html>
+6 -1
View File
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="styleMain.css"> <link rel="stylesheet" href="styleMain.css">
<script src="browserFunctions.js"></script> <script src="browserFunctions.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="http:/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@@ -265,6 +265,11 @@
buzzerSoundsOn = !buzzerSoundsOn; buzzerSoundsOn = !buzzerSoundsOn;
console.log("buzzerSoundsOn: "+buzzerSoundsOn); console.log("buzzerSoundsOn: "+buzzerSoundsOn);
} }
socket.on("resetApp", () => {
socket.disconnect(true);
location.href = "/";
});
}); });
</script> </script>
</head> </head>