Download script.js from Humarga/heroforge-superhero-maker: direct link, hf CLI and curl.
- Browser
- Download file 2.57 kB
-
https://huggingface.co/spaces/Humarga/heroforge-superhero-maker/resolve/main/script.js
- Command line
-
hf download hf://spaces/Humarga/heroforge-superhero-maker/script.js
-
curl -L -o script.js https://huggingface.co/spaces/Humarga/heroforge-superhero-maker/resolve/main/script.js
2.57 kB
| document.addEventListener('DOMContentLoaded', function() { | |
| const uploadContainer = document.getElementById('upload-container'); | |
| const photoUpload = document.getElementById('photo-upload'); | |
| const previewContainer = document.getElementById('preview-container'); | |
| const originalPreview = document.getElementById('original-preview'); | |
| const heroPreview = document.getElementById('hero-preview'); | |
| const controls = document.getElementById('controls'); | |
| const generateBtn = document.getElementById('generate-btn'); | |
| // Handle drag and drop | |
| uploadContainer.addEventListener('dragover', (e) => { | |
| e.preventDefault(); | |
| uploadContainer.classList.add('border-primary', 'bg-gray-700'); | |
| }); | |
| uploadContainer.addEventListener('dragleave', () => { | |
| uploadContainer.classList.remove('border-primary', 'bg-gray-700'); | |
| }); | |
| uploadContainer.addEventListener('drop', (e) => { | |
| e.preventDefault(); | |
| uploadContainer.classList.remove('border-primary', 'bg-gray-700'); | |
| handleFiles(e.dataTransfer.files); | |
| }); | |
| // Handle click to upload | |
| uploadContainer.addEventListener('click', () => { | |
| photoUpload.click(); | |
| }); | |
| // Handle file selection | |
| photoUpload.addEventListener('change', (e) => { | |
| if (e.target.files.length) { | |
| handleFiles(e.target.files); | |
| } | |
| }); | |
| // Process selected files | |
| function handleFiles(files) { | |
| const file = files[0]; | |
| if (file.type.match('image.*')) { | |
| const reader = new FileReader(); | |
| reader.onload = function(e) { | |
| originalPreview.src = e.target.result; | |
| // Generate mock hero preview (in a real app, this would call an API) | |
| heroPreview.src = e.target.result; | |
| previewContainer.classList.remove('hidden'); | |
| controls.classList.remove('hidden'); | |
| // Simulate processing delay | |
| setTimeout(() => { | |
| heroPreview.parentElement.querySelector('.absolute').classList.add('hidden'); | |
| }, 3000); | |
| }; | |
| reader.readAsDataURL(file); | |
| } else { | |
| alert('Please upload an image file.'); | |
| } | |
| } | |
| // Generate button click | |
| generateBtn.addEventListener('click', () => { | |
| // In a real app, this would call an API to generate the transformation video | |
| alert('Generating your superhero transformation video...'); | |
| }); | |
| }); |