Spaces:
Running
Running
File size: 2,277 Bytes
a9fdd2c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | document.addEventListener('DOMContentLoaded', function() {
const fileUpload = document.getElementById('file-upload');
const uploadArea = document.querySelector('.border-dashed');
// Handle file upload click
uploadArea.addEventListener('click', () => {
fileUpload.click();
});
// Handle file selection
fileUpload.addEventListener('change', function(e) {
if (this.files && this.files[0]) {
const file = this.files[0];
if (file.type.match('image.*')) {
// In a real app, this would upload the file
showUploadSuccess(file.name);
} else {
alert('Please select an image file');
}
}
});
// Drag and drop functionality
uploadArea.addEventListener('dragover', (e) => {
e.preventDefault();
uploadArea.classList.add('border-purple-400');
});
uploadArea.addEventListener('dragleave', () => {
uploadArea.classList.remove('border-purple-400');
});
uploadArea.addEventListener('drop', (e) => {
e.preventDefault();
uploadArea.classList.remove('border-purple-400');
if (e.dataTransfer.files && e.dataTransfer.files[0]) {
const file = e.dataTransfer.files[0];
if (file.type.match('image.*')) {
fileUpload.files = e.dataTransfer.files;
showUploadSuccess(file.name);
} else {
alert('Please drop an image file');
}
}
});
function showUploadSuccess(filename) {
// In a real app, this would show a preview
alert(`File "${filename}" selected successfully! In a real app, this would upload and process your image.`);
}
});
// Add some interactive elements
document.addEventListener('DOMContentLoaded', function() {
// Add hover effects to cards
const cards = document.querySelectorAll('.bg-gray-800/50');
cards.forEach(card => {
card.addEventListener('mouseenter', function() {
this.style.transform = 'translateY(-5px)';
});
card.addEventListener('mouseleave', function() {
this.style.transform = 'translateY(0)';
});
});
}); |