# راهنمای راه‌اندازی مدیریت صفحه اصلی

## مراحل نصب و راه‌اندازی

### 1. اجرای مایگریشن‌ها

اگر مایگریشن‌ها را اجرا نکرده‌اید:

```bash
php artisan migrate
```

### 2. اجرای سیدرها (اختیاری)

برای ایجاد داده‌های نمونه:

```bash
php artisan db:seed --class=HomeFeaturesSeeder
php artisan db:seed --class=ProductShowcasesSeeder
```

### 3. تست API‌ها

#### تست ویژگی‌های صفحه اصلی:

```bash
# دریافت ویژگی‌ها (عمومی)
curl http://localhost:8000/api/home-features

# دریافت تمام ویژگی‌ها (مدیریت)
curl -H "Authorization: Bearer YOUR_TOKEN" \
     http://localhost:8000/api/admin/home-features

# ایجاد ویژگی جدید
curl -X POST http://localhost:8000/api/admin/home-features \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "title": "بازگشت وجه",
       "description": "تا 7 روز ضمانت بازگشت وجه",
       "icon": "RefreshCw",
       "bg_color": "#FFF3E0",
       "icon_color": "#F57C00",
       "is_active": true
     }'
```

#### تست ویترین محصولات:

```bash
# دریافت ویترین‌ها (عمومی)
curl http://localhost:8000/api/product-showcases

# دریافت انواع ویترین خودکار
curl -H "Authorization: Bearer YOUR_TOKEN" \
     http://localhost:8000/api/admin/auto-showcases/types

# پیش‌نمایش ویترین پرفروش‌ها
curl -X POST http://localhost:8000/api/admin/auto-showcases/preview \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"type": "best_sellers", "limit": 10}'

# ساخت ویترین خودکار
curl -X POST http://localhost:8000/api/admin/auto-showcases/create \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "type": "discounted",
       "title": "تخفیف‌های ویژه",
       "display_type": "carousel",
       "products_limit": 10,
       "is_active": true
     }'
```

## قابلیت‌های اضافه شده

### ✅ 1. مدیریت ویژگی‌های صفحه اصلی (Home Features)

باکس‌های کوچکی که مزایای فروشگاه را نمایش می‌دهند:
- ارسال رایگان
- پشتیبانی 24/7
- ضمانت اصالت کالا
- پرداخت امن
- و هر چیز دیگری که بخواهید

**قابلیت‌ها:**
- ✏️ ویرایش متن‌ها
- 🎨 تغییر رنگ‌ها (پس‌زمینه، آیکون، متن)
- 🔄 تغییر آیکون
- 🗑️ حذف
- 👁️ فعال/غیرفعال کردن
- 🔢 تغییر ترتیب نمایش

### ✅ 2. ویترین‌های دستی (Manual Showcases)

ایجاد ویترین‌های سفارشی با انتخاب دستی محصولات:

**قابلیت‌ها:**
- انتخاب دستی محصولات
- عنوان و زیرعنوان سفارشی
- انتخاب نوع نمایش (شبکه، اسلایدر، لیست)
- تنظیم رنگ‌ها
- محدودیت تعداد محصولات

### ✅ 3. ویترین‌های خودکار (Auto Showcases)

ساخت خودکار ویترین‌ها بر اساس معیارهای مختلف:

#### انواع ویترین‌های خودکار:

1. **پرفروش‌ترین محصولات (Best Sellers)**
   - محصولاتی که بیشترین سفارش را داشته‌اند

2. **محصولات تخفیف‌دار (Discounted)**
   - محصولاتی که تخفیف دارند
   - مرتب شده بر اساس بیشترین درصد تخفیف

3. **جدیدترین محصولات (Newest)**
   - آخرین محصولات اضافه شده

4. **محصولات ویژه (Featured)**
   - محصولات با بالاترین قیمت یا امتیاز

5. **محصولات پربازدید (High Rated)**
   - محصولاتی که بیشترین تعامل را داشته‌اند

## ساختار دیتابیس

### جدول `home_features`

```sql
- id
- title              # عنوان
- description        # توضیحات
- icon               # نام آیکون
- bg_color          # رنگ پس‌زمینه
- icon_color        # رنگ آیکون
- text_color        # رنگ متن
- sort_order        # ترتیب نمایش
- is_active         # فعال/غیرفعال
- timestamps
```

