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();
    });
});