mirror of
https://github.com/Dvorinka/PPve.git
synced 2026-06-04 12:32:59 +00:00
s
This commit is contained in:
+42
-28
@@ -742,49 +742,63 @@ window.fetch = async function(resource, init = {}) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Image handling - Drag and Drop functionality
|
// Image handling - Drag and Drop functionality
|
||||||
const dragDropArea = document.getElementById('dragDropArea');
|
let dragDropArea, uploadImageBtn, bannerImage;
|
||||||
const uploadImageBtn = document.getElementById('uploadImageBtn');
|
|
||||||
const bannerImage = document.getElementById('bannerImage');
|
|
||||||
|
|
||||||
// Click on drag area to select file
|
|
||||||
dragDropArea.addEventListener('click', function() {
|
|
||||||
bannerImage.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Click on upload button to select file
|
|
||||||
uploadImageBtn.addEventListener('click', function() {
|
|
||||||
bannerImage.click();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Prevent default behavior for drag events
|
// Prevent default behavior for drag events
|
||||||
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
|
|
||||||
dragDropArea.addEventListener(eventName, preventDefaults, false);
|
|
||||||
});
|
|
||||||
|
|
||||||
function preventDefaults(e) {
|
function preventDefaults(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Visual feedback when dragging over the area
|
// Visual feedback when dragging over the area
|
||||||
['dragenter', 'dragover'].forEach(eventName => {
|
|
||||||
dragDropArea.addEventListener(eventName, highlight, false);
|
|
||||||
});
|
|
||||||
|
|
||||||
['dragleave', 'drop'].forEach(eventName => {
|
|
||||||
dragDropArea.addEventListener(eventName, unhighlight, false);
|
|
||||||
});
|
|
||||||
|
|
||||||
function highlight() {
|
function highlight() {
|
||||||
dragDropArea.classList.add('dragover');
|
if (dragDropArea) dragDropArea.classList.add('dragover');
|
||||||
}
|
}
|
||||||
|
|
||||||
function unhighlight() {
|
function unhighlight() {
|
||||||
dragDropArea.classList.remove('dragover');
|
if (dragDropArea) dragDropArea.classList.remove('dragover');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize drag and drop functionality
|
||||||
|
function initDragAndDrop() {
|
||||||
|
dragDropArea = document.getElementById('dragDropArea');
|
||||||
|
uploadImageBtn = document.getElementById('uploadImageBtn');
|
||||||
|
bannerImage = document.getElementById('bannerImage');
|
||||||
|
|
||||||
|
if (!dragDropArea || !uploadImageBtn || !bannerImage) return;
|
||||||
|
|
||||||
|
// Click on drag area to select file
|
||||||
|
dragDropArea.addEventListener('click', function() {
|
||||||
|
bannerImage.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Click on upload button to select file
|
||||||
|
uploadImageBtn.addEventListener('click', function() {
|
||||||
|
bannerImage.click();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Prevent default behavior for drag events
|
||||||
|
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
|
||||||
|
dragDropArea.addEventListener(eventName, preventDefaults, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Visual feedback when dragging over the area
|
||||||
|
['dragenter', 'dragover'].forEach(eventName => {
|
||||||
|
dragDropArea.addEventListener(eventName, highlight, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
['dragleave', 'drop'].forEach(eventName => {
|
||||||
|
dragDropArea.addEventListener(eventName, unhighlight, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Handle dropped files
|
||||||
|
dragDropArea.addEventListener('drop', handleDrop, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize when DOM is loaded
|
||||||
|
document.addEventListener('DOMContentLoaded', initDragAndDrop);
|
||||||
|
|
||||||
// Handle dropped files
|
// Handle dropped files
|
||||||
dragDropArea.addEventListener('drop', handleDrop, false);
|
|
||||||
|
|
||||||
function handleDrop(e) {
|
function handleDrop(e) {
|
||||||
const dt = e.dataTransfer;
|
const dt = e.dataTransfer;
|
||||||
|
|||||||
Reference in New Issue
Block a user