### جدول `product_showcases`

```sql
- id
- title              # عنوان ویترین
- subtitle           # زیرعنوان
- display_type       # نوع نمایش (grid/carousel/list)
- products_limit     # حداکثر تعداد محصول
- bg_color          # رنگ پس‌زمینه
- title_color       # رنگ عنوان
- sort_order        # ترتیب نمایش
- is_active         # فعال/غیرفعال
- timestamps
```

### جدول `product_showcase_items`

```sql
- id
- showcase_id       # شناسه ویترین
- product_id        # شناسه محصول
- sort_order        # ترتیب در ویترین
- timestamps
```

## نکات مهم

### 🎨 رنگ‌ها

از فرمت HEX استفاده کنید:
```javascript
{
  "bg_color": "#E3F2FD",      // آبی روشن
  "icon_color": "#1976D2",    // آبی
  "text_color": "#0D47A1"     // آبی تیره
}
```

**پالت‌های رنگی پیشنهادی:**

```javascript
// آبی (ارسال)
{ bg: "#E3F2FD", icon: "#1976D2", text: "#0D47A1" }

// بنفش (پشتیبانی)
{ bg: "#F3E5F5", icon: "#7B1FA2", text: "#4A148C" }

// سبز (ضمانت)
{ bg: "#E8F5E9", icon: "#388E3C", text: "#1B5E20" }

// نارنجی (پرداخت)
{ bg: "#FFF3E0", icon: "#F57C00", text: "#E65100" }

// قرمز (تخفیف)
{ bg: "#FFEBEE", icon: "#C62828", text: "#B71C1C" }

// طوسی (خنثی)
{ bg: "#F5F5F5", icon: "#616161", text: "#212121" }
```

### 🎯 آیکون‌ها

آیکون‌های پیشنهادی از کتابخانه [Lucide Icons](https://lucide.dev/):

```
✅ ارسال: Truck, Package, ShoppingCart
✅ پشتیبانی: Headphones, MessageCircle, Phone
✅ ضمانت: ShieldCheck, Award, BadgeCheck
✅ پرداخت: CreditCard, Wallet, DollarSign
✅ سرعت: Zap, Rocket, Clock
✅ هدیه: Gift, Heart, Star
✅ بازگشت: RefreshCw, RotateCcw
✅ ایمنی: Lock, Shield, Check
```

### 📱 انواع نمایش

```javascript
// grid - مناسب دسکتاپ و تبلت
{
  "display_type": "grid"
}

// carousel - مناسب موبایل
{
  "display_type": "carousel"
}

// list - نمایش لیستی با جزئیات بیشتر
{
  "display_type": "list"
}
```

## یک صفحه اصلی کامل

نمونه ساختار یک صفحه اصلی حرفه‌ای:

```
1. بنر اصلی (Banners)
2. ویژگی‌ها (Home Features) - 4 باکس
3. ویترین 1: پرفروش‌ترین محصولات
4. بنر تبلیغاتی میانی
5. ویترین 2: محصولات تخفیف‌دار (carousel)
6. ویترین 3: جدیدترین محصولات
7. دسته‌بندی‌ها (Categories)
8. ویترین 4: محصولات ویژه
```

## عیب‌یابی

### مشکل: ویترین خودکار خالی است

```bash
# بررسی تعداد محصولات فعال
php artisan tinker
>>> App\Models\Product::where('is_active', true)->count();
```

اگر محصول فعال ندارید، ابتدا محصولاتی اضافه کنید.

### مشکل: تصاویر نمایش داده نمی‌شوند

```bash
# لینک storage را ایجاد کنید
php artisan storage:link
```

### مشکل: آیکون‌ها نمایش داده نمی‌شوند

در فرانت‌اند خود، مطمئن شوید که کتابخانه آیکون (مثل Lucide React) نصب شده است:

```bash
npm install lucide-react
# یا
yarn add lucide-react
```

## پشتیبانی

برای مشاهده مستندات کامل API، فایل `HOME_PAGE_MANAGEMENT_API.md` را مطالعه کنید.
