first commit
This commit is contained in:
		
							
								
								
									
										192
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,192 @@ | ||||
| <html> | ||||
|   <head> | ||||
|     <title>Mutant</title> | ||||
|     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | ||||
|     <link rel="shortcut icon" href="guy.png?v=1" type="image/x-icon"> | ||||
|     <style> | ||||
|       body, html { | ||||
|         font-family: sans-serif; | ||||
|         background-color: black; | ||||
|         text-align: center; | ||||
|         color: #FF2D40; | ||||
|       } | ||||
|  | ||||
|       #image { | ||||
|         padding-top: 20px; | ||||
|         max-height: 600px; | ||||
|         max-width: 600px; | ||||
|       } | ||||
|  | ||||
|       #form { | ||||
|         display: block; | ||||
|         padding-top: 20px; | ||||
|       } | ||||
|  | ||||
|       #info { | ||||
|         padding-top: 10px; | ||||
|         padding-bottom: 10px; | ||||
|       } | ||||
|  | ||||
|       .inline { | ||||
|         display: inline-block; | ||||
|       } | ||||
|  | ||||
|       .button { | ||||
|         cursor: pointer; | ||||
|         transition: text-shadow 250ms; | ||||
|       } | ||||
|  | ||||
|       .button:hover { | ||||
|         text-shadow: 0 0 12px white; | ||||
|       } | ||||
|  | ||||
|       .numb { | ||||
|         width: 8em; | ||||
|       } | ||||
|        | ||||
|       .recaptcha_widget { | ||||
|         display: inline-block; | ||||
|       } | ||||
|     </style> | ||||
|      | ||||
|     <script src="https://www.google.com/recaptcha/api.js" async defer></script> | ||||
|  | ||||
|     <script> | ||||
|       let recaptcha_checked = false | ||||
|  | ||||
|       function recaptcha_callback() { | ||||
| 				recaptcha_checked = true | ||||
| 			} | ||||
|  | ||||
|       window.onload = function() { | ||||
|         document.getElementById('form').onsubmit = function() { | ||||
|             return check_form() | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       function check_form() { | ||||
|         if (!recaptcha_checked) { | ||||
|           return false | ||||
|         } | ||||
|  | ||||
|         let ok = false | ||||
|  | ||||
|         for(let item of Array.from(document.querySelectorAll(".check_effect"))) { | ||||
|           if(item.checked) { | ||||
|             ok = true | ||||
|             break | ||||
|           } | ||||
|         } | ||||
|  | ||||
|         if(!ok) { | ||||
|           alert("No effects selected.") | ||||
|           return false | ||||
|         } | ||||
|  | ||||
|         let num_files = 0 | ||||
|  | ||||
|         for(let file of Array.from(document.querySelectorAll(".file"))) { | ||||
|           if(file.value) { | ||||
|             num_files += 1 | ||||
|           } | ||||
|         } | ||||
|  | ||||
|         console.log(num_files) | ||||
|  | ||||
|         if(num_files == 0) { | ||||
|           alert("No file selected.") | ||||
|           return false | ||||
|         } | ||||
|  | ||||
|         let submit = document.querySelector("#submit") | ||||
|         submit.value = "Uploading" | ||||
|         submit.disabled = true; | ||||
|       } | ||||
|  | ||||
|       function on_file_select(evt) { | ||||
|         console.log("Updating image") | ||||
|  | ||||
|         let files = evt.target.files | ||||
|  | ||||
|         if(files.length == 0) { | ||||
|           return | ||||
|         } | ||||
|  | ||||
|         let f = files[0] | ||||
|  | ||||
|         if (!f.type.match('image.*')) { | ||||
|           return | ||||
|         } | ||||
|  | ||||
|         let reader = new FileReader() | ||||
|  | ||||
|         reader.onload = (function(tf) { | ||||
|           return function(e) { | ||||
|             document.querySelector('#image').src = e.target.result | ||||
|           } | ||||
|         })(f); | ||||
|  | ||||
|         reader.readAsDataURL(f) | ||||
|       } | ||||
|  | ||||
|       function select_all() { | ||||
|         for(let item of Array.from(document.querySelectorAll('.check_effect'))) { | ||||
|           item.checked = true; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       function unselect_all() { | ||||
|         for(let item of Array.from(document.querySelectorAll('.check_effect'))) { | ||||
|           item.checked = false; | ||||
|         } | ||||
|       } | ||||
|  | ||||
|       function default_delay() { | ||||
|         document.querySelector('#delay').value = 250 | ||||
|       } | ||||
|  | ||||
|       function clear_file(n) { | ||||
|         document.querySelector(`#file_${n}`).value = "" | ||||
|       } | ||||
|     </script> | ||||
|   </head> | ||||
|   <body> | ||||
|     <div id='info'>Turn images into gifs<br>Provide at least 1 image</div> | ||||
|     <img src='guy.png' id='image'> | ||||
|     <form id='form' method='post' action='upload.php' enctype="multipart/form-data"> | ||||
|       <br> | ||||
|       <div class='inline button' onclick='clear_file(1)'>Remove</div>   | ||||
|       <input type='file' id='file_1' class='file' name='image_1' accept="image/*"><br><br> | ||||
|       <div class='inline button' onclick='clear_file(2)'>Remove</div>   | ||||
|       <input type='file' id='file_2' class='file' name='image_2' accept="image/*"><br><br> | ||||
|       <div class='inline button' onclick='clear_file(3)'>Remove</div>   | ||||
|       <input type='file' id='file_3' class='file' name='image_3' accept="image/*"><br><br> | ||||
|       <div class='inline button' onclick='clear_file(4)'>Remove</div>   | ||||
|       <input type='file' id='file_4' class='file' name='image_4' accept="image/*"><br><br><br> | ||||
|  | ||||
|       <div class="recaptcha_widget g-recaptcha" data-sitekey="6LcrUsoeAAAAAGVg1HQFTO0RDuVCidJo70cKSH7O" data-callback="recaptcha_callback"></div> | ||||
|  | ||||
|       <br><br><br> | ||||
|        | ||||
|       <input type='submit' id='submit' value='Mutate'> | ||||
|  | ||||
|       <br><br><br> | ||||
|       Glitch <input class='check_effect' type='checkbox' name='effect_1' checked>    | ||||
|       Wave <input class='check_effect' type='checkbox' name='effect_2' checked>    | ||||
|       Mirror <input class='check_effect' type='checkbox' name='effect_3' checked>    | ||||
|       Static <input class='check_effect' type='checkbox' name='effect_4' checked> <br> | ||||
|       Glow <input class='check_effect' type='checkbox' name='effect_5' checked>    | ||||
|       Glass <input class='check_effect' type='checkbox' name='effect_6' checked>    | ||||
|       Color <input class='check_effect' type='checkbox' name='effect_7' checked>    | ||||
|       Chalk <input class='check_effect' type='checkbox' name='effect_8' checked>    | ||||
|       <br><br> | ||||
|       <div class='inline button' onclick='select_all()'>Select All</div>  |  | ||||
|       <div class='inline button' onclick='unselect_all()'>Unselect All</div> | ||||
|       <br><br><br> | ||||
|       Delay between frames (ms): <input type='number' min='10' max='10000' value='250' class='numb' id='delay' name='delay'> | ||||
|       <br><br> | ||||
|       <div class='inline button' onclick='default_delay()'>Default</div> | ||||
|       <br><br> | ||||
|     </form> | ||||
|   </body> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user
	 Auric Vente
					Auric Vente