@@ -406,8 +388,7 @@
Only the last loaded instance of that overlay rolls the
dice!
-
You can configure your Overlay with query parameters (more information at the info element next
- to the link)
+ You can configure your Overlay with query parameters (for more information hover over the link)
Configure your dice
@@ -444,20 +425,20 @@
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('start-container').hidden = true;
+ document.getElementById('options-container').hidden = false;
document.getElementById('dice-tower').hidden = false;
document.getElementById('name').hidden = true;
document.getElementById('room').hidden = true;
- document.getElementById('gm-container').hidden = true;
document.getElementById('how-to').hidden = true;
document.getElementById('results').hidden = false;
document.getElementById('all-results').hidden = !document.getElementById('gm').checked;
document.getElementById('all-results-urls').style.display = document.getElementById('gm').checked ? 'fles' : 'none';
- document.getElementById('nameLabel').innerHTML = '
' + document.getElementById('name').value + '';
- document.getElementById('roomLabel').innerHTML = '
' + document.getElementById('room').value + '';
+ document.getElementById('nameH').innerHTML = '
' + document.getElementById('name').value + '';
+ document.getElementById('roomLabel').hidden = true;
+ document.getElementById('nameLabel').hidden = true;
+ document.getElementById('nameH').hidden = false;
+ document.getElementById('room-hint').innerHTML = 'Room:
' + document.getElementById('room').value + '';
document.getElementById('overlayLabel').innerHTML = 'Dice-Overlay for
' + document.getElementById('name').value + '';
document.title = document.getElementById('name').value + ' - Dice-Tower';
@@ -471,6 +452,9 @@
if (localStorage.getItem(document.getElementById('name').value + "-themeColor")) {
document.getElementById('themeColor').setColor(localStorage.getItem(document.getElementById('name').value + "-themeColor"));
}
+
+ document.getElementById('urls-overlay').showPopover();
+
let httpRequest = new XMLHttpRequest();
httpRequest.open('POST', url() + '/dice/' + document.getElementById('room').value + '/register')
httpRequest.setRequestHeader('Content-Type', 'application/json')
@@ -497,20 +481,18 @@
let newLabel = document.createElement('label');
newLabel.for = data.id + 'url';
newLabel.innerHTML = "Dice-Overlay for
" + data.name + "";
- let newInput = document.createElement('input');
+ let newInput = document.getElementById('overlayId').cloneNode();
newInput.type = "text";
newInput.readOnly = true;
newInput.id = data.id + 'url';
newInput.style.flexGrow = '1';
newInput.value = data.overlay;
newInput.onclick = () => copyToClipboard(newInput.id)
- let hint = document.getElementById('overlay-hint-button').cloneNode(true);
newOverlay.appendChild(newLabel);
newOverlay.appendChild(newInput);
- newOverlay.appendChild(hint);
overlays.appendChild(newOverlay);
}
- showPopover();
+ configurePopover();
});
}
}
@@ -540,21 +522,6 @@
localStorage.setItem(document.getElementById('name').value + "-themeColor", document.getElementById('themeColor').value)
}
- let coll = document.getElementsByClassName("collapsible");
-
- for (let i = 0; i < coll.length; i++) {
- coll[i].addEventListener("click", function () {
- const content = this.nextElementSibling;
- if (content.style.display === "block") {
- content.style.display = "none";
- this.children[0].innerHTML = "
"
- } else {
- content.style.display = "block";
- this.children[0].innerHTML = "
"
- }
- });
- }
-
if (localStorage.getItem('last-name') && localStorage.getItem('last-room')) {
let rejoin = document.createElement('button');
rejoin.id = 'rejoin';
@@ -571,22 +538,22 @@
document.getElementById('start-container').appendChild(rejoin)
}
- function showPopover() {
+ function configurePopover() {
const popover = document.querySelectorAll("[popovertarget][data-trigger='hover']");
popover.forEach((e) => {
const target = document.querySelector("#" + e.getAttribute("popovertarget"));
e.addEventListener("mouseover", () => {
- target.showPopover();
+ showSnackbar(target.innerHTML, true);
});
e.addEventListener("mouseout", () => {
- target.hidePopover();
+ hideSnackbar();
});
});
}
- showPopover();
+ configurePopover();
document.getElementById('resultSwitch').addEventListener('change', function () {
if (!this.checked) {
@@ -610,16 +577,24 @@
showSnackbar("
Link copied to clipboard:
" + copyText.value);
}
- function showSnackbar(message) {
+ function showSnackbar(message, keepOpen = false) {
let snackbar = document.getElementById("snackbar");
let snackbarContainer = document.getElementById("snackbar-container");
snackbar.innerHTML = message;
snackbar.className = "show";
snackbarContainer.className = "show";
- setTimeout(function () {
- snackbar.className = snackbar.className.replace("show", "");
- snackbarContainer.className = snackbarContainer.className.replace("show", "");
- }, 5000);
+ if (!keepOpen) {
+ setTimeout(function () {
+ hideSnackbar();
+ }, 5000);
+ }
+ }
+
+ function hideSnackbar() {
+ let snackbar = document.getElementById("snackbar");
+ let snackbarContainer = document.getElementById("snackbar-container");
+ snackbar.className = snackbar.className.replace("show", "");
+ snackbarContainer.className = snackbarContainer.className.replace("show", "");
}
-