ASWARCO - تثبيت تحديث البحث والعرض والوضع الليلي
================================================

هذا التحديث لا يحتاج إلى Migration ولا يغير بيانات المنتجات أو العملاء.

المزايا المضافة
---------------
1. عرض المنتجات بطريقتين: بطاقات أو صفوف مع صورة صغيرة.
2. حفظ طريقة العرض المختارة في المتصفح.
3. فلترة مترابطة حسب نوع السيارة ثم الموديل ثم سعة المحرك.
4. بحث مرن بالكلمات بغض النظر عن ترتيبها، مع دعم أسماء Peugeot وCitroen الشائعة.
5. اقتراحات بحث فورية وآمنة.
6. وضع ليلي/نهاري محفوظ في المتصفح للزائر والعميل والإدارة وصفحات الدخول والتسجيل.
7. عدد النتائج ومسح الفلاتر وتحسين الهاتف وسرعة تحميل الصور.

طريقة التركيب من PowerShell
---------------------------

مهم: اكتب الأوامر فقط من دون كتابة PS C:\... الموجود في بداية السطر.

1. افتح PowerShell داخل مجلد المشروع:

cd C:\Users\User\Herd\aswarco

2. فك ضغط الملف بعد تنزيله. غيّر المسار فقط إذا كان الملف في مكان آخر:

$update = Get-Item "$env:USERPROFILE\Downloads\ASWARCO_Search_DarkMode_Enhancements.zip"
Expand-Archive -Path $update.FullName -DestinationPath "C:\Users\User\Herd\aswarco" -Force

إذا كان الملف على سطح مكتب OneDrive استعمل بدل السطرين السابقين:

$update = Get-Item "$env:USERPROFILE\OneDrive\Desktop\ASWARCO_Search_DarkMode_Enhancements.zip"
Expand-Archive -Path $update.FullName -DestinationPath "C:\Users\User\Herd\aswarco" -Force

3. تأكد من وصول الملفات الجديدة:

Test-Path app\Services\ProductCatalogSearchService.php
Test-Path app\Http\Controllers\CatalogLookupController.php
Test-Path resources\views\components\catalog-interactions.blade.php

يجب أن تظهر True ثلاث مرات.

4. افحص ملفات PHP:

php -l app\Services\ProductCatalogSearchService.php
php -l app\Http\Controllers\CatalogLookupController.php
php -l app\Http\Controllers\PublicProductCatalogController.php
php -l app\Http\Controllers\Customer\ProductCatalogController.php
php -l routes\web.php

يجب أن يظهر No syntax errors detected لكل ملف.

5. امسح الكاش ثم افحص المسارات والقوالب والاختبارات:

php artisan optimize:clear
php artisan route:list --path=catalog
php artisan view:cache
php artisan test

يجب أن يظهر مساران:
- catalog/suggestions
- catalog/vehicle-options

6. افتح الموقع واضغط Ctrl + F5 ثم افحص بالترتيب:

- افتح صفحة المنتجات كزائر.
- بدّل بين بطاقات وصفوف.
- اختر Peugeot ثم الموديل ثم سعة المحرك.
- اكتب حرفين أو أكثر وتأكد من ظهور الاقتراحات.
- ابحث بكلمات مرتبة بطريقة مختلفة.
- اضغط زر القمر للوضع الليلي وانتقل بين الصفحات للتأكد أنه محفوظ.
- سجل دخول العميل وكرر الاختبار وتأكد من بقاء الأسعار والخصم والسلة.
- سجل دخول الأدمن وتأكد أن الوضع الليلي يعمل وأن لوحة الإدارة كاملة.

7. بعد نجاح جميع الاختبارات احفظ العمل:

git status --short
git diff --check
git add app\Services\ProductCatalogSearchService.php app\Http\Controllers\CatalogLookupController.php app\Http\Controllers\PublicProductCatalogController.php app\Http\Controllers\Customer\ProductCatalogController.php routes\web.php resources\views\components resources\views\public\products\index.blade.php resources\views\customer\products\index.blade.php resources\views\layouts resources\views\admin\auth\layout.blade.php resources\views\auth\login.blade.php resources\views\auth\register.blade.php INSTALL_SEARCH_DARKMODE_UPDATE.txt
git commit -m "Add flexible catalog search views and dark mode"

ملاحظات
-------
- لا تشغّل php artisan migrate لأن هذا التحديث لا يحتوي على Migration.
- الاقتراحات تبدأ بعد كتابة حرفين لتقليل الضغط على الخادم.
- الأسعار لا تظهر للزائر ضمن الاقتراحات أو صفحة الكتالوج العام.
- عند ظهور أي خطأ توقف وأرسل نص الخطأ كاملًا قبل تنفيذ خطوة أخرى.
