(function () {
function dedupe() {
// فقط داخل کانتینرهای Loop Grid المنتور
document.querySelectorAll('.elementor-loop-container').forEach(container => {
// pagination تکراری
const paginations = container.parentElement
? container.parentElement.querySelectorAll('nav.elementor-pagination')
: container.querySelectorAll('nav.elementor-pagination');
if (paginations.length > 1) {
paginations.forEach((el, i) => { if (i > 0) el.remove(); });
}
// load-more-anchor تکراری (حتی اگر Load More خاموش باشد ممکن است تزریق شود)
const anchors = container.parentElement
? container.parentElement.querySelectorAll('.load-more-anchor')
: container.querySelectorAll('.load-more-anchor');
if (anchors.length > 1) {
anchors.forEach((el, i) => { if (i > 0) el.remove(); });
}
});
}
// یک بار در شروع
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', dedupe);
} else {
dedupe();
}
// هر بار که JetSmartFilters AJAX میزند هم یکبار اجرا شود (اگر ایونتها موجود باشند)
document.addEventListener('jet-smart-filters/after-ajax', dedupe);
document.addEventListener('jet-smart-filters/before-ajax', dedupe);
// مهمترین بخش: مراقبت از تغییرات DOM (چون المنتور بعد از AJAX دوباره append میکند)
const observer = new MutationObserver(() => dedupe());
observer.observe(document.body, { childList: true, subtree: true });
})();