]> git.cworth.org Git - zombocom-ai/blobdiff - index.html
Fix a mix-up of "code" vs. "seed"
[zombocom-ai] / index.html
index 8214163c8d399c1d4a42c3ed91790feac528eeb9..fb8cbc0d3a7f52006518d8c1baf172378a50b843 100644 (file)
 </head>
 
 <body>
-  <div align="center">
+  <div id="content">
+
+    <div id="header" align="center">
+      <p>
+        <br>
+      </p>
+
+      <p>
+        <img src="/zombocom.png" alt="Zombocom" longdesc="http://zombo.com" width="1199" height="217">
+      </p>
+    </div>
+
     <p>
-      <br>
+      Welcome to Zombocom. You can do anything at Zombocom, anything at
+      all. The only limit is yourself!
     </p>
 
     <p>
-      <img src="/zombocom.png" alt="Zombocom" longdesc="http://zombo.com" width="1199" height="217">
+      <form action="" id="zombo-form">
+        <div class="form-row large">
+          <label for="prompt">
+            What do you imagine?
+          </label>
+          <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:
+            </label>
+            <input id="code" type="text" autocomplete="off" placeholder="(Leave blank for random)" />
+          </div>
+        </div>
+
+        <div class="form-row small right">
+          <button id="safety" class="right" type="button">Safety prompt</button>
+        </div>
+
+        <div class="form-row large">
+          <button id="generate" type="submit">Make the infinite possible</button>
+        </div>
+      </form>
     </p>
-  </div>
 
-  <p>
-    Welcome to Zombocom.
-  </p>
-
-  <p>
-    You can do anything at Zombcom, anything at all.
-  </p>
-
-  <p>
-    The only limit is yourself.
-  </p>
-
-  <p>
-    What do you imagine?
-
-    <form id="form" action="">
-      <input id="prompt" autocomplete="off" />
-      <input id="code" />
-      <button>Safety prompt</button>
-      <button>Make the infinite possible</button>
-    </form>
-  </p>
-
-  <div align="center">
-   <div class="animate-flicker">
-     <p>
-       <img src="/pngwheel.png" class="rotate thefade">
-     </p>
-   </div>
-  </div>
+    <div id="images">
+    </div>
+
+    <ul id="comments">
+    </ul>
+
+    <p>
+      <form action="" id="comment-form">
+        <input id="comment" type="text" style="width:100%" autocomplete="off" placeholder="Add a comment" />
+      </form>
+    </p>
+
+    <div align="center">
+      <div class="animate-flicker">
+        <p>
+          <img src="/pngwheel.png" class="rotate thefade">
+        </p>
+      </div>
+    </div>
 
-  <audio loop="" src="/zombo_words.mp3" type="audio/mpeg"></audio>
-  <button id="mute" class="fade volume">
-    <div>🔊</div>
-    <script>
+    <audio loop="" src="/zombo_words.mp3" type="audio/mpeg"></audio>
+    <button id="mute" class="fade volume">
+      <div>🔊</div>
+      <script>
 const mute = document.querySelector("#mute");
 const icon = document.querySelector("#mute > div");
 const audio = document.querySelector("audio");
@@ -71,8 +95,68 @@ mute.addEventListener("click", () => {
   }
   mute.classList.add("fade");
 });
-    </script>
+      </script>
+
+    </button>
+
+  </div>
+
+  <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');
+        const prompt_text = document.createTextNode(`Prompt: ${image.prompt}`);
+        p_prompt.appendChild(prompt_text);
+        const p_code = document.createElement('p');
+        const code_text = document.createTextNode(`Code: ${image.code}`);
+        p_code.appendChild(code_text);
+        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;
+    });
 
-  </button>
+  </script>
 </body>
 </html>