templates/vehicle_tip/tip.html.twig line 1
<section class="tips-box"><header class="tips-box__header"><h2>Doporučené vozy</h2></header><div class="tips-box__items">{% for t in vehicleTips %}{% include 'vehicle_tip/_tipCard.html.twig' with {vehicle: t.vehicle,compact: true,autanetPartnerId: t.autanetPartner ? t.autanetPartner.id : null,recommendedPlacement: 'R02',recommendedPageContext: pageContext} only %}{% endfor %}</div></section><script>(function () {const items = document.querySelectorAll('[data-recommended-placement="R02"][data-recommended-vehicle-id][data-autanet-partner-id][data-recommended-page-context]');if (!items.length|| !window.AutanetAnalytics|| typeof window.AutanetAnalytics.withIdentity !== 'function') {return;}function sendRecommendedEvent(item, eventType) {const vehicleId = item.dataset.recommendedVehicleId;const partnerId = item.dataset.autanetPartnerId;const pageContext = item.dataset.recommendedPageContext;if (!vehicleId || !partnerId || !pageContext) {return;}window.AutanetAnalytics.withIdentity(function (identity) {if (!identity) {return;}const formData = new FormData();formData.append('event_type', eventType);formData.append('vehicle_id', vehicleId);formData.append('partner_id', partnerId);formData.append('placement', 'R02');formData.append('page_context', pageContext);formData.append('device',window.matchMedia('(max-width: 766px)').matches? 'mobile': 'desktop');formData.append('visitor_key', identity.visitorKey);formData.append('session_key', identity.sessionKey);formData.append('pageview_key', identity.pageviewKey);fetch('{{ path('app_analytics_event') }}', {method: 'POST',body: formData,keepalive: true}).catch(function () {});}, 5000);}items.forEach(function (item) {item.addEventListener('click', function () {sendRecommendedEvent(item, 'recommended_vehicle_click');});});if (typeof window.IntersectionObserver !== 'function') {return;}const impressionTimers = new Map();const trackedVehicleIds = new Set();function clearImpressionTimer(vehicleId) {const timer = impressionTimers.get(vehicleId);if (timer) {clearTimeout(timer);impressionTimers.delete(vehicleId);}}const observer = new IntersectionObserver(function (entries) {entries.forEach(function (entry) {const item = entry.target;const vehicleId = item.dataset.recommendedVehicleId;if (!vehicleId || trackedVehicleIds.has(vehicleId)) {return;}if (entry.isIntersecting && entry.intersectionRatio >= 0.5) {if (impressionTimers.has(vehicleId)) {return;}const timer = setTimeout(function () {impressionTimers.delete(vehicleId);if (trackedVehicleIds.has(vehicleId)) {return;}trackedVehicleIds.add(vehicleId);sendRecommendedEvent(item, 'recommended_vehicle_impression');}, 1000);impressionTimers.set(vehicleId, timer);return;}clearImpressionTimer(vehicleId);});}, {threshold: [0, 0.5, 1]});items.forEach(function (item) {observer.observe(item);});})();</script>