]> git.cworth.org Git - zombocom-ai/blobdiff - index.html
Replay previous images to a client when it first connects
[zombocom-ai] / index.html
index 931efa6c327f18e1dd65dc150709b3f48ff88729..83afa86e19aaa418a21fbc1825141cdfb52756c6 100644 (file)
           <label for="prompt">
             What do you imagine?
           </label>
-          <textarea id="prompt" rows="4" width="100%" autocomplete="off" required>
-          </textarea>
+          <textarea id="prompt" rows="4" width="100%" autocomplete="off" required></textarea>
         </div>
 
         <div class="form-row small left">
           <div class="labeled-row">
             <label for="code">
-              Numeric code: 
+              Numeric code:
             </label>
             <input id="code" type="text" autocomplete="off" placeholder="(Leave blank for random)" />
           </div>
 
         <div class="form-row small right">
           <button id="safety" class="right" type="button">Safety prompt</button>
-          <script>
-            const prompt = document.querySelector("#prompt");
-            const safety= document.querySelector("#safety");
-            // TODO: Dynamically generate many different prompts here
-            safety.addEventListener("click", () => {
-                prompt.value = "Matte painting of a Samurai warrior";
-                return false;
-            })
-          </script>
         </div>
 
         <div class="form-row large">
@@ -66,6 +56,9 @@
       </form>
     </p>
 
+    <div id="images">
+    </div>
+
     <ul id="comments">
     </ul>
 
@@ -112,11 +105,19 @@ mute.addEventListener("click", () => {
   <script>
     var socket = io();
 
-    var comments = document.querySelector("#comments");
-    var form = document.querySelector("#comment-form");
-    var comment = document.querySelector("#comment");
+    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");
 
-    form.addEventListener('submit', function(e) {
+    const safety= document.querySelector("#safety");
+
+    comment_form.addEventListener('submit', function(e) {
         e.preventDefault();
         if (comment.value) {
             socket.emit('comment', comment.value);
@@ -129,6 +130,31 @@ mute.addEventListener("click", () => {
         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>
 </body>
 </html>