Compare commits
2 Commits
4c904551dc
...
865c5433a9
| Author | SHA1 | Date | |
|---|---|---|---|
| 865c5433a9 | |||
| 83231a085d |
41
owe.js
41
owe.js
@ -55,6 +55,29 @@ async function loadConfig() {
|
||||
});
|
||||
}
|
||||
|
||||
function getUsernameFromCookie() {
|
||||
// Split the document.cookie string into individual cookie key-value pairs
|
||||
var cookies = document.cookie.split(';').map(cookie => cookie.trim());
|
||||
|
||||
// Loop through the cookies to find the 'owe_user' cookie
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var cookie = cookies[i];
|
||||
if (cookie.startsWith('owe_user=')) {
|
||||
// Extract the username from the 'owe_user' cookie
|
||||
return decodeURIComponent(cookie.substring('owe_user='.length));
|
||||
}
|
||||
}
|
||||
|
||||
// Return null if the 'owe_user' cookie is not set
|
||||
return null;
|
||||
}
|
||||
|
||||
function deleteUsernameCookie() {
|
||||
// Set the 'owe_user' cookie to expire by setting its expiration date to a time in the past
|
||||
document.cookie = 'owe_user=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=.;';
|
||||
}
|
||||
|
||||
|
||||
function onReloadClicked() {
|
||||
loadSentences();
|
||||
document.querySelector("#but-reload").style.visibility = "hidden";
|
||||
@ -228,16 +251,34 @@ async function getLastTimeFromArchive(archiveFileUrl) {
|
||||
}
|
||||
}
|
||||
|
||||
function logoutUser() {
|
||||
deleteUsernameCookie();
|
||||
initializeLoginArea(); // Reload everything in the login area
|
||||
}
|
||||
|
||||
async function initializeLoginArea() {
|
||||
var loginArea = document.getElementById('login_area');
|
||||
|
||||
var sendButton = document.getElementById('sendbut');
|
||||
sendButton.style.display = "unset"
|
||||
var wordInput = document.getElementById('wordinput');
|
||||
wordInput.disabled = false;
|
||||
|
||||
// Use async/await to wait for the result of getNextPlayer
|
||||
try {
|
||||
var loggedInPlayer = getUsernameFromCookie();
|
||||
var nextPlayer = await getNextPlayer();
|
||||
var relative_time = await getTimeSinceLast();
|
||||
// Clear the login area
|
||||
loginArea.innerHTML = "";
|
||||
if (loggedInPlayer != null) {
|
||||
loginArea.innerHTML += "Du bist angemeldet als " + loggedInPlayer + "."
|
||||
loginArea.innerHTML += " <button onclick='logoutUser()'>abmelden</button><br>\n";
|
||||
if (loggedInPlayer != nextPlayer) {
|
||||
sendButton.style.display = "none";
|
||||
wordInput.disabled = true;
|
||||
}
|
||||
}
|
||||
loginArea.innerHTML += nextPlayer + " ist dran!<br>\n";
|
||||
|
||||
var days = Math.floor(relative_time / (3600 * 24));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user