async function loadCompanyData() { try { const response = await fetch('/api/config'); const data = await response.json(); // Заполняем контакты в шапке const headerContacts = document.querySelector('.contacts-header'); if (headerContacts) { const phonesHtml = data.phones.map(phone => `${phone}`).join(' | '); headerContacts.innerHTML = `
📞 ${phonesHtml}
✉️ ${data.email}
`; } // Заполняем футер const footerAddress = document.getElementById('footer-address'); if (footerAddress) footerAddress.innerText = data.address; const footerEmail = document.getElementById('footer-email'); if (footerEmail) footerEmail.innerHTML = `${data.email}`; const footerPhones = document.getElementById('footer-phones'); if (footerPhones) { // Добавляем иконку 📞 перед каждым номером footerPhones.innerHTML = data.phones.map(p => `📞 ${p}`).join('
'); } const disclaimerDiv = document.getElementById('disclaimer-text'); if (disclaimerDiv) { disclaimerDiv.innerHTML = `

${data.disclaimer1}

${data.disclaimer2}

`; } } catch (err) { console.error('Ошибка загрузки конфигурации:', err); } } document.addEventListener('DOMContentLoaded', loadCompanyData); // Scroll Animations function initScrollAnimations() { const animateElements = document.querySelectorAll('.animate-on-scroll, .animate-left, .animate-right, .animate-scale'); const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { const delay = entry.target.dataset.delay || 0; setTimeout(() => { entry.target.classList.add('animated'); }, parseInt(delay)); observer.unobserve(entry.target); } }); }, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }); animateElements.forEach(el => observer.observe(el)); } document.addEventListener('DOMContentLoaded', () => { initScrollAnimations(); });