document.addEventListener('DOMContentLoaded', function() { const filterSelect = document.getElementById('product-filter'); if (filterSelect && document.body.classList.contains('product-index')) { // إخفاء جزء الفلتر تماماً filterSelect.style.display = 'none'; // إخفاء العنصر الأب إذا كان موجود (مثل div يحتوي على الفلتر) const filterContainer = filterSelect.closest('.filter-container') || filterSelect.closest('.product-filter-container') || filterSelect.closest('[class*="filter"]') || filterSelect.parentElement; if (filterContainer && filterContainer !== document.body) { filterContainer.style.display = 'none'; } // التأكد من تطبيق الكود بعد تحميل الصفحة بالكامل setTimeout(function() { // التحقق من أن المستخدم لم يغير الفلتر يدوياً في هذه الزيارة const userChangedFilter = sessionStorage.getItem('userChangedFilter'); const defaultApplied = sessionStorage.getItem('defaultFilterApplied'); // تطبيق الفلتر الافتراضي فقط إذا لم يتم تطبيقه ولم يغيره المستخدم if (!userChangedFilter && !defaultApplied && filterSelect.value !== 'priceFromLowToTop') { filterSelect.value = 'priceFromLowToTop'; sessionStorage.setItem('defaultFilterApplied', 'true'); // تأخير قصير لتجنب المشاكل setTimeout(() => { filterSelect.dispatchEvent(new Event('change', { bubbles: true })); }, 100); } }, 100); // تأخير بسيط قبل تنفيذ الكود // إضافة مستمع لتتبع تغيير المستخدم للفلتر (فقط إذا لم يكن موجود) let changeListenerAdded = false; filterSelect.addEventListener('change', function(event) { // التأكد من أن هذا التغيير من المستخدم وليس من الكود if (!sessionStorage.getItem('defaultFilterApplied') || (sessionStorage.getItem('defaultFilterApplied') && !changeListenerAdded)) { changeListenerAdded = true; return; } // حفظ أن المستخدم غير الفلتر يدوياً sessionStorage.setItem('userChangedFilter', 'true'); }); } }); // مسح العلامات عند مغادرة الصفحة window.addEventListener('beforeunload', function() { sessionStorage.removeItem('userChangedFilter'); sessionStorage.removeItem('defaultFilterApplied'); }); // حل بديل للإخفاء باستخدام CSS (إضافة إلى ملف CSS أو في