all. The only limit is yourself!
</p>
+ <dialog id="name-dialog">
+ <form method="dialog">
+ <p>
+ <label>Your name:
+ <input id="name" type="text">
+ </label>
+ </p>
+ <div>
+ <button value="cancel">Cancel</button>
+ <button id="confirm" value="default">Confirm</button>
+ </div>
+ </form>
+ </dialog>
+
<p>
<div id="spinner" align="center">
<div class="animate-flicker">
</p>
<audio loop="" src="/zombo_words.mp3" type="audio/mpeg"></audio>
- <button id="mute" class="fade volume">
+ <button id="mute" class="menu-button fade volume">
<div>🔊</div>
<script>
const mute = document.querySelector("#mute");
</button>
+ <button id="profile" class="menu-button">
+ <div>👤</div>
+ </button>
+
</div>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io();
+ const name = document.querySelector("#name");
+ const name_dialog = document.querySelector("#name-dialog");
const images = document.querySelector("#images");
-
const comments = document.querySelector("#comments");
const comment_form = document.querySelector("#comment-form");
const comment = document.querySelector("#comment");
-
const zombo_form = document.querySelector("#zombo-form");
const prompt = document.querySelector("#prompt");
const code = document.querySelector("#code");
-
const safety= document.querySelector("#safety");
-
const spinner = document.querySelector("#spinner");
+ const profile = document.querySelector("#profile");
var spinner_timeout;
+ comment.addEventListener('focus', () => {
+ /* Do nothing if name is already set. */
+ if (name.value)
+ return;
+
+ /* Otherwise, bring up the modal dialog to set the name. */
+ name_dialog.showModal();
+ });
+
+ profile.addEventListener('click', () => {
+ name_dialog.showModal();
+ });
+
+ name_dialog.addEventListener('close', () => {
+ socket.emit('set-name', name.value);
+ });
+
comment_form.addEventListener('submit', function(e) {
e.preventDefault();
if (comment.value) {
comments.appendChild(item);
});
+ socket.on('inform-name', (name) => {
+ console.log("Received inform-name event: " + name);
+ name.value = name;
+ });
+
+ socket.on('reset', () => {
+ images.replaceChildren();
+ });
+
socket.on('image', (image) => {
const figure = document.createElement('figure');
const img = document.createElement('img');