diff --git a/assets/web/app.js b/assets/web/app.js index 0d11b79..f3a7c77 100644 --- a/assets/web/app.js +++ b/assets/web/app.js @@ -110,11 +110,17 @@ tavern.onlogin = (s) => { let game = document.getElementById('game'); login.style.display = 'none'; game.style.display = 'flex'; + document.getElementById('admin-panel-button').style.display = tavern.admin ? 'block' : 'none'; } else { alert("Invalid username or password!"); } } +tavern.onclose = () => { + document.getElementById('game-closed-screen').style.display = 'flex'; + document.getElementById('login-screen').style.display = 'none'; + document.getElementById('game').style.display = 'none'; +} tavern.onmessage = (m) => { console.log(m); let msg = document.createElement('div'); @@ -216,7 +222,31 @@ tavern.onscenelist = (list) => { let div = document.getElementById('scene-list'); div.innerHTML = ''; for (let scene of list.scenes) { - div.innerHTML += ``; + let row = document.createElement('div'); + row.style.display = 'flex'; + row.style.gap = '2px'; + row.style.background = 'transparent'; + row.innerHTML = ``; + if (tavern.admin) { + row.innerHTML += ``; + row.innerHTML += ``; + } + div.appendChild(row); + } +} +tavern.onconnectedplayers = (connected) => { + console.log(connected); + // no reason to update the list of kick players if not an admin + if (tavern.admin) { + let select = document.getElementById('admin-kick-name'); + Array.from(select.children).filter(c => c.tagName == 'OPTION').forEach(c => select.removeChild(c)); + connected.forEach(p => { + let opt = document.createElement('option'); + opt.value = p; + opt.innerText = p; + opt.selected = select.children.length == 0; + select.appendChild(opt); + }); } } function onLoginClick() { diff --git a/assets/web/index.html b/assets/web/index.html index b934326..51c0474 100644 --- a/assets/web/index.html +++ b/assets/web/index.html @@ -8,6 +8,17 @@ + +
@@ -59,9 +70,11 @@
+ style="position: absolute; top: 10px; right: 10px; color: black; z-index: 5; display: flex; flex-direction: row; gap: 4px;"> +
@@ -69,62 +82,80 @@
- - -
- -
-