# إصلاح صفحة المنتجات ## المشاكل التي تم حلها: ### 1. عداد السلة لا يتحدث ❌ **المشكلة:** عند إضافة منتج للسلة، الرقم فوق أيقونة السلة لا يتحدث **الحل:** - ✅ إنشاء API endpoint جديد: `backend/api/cart/count.php` - ✅ إضافة دالة `updateCartBadge()` لتحديث العداد تلقائياً - ✅ استدعاء الدالة بعد كل إضافة ناجحة للسلة ### 2. زر المفضلة غير موجود ❌ **المشكلة:** لا يوجد زر لإضافة المنتجات للمفضلة **الحل:** - ✅ إنشاء جدول `wishlist` في قاعدة البيانات - ✅ إنشاء API endpoints: - `backend/api/wishlist/add.php` - `backend/api/wishlist/remove.php` - ✅ إضافة زر المفضلة بجانب زر السلة - ✅ إضافة دالة `toggleWishlist()` للتبديل بين الإضافة والإزالة ## الملفات المضافة: ### 1. API Files ``` backend/api/cart/count.php - عد عناصر السلة backend/api/wishlist/add.php - إضافة للمفضلة backend/api/wishlist/remove.php - إزالة من المفضلة ``` ### 2. Setup Files ``` backend/setup/create_wishlist_table.php - إنشاء جدول المفضلة ``` ### 3. Updated Files ``` backend/public/products.php - تحديث الصفحة بالميزات الجديدة ``` ## الميزات الجديدة: ### عداد السلة الديناميكي ```javascript function updateCartBadge() { fetch('../api/cart/count.php') .then(response => response.json()) .then(data => { // تحديث العداد أو إنشاؤه إذا لم يكن موجود if (data.count > 0) { badge.textContent = data.count; } }); } ``` ### نظام المفضلة ```javascript function toggleWishlist(productId, productName, button) { const isActive = button.classList.contains('active'); const action = isActive ? 'remove' : 'add'; fetch('../api/wishlist/' + action + '.php', { method: 'POST', body: 'product_id=' + productId }) .then(response => response.json()) .then(data => { if (data.success) { button.classList.toggle('active'); // تغيير شكل الأيقونة } }); } ``` ## التصميم: ### زر المفضلة ```css .action-btn { width: 36px; height: 36px; border-radius: 50%; background: var(--bg-secondary); transition: all 0.2s; } .action-btn:hover { background: var(--primary); color: white; transform: scale(1.1); } .action-btn.active { background: var(--primary); color: white; } ``` ### تنظيم الأزرار ```html