/* Add custom Js styles below */ (function(){ // النص المطلوب var TEXT = ' اشترِ قطعتين قماش واحصل على قماش سميراميس مجانًا 🎁 توصيل مجاني لجميع الطلبات 🚚 '; var LINK = '#'; // غيّر الرابط إذا لزم var PX_PER_SEC = 210; // سرعة أعلى قليلًا من الإصدارات السابقة function q(sel, root){ return (root||document).querySelector(sel); } function createEl(tag, cls, attrs){ var el = document.createElement(tag); if(cls) el.className = cls; if(attrs){ Object.keys(attrs).forEach(function(k){ if(k === 'text') el.textContent = attrs[k]; else if(k === 'html') el.innerHTML = attrs[k]; else el.setAttribute(k, attrs[k]); }); } return el; } function buildBanner(){ if(q('.promotion-banner')) return null; var banner = createEl('div','promotion-banner'); var inner = createEl('div','promotion-banner__inner'); var ul = createEl('ul', null, {'aria-live':'polite'}); var li = createEl('li'); var a = createEl('a', null, {href: LINK}); a.textContent = TEXT; li.appendChild(a); ul.appendChild(li); // تكرار أولي ul.appendChild(li.cloneNode(true)); inner.appendChild(ul); banner.appendChild(inner); return banner; } function insertBanner(banner){ // شريط داخل التدفق: نضعه أعلى محتوى الصفحة، قبل أي هيدر/قسم رئيسي إن أمكن // إن وُجد عنصر هيدر رئيسي، أدخل الشريط قبله، وإلا في بداية body var header = document.querySelector('header, .main-nav-container, .top-navbar'); if(header && header.parentNode){ header.parentNode.insertBefore(banner, header); } else { document.body.insertAdjacentElement('afterbegin', banner); } } function ensureInfinite(ul){ if(!ul) return; // أطِل المسار لنعومة أفضل if(ul.children.length < 6){ var items = Array.from(ul.children); for(var r=0; r<3; r++){ items.forEach(function(li){ ul.appendChild(li.cloneNode(true)); }); } } } function dynamicSpeed(ul){ if(!ul) return; // احسب المدة بناءً على الطول مع سرعة أعلى requestAnimationFrame(function(){ var total = 0, gap = 28; // مطابق لـ CSS Array.from(ul.children).forEach(function(li){ total += li.getBoundingClientRect().width + gap; }); var duration = Math.max(7, Math.round(total / PX_PER_SEC)); ul.querySelectorAll('li').forEach(function(li){ li.style.animationDuration = duration + 's'; li.style.webkitAnimationDuration = duration + 's'; }); }); } function init(){ var banner = buildBanner(); if(!banner) return; insertBanner(banner); var ul = banner.querySelector('ul'); // تأكيد RTL إن لم يحدد على if(!document.documentElement.getAttribute('dir')){ ul.setAttribute('dir','rtl'); } ensureInfinite(ul); dynamicSpeed(ul); // إعادة الحساب عند تغيير الحجم أو الخطوط var recalc = function(){ dynamicSpeed(ul); }; window.addEventListener('resize', recalc); if(document.fonts && document.fonts.ready){ document.fonts.ready.then(recalc).catch(function(){}); } if('ResizeObserver' in window){ var ro = new ResizeObserver(recalc); ro.observe(banner); ro.observe(ul); } } if(document.readyState === 'loading'){ document.addEventListener('DOMContentLoaded', init); } else { init(); } })();