<?php

namespace Database\Seeders;

use App\Models\Page;
use App\Models\Setting;
use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    public function run(): void
    {
        // Configuraciones por defecto.
        $defaults = [
            'company_name'            => config('app.name'),
            'company_address'         => 'Av. Principal 123, Lima',
            'company_ubigeo'          => '150101',
            'handling_fee'            => '5.00',
            'delivery_fee'            => '15.00',
            'shipping_free_threshold' => '200',
        ];
        foreach ($defaults as $k => $v) {
            Setting::firstOrCreate(['key' => $k], ['value' => $v]);
        }

        // Página de inicio con un layout de ejemplo (bloques del builder).
        Page::firstOrCreate(
            ['slug' => 'inicio'],
            [
                'title'        => 'Inicio',
                'is_published' => true,
                'layout'       => [
                    ['type' => 'hero-elegante', 'attributes' => [
                        'heading'    => 'Belleza natural para tu día a día',
                        'subheading' => 'Productos elaborados con ingredientes naturales seleccionados.',
                        'cta_text'   => 'Ver productos',
                        'cta_url'    => '#productos',
                        'image'      => '',
                    ]],
                    ['type' => 'feature-bar', 'attributes' => ['items' => [
                        ['icon' => '🌿', 'title' => 'Natural', 'text' => 'Ingredientes de origen natural'],
                        ['icon' => '🚚', 'title' => 'Envío rápido', 'text' => 'Entrega en 24-48h'],
                        ['icon' => '🔒', 'title' => 'Pago seguro', 'text' => 'Transacciones protegidas'],
                    ]]],
                    ['type' => 'categorias-elegantes', 'attributes' => ['title' => 'Explora por categoría', 'limit' => 6]],
                    ['type' => 'product-grid', 'attributes' => [
                        'title' => 'Productos del mes', 'only_month' => true, 'limit' => 8, 'columns' => 4,
                    ]],
                ],
            ]
        );
    }
}
