/* Add custom JS code below */
/* ==========================================================================
🚀 DYNAMIC SYSTEM-WIDE STATUS BAR INJECTOR (ANTI-CACHE & AJAX PROOF)
========================================================================== */
(function() {
function injectOriginalThemeCode() {
// نتحقق أولاً أن العميل ليس في الصفحة الرئيسية (لأنها تمتلك الكود أصلاً)
if (!document.body.classList.contains('page-home')) {
// 1️⃣ التحقق من عدم تكرار الحقن لنفس الصفحة
if (document.getElementById('dynamic-status-bar-meta')) return;
// 2️⃣ استخراج الكلاس الحالي للصفحة الداخلية بدقة
var currentClass = "";
document.body.classList.forEach(function(cls) {
if (cls.startsWith('page-')) {
currentClass = cls;
}
});
if (!currentClass) currentClass = "page-inner-site";
// 3️⃣ بناء هيكل الكود الأصلي المستقر الخاص بك
var fullOriginalBlock = `
`;
// 4️⃣ إنشاء حاوية معرّفة بحقن الكود داخل الـ Head
var wrapper = document.createElement('div');
wrapper.id = 'dynamic-status-bar-meta';
wrapper.innerHTML = fullOriginalBlock;
document.head.appendChild(wrapper);
} else {
// إذا عاد العميل للصفحة الرئيسية، نقوم بتنظيف كود الصفحات الداخلية لتفادي التعارض
var oldInjections = document.getElementById('dynamic-status-bar-meta');
if (oldInjections) oldInjections.remove();
}
}
// 🔄 تكتيك المراقبة اللحظية: تشغيل السكربت فوراً عند حدوث أي تغيير في بنية الموقع أو الروابط (للتغلب على الـ AJAX والكاش)
var lastUrl = location.href;
var observer = new MutationObserver(function() {
if (location.href !== lastUrl) {
lastUrl = location.href;
// مسح الحقن القديم لإعادة بنائه متوافقاً مع الصفحة الجديدة
var oldInjections = document.getElementById('dynamic-status-bar-meta');
if (oldInjections) oldInjections.remove();
// مهلة زمنية متناهية الصغر لمنح المنصة فرصة لتحديث كلاس الـ body
setTimeout(injectOriginalThemeCode, 100);
} else {
injectOriginalThemeCode();
}
});
// بدء نظام المراقبة الصارم لجسم الموقع بالكامل
if (document.body) {
observer.observe(document.body, { childList: true, subtree: true });
injectOriginalThemeCode();
} else {
document.addEventListener('DOMContentLoaded', function() {
observer.observe(document.body, { childList: true, subtree: true });
injectOriginalThemeCode();
});
}
})();