implements rejoin mechanism

This commit is contained in:
Arindy 2025-02-12 02:03:47 +01:00
parent f5dd819c5b
commit d313045005

View File

@ -161,7 +161,7 @@
.checkbox {
position: relative;
padding-left: 100px;
padding-left: 50px;
margin-bottom: 12px;
margin-left: 10px;
cursor: pointer;
@ -180,7 +180,7 @@
}
.checkmark {
margin-left: 75px;
margin-left: 25px;
position: absolute;
top: 0;
left: 0;
@ -266,13 +266,14 @@
required onkeyup="start(event)"/><br/>
<label for="room" id="roomLabel">Room </label><input type="text" id="room" style="width: 50%" required
onkeyup="start(event)"/><br/>
<div>
<div id="start-container" >
<button id="start" onclick="start()" style="align-self: center; margin-top: 20px">Join <i
class="fa-solid fa-right-to-bracket"></i></button>
<label class="checkbox" id="gm-container">Join as GM
<input type="checkbox" id="gm" style="margin-left: 50px">
<input type="checkbox" id="gm" >
<span class="checkmark"></span>
</label>
<br/>
</div>
</div>
<div id="dice-tower" hidden class="w3-panel w3-theme-l4 w3-card w3-display-container"
@ -437,14 +438,15 @@
}
function start(event) {
console.log(document.getElementById('gm').checked)
if ((!event || event.keyCode === 13) && document.getElementById('name').value.length > 0 && document.getElementById('room').value.length > 0) {
document.getElementById('overlayId').value = url() + '/overlay/' + document.getElementById('room').value + ':' + localStorage.getItem('userId') + '?scale=7&clearAfter=30';
document.getElementById('resultsId').value = url() + '/overlay/' + document.getElementById('room').value + '/results';
document.getElementById('myResultsId').value = document.getElementById('resultsId').value + '?name=' + encodeURIComponent(document.getElementById('name').value) + '&user=' + localStorage.getItem('userId');
document.getElementById('resultFrame').src = document.getElementById('myResultsId').value;
document.getElementById('roll').hidden = false;
if (document.getElementById('rejoin')) {
document.getElementById('rejoin').hidden = true;
}
document.getElementById('start').hidden = true;
document.getElementById('dice-tower').hidden = false;
document.getElementById('name').hidden = true;
@ -459,6 +461,10 @@
document.getElementById('overlayLabel').innerHTML = 'Dice-Overlay for <strong>' + document.getElementById('name').value + '</strong>';
document.title = document.getElementById('name').value + ' - Dice-Tower';
localStorage.setItem('last-name', document.getElementById('name').value)
localStorage.setItem('last-room', document.getElementById('room').value)
localStorage.setItem('last-gm', document.getElementById('gm').checked)
if (localStorage.getItem(document.getElementById('name').value + "-theme")) {
document.getElementById('theme').value = localStorage.getItem(document.getElementById('name').value + "-theme")
}
@ -549,6 +555,22 @@
});
}
if (localStorage.getItem('last-name') && localStorage.getItem('last-room')) {
let rejoin = document.createElement('button');
rejoin.id = 'rejoin';
rejoin.style.alignSelf = 'center';
rejoin.style.marginTop = '20px';
rejoin.style.marginRight = '20px';
rejoin.innerHTML = 'Rejoin as <strong>' + (localStorage.getItem('last-gm') === 'true' ? 'GM ' : '') + localStorage.getItem('last-name') + '</strong> in <strong>' + localStorage.getItem('last-room') + '</strong> <i class="fa-solid fa-right-to-bracket"></i>'
rejoin.onclick = () => {
document.getElementById('name').value = localStorage.getItem('last-name');
document.getElementById('room').value = localStorage.getItem('last-room');
document.getElementById('gm').checked = localStorage.getItem('last-gm') === 'true';
start();
}
document.getElementById('start-container').appendChild(rejoin)
}
function showPopover() {
const popover = document.querySelectorAll("[popovertarget][data-trigger='hover']");