Spaces:
Running
Running
File size: 1,736 Bytes
24d2987 |
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 |
document.addEventListener('DOMContentLoaded', () => {
// Initialize editor functionality
const editorCanvas = document.getElementById('editor-canvas');
// Drag and drop functionality
editorCanvas.addEventListener('dragover', (e) => {
e.preventDefault();
editorCanvas.classList.add('border-lime-500', 'bg-lime-50');
});
editorCanvas.addEventListener('dragleave', () => {
editorCanvas.classList.remove('border-lime-500', 'bg-lime-50');
});
editorCanvas.addEventListener('drop', (e) => {
e.preventDefault();
editorCanvas.classList.remove('border-lime-500', 'bg-lime-50');
// Handle dropped files
const file = e.dataTransfer.files[0];
if (file && file.type.match('image.*')) {
const reader = new FileReader();
reader.onload = (event) => {
editorCanvas.innerHTML = `<img src="${event.target.result}" class="max-h-full max-w-full object-contain">`;
};
reader.readAsDataURL(file);
}
});
// File input handler
document.getElementById('upload-btn')?.addEventListener('click', () => {
const input = document.createElement('input');
input.type = 'file';
input.accept = 'image/*';
input.onchange = (e) => {
const file = e.target.files[0];
if (file) {
const reader = new FileReader();
reader.onload = (event) => {
editorCanvas.innerHTML = `<img src="${event.target.result}" class="max-h-full max-w-full object-contain">`;
};
reader.readAsDataURL(file);
}
};
input.click();
});
}); |