// Import smooth scroll functionality import './smooth-scroll.js'; // Video modal functionality let videoButton = null; let videoModal = null; let videoIframe = null; let closeModalButton = null; function openVideoModal() { console.log('Opening video modal...'); if (videoModal) { // Show modal videoModal.classList.remove('hidden'); document.body.style.overflow = 'hidden'; // Set video src with autoplay if (videoIframe) { videoIframe.src = 'https://www.youtube.com/embed/pMh_FNRiXOw?autoplay=1&rel=0&showinfo=0&modestbranding=1'; } } else { console.log('Video modal not found'); } } function closeVideoModal() { console.log('Closing video modal...'); if (videoModal) { videoModal.classList.add('hidden'); document.body.style.overflow = ''; // Stop video by removing src if (videoIframe) { videoIframe.src = ''; } } } function handleVideoButtonClick(event) { console.log('Video button clicked'); event.preventDefault(); event.stopPropagation(); openVideoModal(); } function handleCloseButtonClick(event) { console.log('Close button clicked'); event.preventDefault(); event.stopPropagation(); closeVideoModal(); } function handleModalBackgroundClick(event) { if (event.target === videoModal) { console.log('Modal background clicked'); closeVideoModal(); } } function handleEscapeKey(event) { if (event.key === 'Escape' && videoModal && !videoModal.classList.contains('hidden')) { console.log('Escape key pressed'); closeVideoModal(); } } // Initialize function init() { console.log('Initializing video modal...'); // Initialize smooth scroll if (window.smoothScroll) { window.smoothScroll.init(); } // Wait for DOM to be ready setTimeout(() => { // Get modal elements videoButton = document.querySelector('[data-video-trigger]'); videoModal = document.getElementById('Video_60seg'); videoIframe = document.getElementById('youtubeVideo'); closeModalButton = document.getElementById('closeVideoModal'); console.log('Elements found:', { videoButton: !!videoButton, videoModal: !!videoModal, videoIframe: !!videoIframe, closeModalButton: !!closeModalButton }); // Add event listeners if (videoButton) { videoButton.addEventListener('click', handleVideoButtonClick); console.log('Video button event listener added'); } else { console.log('Video button not found'); } if (closeModalButton) { closeModalButton.addEventListener('click', handleCloseButtonClick); console.log('Close button event listener added'); } if (videoModal) { videoModal.addEventListener('click', handleModalBackgroundClick); console.log('Modal background event listener added'); } // Add escape key listener document.addEventListener('keydown', handleEscapeKey); console.log('Escape key listener added'); }, 100); } // Cleanup function teardown() { console.log('Cleaning up video modal...'); // Teardown smooth scroll if (window.smoothScroll) { window.smoothScroll.teardown(); } // Remove event listeners if (videoButton) { videoButton.removeEventListener('click', handleVideoButtonClick); } if (closeModalButton) { closeModalButton.removeEventListener('click', handleCloseButtonClick); } if (videoModal) { videoModal.removeEventListener('click', handleModalBackgroundClick); } document.removeEventListener('keydown', handleEscapeKey); // Reset body overflow document.body.style.overflow = ''; // Reset iframe if (videoIframe) { videoIframe.src = ''; } } // Export functions export { init, teardown };