bug fixes

This commit is contained in:
adrian
2025-12-15 20:45:41 +01:00
parent de6f6252c2
commit c432390984
6 changed files with 62 additions and 20 deletions

View File

@ -145,7 +145,7 @@ app.get("/api/reset/:sessionId", (req, res) => {
const { sessionId } = req.params;
db.run(`UPDATE "${sessionId}" SET state = 0 WHERE state = 1`);
db.run(`UPDATE "${sessionId}" SET ready = 0 WHERE ready = 1`);
//db.run(`UPDATE "${sessionId}" SET ready = 0 WHERE ready = 1`);
db.run(`UPDATE words SET inUse = 0 WHERE inUse = 1`);
return res.status(201).json({ success: true });
});

View File

@ -6,20 +6,20 @@ show_user()
async function show_user() {
const res = await fetch(`/api/user/${sessionId}`);
const users = await res.json();
//todo: der check ob es schon einen imposter gibt sollte auf dem Server stattfinden!
const allUsers = users.map((u) => u.state);
if (allUsers.every((v) => v === 0)) {
createImposter();
async function createImposter() {
const res = await fetch(`/api/${sessionId}/${username}/createImposter`);
var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
getImposter();
}
}else {
var imposterStatus = getImposter(); //var für globale variable, muss in dieser funktion sein wegen komischer race condition bug
getImposter();
}
}
//const imposterStatus = getImposter();
async function getImposter() {
const res = await fetch(`/api/${sessionId}/${username}/getImposter`);
const stateObj = await res.json();
@ -30,20 +30,14 @@ async function getImposter() {
if (state == 1) {
console.log("du bist imposter");
ImposterStateDiv.textContent = "Du bist der Imposter!";
return true;
getWords(true);
} else {
console.log("du bist kein imposter");
ImposterStateDiv.textContent = "Du bist kein Imposter!";
return false;
getWords(false);
}
}
// Initialisierung: await getImposter(), dann getWords aufrufen
async function init() {
const imposterStatus = await getImposter();
await getWords(imposterStatus);
}
init();
async function getWords(imposterStatus) {
const res = await fetch(`/api/getWords`);

Binary file not shown.

View File

@ -6,17 +6,18 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Imposter</title>
</head>
<body>
<body>
<h1 class="heading">IMPOSTER</h1>
<div>
<input id="username" placeholder="username">
<input id="session_id" placeholder = "session_id">
<button onclick="re_direct()">send</button>
<input id="username" class="username" placeholder="username">
<input id="session_id" class="session_id" placeholder = "session_id">
<button class ="joinButton"onclick="re_direct()">beitren</button>
</div>
<div>
<!-- <div>
<input id="word" placeholder="word">
<input id="imposterWord" placeholder="Imposter Wort">
<button onclick="addWord()">Wörter hinzufügen</button>
</div>
</div> -->
<script src="index.js"></script>
</body>
</html>

View File

@ -7,7 +7,8 @@
background-color: white;
border-radius: 5px;
border-width: 4px;
max-width: 100px;
max-width: fit-content;
min-width: 100px;
margin: 5px auto;
font-size: 30px;

View File

@ -1,3 +1,49 @@
body {
background-color: #09161E;
}
.username {
display: flex;
justify-content: center;
background-color: white;
border-radius: 5px;
border-width: 4px;
max-width: fit-content;
min-width: 100px;
margin: 5px auto;
font-size: 30px;
}
.session_id {
display: flex;
justify-content: center;
background-color: white;
border-radius: 5px;
border-width: 4px;
max-width: fit-content;
min-width: 100px;
margin: 5px auto;
font-size: 30px;
}
.joinButton {
display: flex;
justify-content: center;
background-color: white;
border: 2px solid #ccc;
border-radius: 5px;
border-width: 4px;
max-width: fit-content;
margin: 100px auto;
font-size: 30px;
}
.heading {
display: flex;
justify-content: center;
font-size: 50px;
color: white;
}