<?php

namespace Database\Seeders;

use App\Models\Equipment;
use App\Models\Exercise;
use App\Models\Muscle;
use App\Models\User;
use Illuminate\Database\Seeder;

class ExerciseLibrarySeeder extends Seeder
{
    /**
     * فراخوانی: $this->call(ExerciseLibrarySeeder::class); در DatabaseSeeder::run()
     */
    public function run(): void
    {
        $admin = User::query()->where('role', 'admin')->first();

        $muscleNames = ['سینه', 'پشت', 'شانه', 'جلو بازو', 'پشت بازو', 'ران جلو', 'ران پشت', 'ساق پا', 'شکم', 'باسن'];
        $muscles = collect($muscleNames)->map(fn ($name, $i) => Muscle::create([
            'name' => $name, 'is_active' => true, 'sort_order' => $i,
        ]));

        $equipmentNames = ['هالتر', 'دمبل', 'دستگاه', 'کش', 'وزن بدن', 'کتل‌بل'];
        collect($equipmentNames)->each(fn ($name, $i) => Equipment::create([
            'name' => $name, 'is_active' => true, 'sort_order' => $i,
        ]));

        Exercise::create([
            'name' => 'اسکوات با هالتر',
            'name_en' => 'Barbell Squat',
            'main_muscle_id' => $muscles->firstWhere('name', 'ران جلو')->id,
            'difficulty' => 'intermediate',
            'description' => 'حرکت پایه‌ی پایین‌تنه با تمرکز بر چهارسر ران و باسن.',
            'is_active' => true,
            'created_by' => $admin?->id,
            'updated_by' => $admin?->id,
        ]);

        Exercise::create([
            'name' => 'پرس سینه با هالتر',
            'name_en' => 'Barbell Bench Press',
            'main_muscle_id' => $muscles->firstWhere('name', 'سینه')->id,
            'difficulty' => 'intermediate',
            'description' => 'حرکت پایه‌ی بالاتنه برای عضلات سینه، شانه و پشت بازو.',
            'is_active' => true,
            'created_by' => $admin?->id,
            'updated_by' => $admin?->id,
        ]);
    }
}
