document.getElementById('showMilkaButton').addEventListener('click', async function() { try { const milkaModal = document.createElement('div'); milkaModal.className = 'modal-backdrop'; milkaModal.innerHTML = `
`; document.body.appendChild(milkaModal); // Load image with authentication const img = milkaModal.querySelector('.modal-image'); fetch('/api/protected-image?image=milka.jpg', { headers: { 'x-auth': 'milka-authenticated' } }) .then(response => response.blob()) .then(blob => { img.src = URL.createObjectURL(blob); }) .catch(error => { console.error('Error loading image:', error); img.style.display = 'none'; }); const closeModal = () => { document.body.removeChild(milkaModal); document.body.style.overflow = ''; // Restore scroll document.removeEventListener('keydown', handleEscape); // Clean up listener }; milkaModal.querySelector('.modal-close').addEventListener('click', closeModal); milkaModal.addEventListener('click', closeModal); // Close on backdrop click // Prevent scrolling when modal is open document.body.style.overflow = 'hidden'; // Handle escape key const handleEscape = (e) => { if (e.key === 'Escape') { closeModal(); } }; document.addEventListener('keydown', handleEscape); } catch (error) { console.error('Error loading Milka:', error); } });