72 lines
2.3 KiB
JavaScript
72 lines
2.3 KiB
JavaScript
// ===== Cookie Banner =====
|
|
(function() {
|
|
const banner = document.getElementById('cookieBanner');
|
|
const acceptBtn = document.getElementById('cookieAccept');
|
|
if (!banner || !acceptBtn) return;
|
|
|
|
const consent = localStorage.getItem('olyapka_cookies_consent');
|
|
if (!consent) {
|
|
setTimeout(() => banner.classList.add('show'), 800);
|
|
} else {
|
|
banner.classList.add('hidden');
|
|
}
|
|
|
|
acceptBtn.addEventListener('click', function() {
|
|
localStorage.setItem('olyapka_cookies_consent', '1');
|
|
banner.classList.remove('show');
|
|
setTimeout(() => banner.classList.add('hidden'), 400);
|
|
// Goal for Yandex.Metrika
|
|
if (typeof ym !== 'undefined') ym(110606131, 'reachGoal', 'cookie_accept');
|
|
if (typeof gtag !== 'undefined') gtag('event', 'cookie_accept');
|
|
});
|
|
})();
|
|
|
|
// ===== Mobile Menu =====
|
|
(function() {
|
|
const burger = document.getElementById('burger');
|
|
const nav = document.getElementById('nav');
|
|
if (!burger || !nav) return;
|
|
|
|
burger.addEventListener('click', function() {
|
|
burger.classList.toggle('open');
|
|
nav.classList.toggle('open');
|
|
});
|
|
|
|
// Close on link click
|
|
nav.querySelectorAll('.nav-link').forEach(link => {
|
|
link.addEventListener('click', () => {
|
|
burger.classList.remove('open');
|
|
nav.classList.remove('open');
|
|
});
|
|
});
|
|
})();
|
|
|
|
// ===== Goal Tracking (Yandex.Metrika + GA) =====
|
|
(function() {
|
|
document.addEventListener('click', function(e) {
|
|
const target = e.target.closest('[data-goal]');
|
|
if (!target) return;
|
|
const goal = target.getAttribute('data-goal');
|
|
if (!goal) return;
|
|
|
|
// Yandex.Metrika
|
|
if (typeof ym !== 'undefined') {
|
|
try { ym(110606131, 'reachGoal', goal); } catch(err) {}
|
|
}
|
|
// Google Analytics
|
|
if (typeof gtag !== 'undefined') {
|
|
try { gtag('event', goal); } catch(err) {}
|
|
}
|
|
});
|
|
})();
|
|
|
|
// ===== Smooth scroll for anchor links =====
|
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
|
anchor.addEventListener('click', function(e) {
|
|
const target = document.querySelector(this.getAttribute('href'));
|
|
if (target) {
|
|
e.preventDefault();
|
|
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
}
|
|
});
|
|
}); |