document.addEventListener('DOMContentLoaded', function() {
// دالة واحدة لتنفيذ جميع التعديلات بشكل متكرر حتى تنجح
const applyCustomizations = () => {
// ===================================================
// المهمة 1: استبدال قائمة أيقونات الدفع
// ===================================================
const oldPaymentList = document.querySelector('ul.flex.justify-center.items-stretch.flex-wrap.rtl\\:space-x-reverse.gap-2:not([data-modified])');
if (oldPaymentList) {
const newPaymentListHTML = `
`;
oldPaymentList.outerHTML = newPaymentListHTML;
console.log('تم تعديل أيقونات الدفع بنجاح.');
}
// ===================================================
// المهمة 2: استبدال روابط قسم "تواصل معنا"
// ===================================================
const contactSectionContainer = document.querySelector('.footer-contact:not([data-modified])');
if (contactSectionContainer) {
const oldContactLinksDiv = contactSectionContainer.querySelector('div.flex.flex-wrap.w-full.justify-center');
if (oldContactLinksDiv) {
const newContactLinksHTML = `
`;
oldContactLinksDiv.outerHTML = newContactLinksHTML;
contactSectionContainer.setAttribute('data-modified', 'true');
console.log('تم تعديل روابط "تواصل معنا" بنجاح.');
}
}
// ===================================================
// المهمة 3: استبدال وتصميم أيقونات التواصل الاجتماعي
// ===================================================
const oldSocialListAnchor = document.querySelector('a[href*="instagram.com/yoofksa"]:not(.social-icon-link)');
if (oldSocialListAnchor) {
const socialListContainer = oldSocialListAnchor.closest('ul');
if (socialListContainer && !socialListContainer.classList.contains('new-social-icons')) {
const newSocialIconsHTML = `
`;
socialListContainer.outerHTML = newSocialIconsHTML;
if (!document.getElementById('custom-social-styles')) {
const customCSS = `
.new-social-icons { display: flex; gap: 10px; list-style: none; padding: 0; margin: 0; }
.new-social-icons .social-icon-link { display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; background-color: #4A543E; border-radius: 12px; transition: transform 0.2s ease; }
.new-social-icons .social-icon-link i { color: #FFFFFF; font-size: 22px; }
.new-social-icons .social-icon-link:hover { transform: scale(1.1); }
`;
const styleElement = document.createElement('style');
styleElement.id = 'custom-social-styles';
styleElement.textContent = customCSS;
document.head.appendChild(styleElement);
}
console.log('تم تعديل أيقونات التواصل الاجتماعي بنجاح.');
}
}
// ===================================================
// المهمة 4: تحويل **جميع** قوائم "الكمية" المنسدلة إلى أزرار (عام ولكل المنتجات)
// ===================================================
// نبحث عن كل حاويات الخيارات التي لم تتم معالجتها بعد
const optionContainers = document.querySelectorAll('.s-product-options-option:not([data-buttons-converted])');
optionContainers.forEach(container => {
const label = container.querySelector('.s-product-options-option-label');
const selectElement = container.querySelector('select[name^="options["]');
// نتأكد أن هذا هو خيار "الكمية" تحديدًا وأنه يحتوي على قائمة منسدلة
if (label && label.textContent.includes('الكمية') && selectElement) {
// نضع علامة على الحاوية لمنع إعادة تحويلها
container.setAttribute('data-buttons-converted', 'true');
selectElement.style.display = 'none';
const buttonContainer = document.createElement('div');
buttonContainer.className = 'custom-options-buttons';
const options = selectElement.querySelectorAll('option');
options.forEach(option => {
if (option.value === '') return;
const button = document.createElement('button');
button.type = 'button';
button.className = 'custom-option-btn';
button.textContent = option.textContent.replace(' - نفدت الكمية', '').trim();
button.dataset.value = option.value;
if (option.textContent.includes('نفدت الكمية')) {
button.disabled = true;
}
// تحديد الخيار الافتراضي (يمكنك تغيير "250GM" إذا أردت)
if (option.textContent.includes('250GM') && !button.disabled) {
button.classList.add('active');
selectElement.value = option.value;
}
buttonContainer.appendChild(button);
});
// إضافة الأزرار بعد القائمة المنسدلة
selectElement.closest('.s-product-options-option-content div').appendChild(buttonContainer);
// إضافة حدث النقر على حاوية الأزرار
buttonContainer.addEventListener('click', (event) => {
const clickedButton = event.target.closest('.custom-option-btn');
if (!clickedButton || clickedButton.disabled) return;
buttonContainer.querySelectorAll('.custom-option-btn').forEach(btn => btn.classList.remove('active'));
clickedButton.classList.add('active');
selectElement.value = clickedButton.dataset.value;
// إطلاق حدث "change" وهو ضروري جداً لتحديث السعر في سلة
const changeEvent = new Event('change', { bubbles: true });
selectElement.dispatchEvent(changeEvent);
});
console.log(`تم تحويل قائمة "الكمية" للمنتج إلى أزرار.`);
}
});
};
// حاول تنفيذ التعديلات عدة مرات لضمان ظهور جميع العناصر الديناميكية
const interval = setInterval(applyCustomizations, 250);
// إيقاف المحاولات بعد 5 ثوانٍ
setTimeout(() => {
clearInterval(interval);
}, 5000);
});
document.addEventListener('DOMContentLoaded', function() {
// نحدد عنصر الرابط باستخدام خاصية aria-label أو أي محدد آخر فريد
// في هذه الحالة، aria-label="banner link" هو محدد جيد
const bannerLink = document.querySelector('a[aria-label="banner link"]');
// نتأكد أن العنصر موجود قبل محاولة تعديله
if (bannerLink) {
// نقوم بإزالة السمة 'href' من عنصر الرابط
// هذا سيجعل الرابط غير قابل للنقر (non-clickable) ولن يفتح أي صفحة
bannerLink.removeAttribute('href');
// اختياري: إذا كنت تريد التأكد تمامًا من عدم وجود أي سلوك افتراضي
// يمكنك إضافة مستمع حدث للنقر يقوم بمنع السلوك الافتراضي،
// على الرغم من أن إزالة href عادةً ما تكون كافية.
// bannerLink.addEventListener('click', function(event) {
// event.preventDefault();
// event.stopPropagation(); // لمنع انتشار الحدث لأي عناصر آباء
// });
}
});