+
+ <script src="/socket.io/socket.io.js"></script>
+ <script>
+ var socket = io();
+
+ 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");
+
+ comment_form.addEventListener('submit', function(e) {
+ e.preventDefault();
+ if (comment.value) {
+ socket.emit('comment', comment.value);
+ comment.value = '';
+ }
+ });
+
+ socket.on('comment', function(msg) {
+ var item = document.createElement('li');
+ item.textContent = msg;
+ comments.appendChild(item);
+ });
+
+ socket.on('image', (image) => {
+ const img = document.createElement('img');
+ img.src = image.filename;
+ const p_prompt = document.createElement('p');
+ p_prompt.innerHtml = `Prompt: ${image.prompt}`;
+ const p_code = document.createElement('p');
+ p_code.innerHtml = `Code: ${image.code}`;
+ images.appendChild(img);
+ images.appendChild(p_prompt);
+ images.appendChild(p_code);
+ });
+
+ zombo_form.addEventListener('submit', function(e) {
+ e.preventDefault();
+ socket.emit('generate', {"prompt": prompt.value, "code": code.value});
+ prompt.value = '';
+ });
+
+ // TODO: Dynamically generate many different prompts here
+ safety.addEventListener("click", () => {
+ prompt.value = "Matte painting of a Samurai warrior";
+ return false;
+ });
+
+ </script>