// Main JavaScript for the Keyword Analysis Platform // Initialize any page-specific functionality document.addEventListener('DOMContentLoaded', () => { // Handle contact form submission const contactForm = document.getElementById('contact-form'); if (contactForm) { contactForm.addEventListener('submit', (e) => { e.preventDefault(); // In a real application, this would send the form data to a server // For now, we'll just show a success message showAlert('您的消息已发送!我们将尽快回复您。', 'success'); contactForm.reset(); }); } // Handle newsletter subscription const newsletterForm = document.getElementById('newsletter-form'); if (newsletterForm) { newsletterForm.addEventListener('submit', (e) => { e.preventDefault(); // In a real application, this would subscribe the user to a newsletter // For now, we'll just show a success message showAlert('感谢订阅我们的通讯!', 'success'); newsletterForm.reset(); }); } // Initialize tooltips const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); tooltipTriggerList.map(function (tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); // Initialize popovers const popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')); popoverTriggerList.map(function (popoverTriggerEl) { return new bootstrap.Popover(popoverTriggerEl); }); }); // Show alert message (if not defined in auth.js) if (typeof showAlert !== 'function') { function showAlert(message, type = 'info') { const alertContainer = document.createElement('div'); alertContainer.className = `alert alert-${type} alert-dismissible fade show position-fixed top-0 start-50 translate-middle-x mt-3`; alertContainer.style.zIndex = '9999'; alertContainer.innerHTML = ` ${message} `; document.body.appendChild(alertContainer); // Auto dismiss after 5 seconds setTimeout(() => { alertContainer.classList.remove('show'); setTimeout(() => alertContainer.remove(), 300); }, 5000); } }