<?php

use Carbon\Carbon;
use Openguru\OpenCartFramework\Migrations\Migration;

return new class extends Migration {
    public function up(): void
    {
        $checkoutForm = json_encode(self::getCheckoutFormSchema(), JSON_THROW_ON_ERROR);

        $this->database->insert('telecart_forms', [
            'alias' => 'checkout',
            'friendly_name' => 'Оформление заказа',
            'schema' => $checkoutForm,
            'created_at' => Carbon::now(),
            'updated_at' => Carbon::now(),
        ]);
    }

    private static function getCheckoutFormSchema(): array
    {
        return [
            [
                'id' => 'field_1_1763897608480',
                '$formkit' => 'text',
                'name' => 'firstname',
                'label' => 'Имя',
                'placeholder' => 'Например: Иван',
                'help' => 'Введите ваше имя',
                'validation' => 'required|length:0,32',
                'prefixIcon' => 'avatarMan',
                'locked' => true,
            ],
            [
                'id' => 'field_2_1763897611020',
                '$formkit' => 'text',
                'name' => 'lastname',
                'label' => 'Фамилия',
                'placeholder' => 'Например: Иванов',
                'help' => 'Введите вашу фамилию',
                'validation' => 'required|length:0,32',
                'prefixIcon' => 'avatarMan',
                'locked' => true,
            ],
            [
                'id' => 'field_5_1763897626036',
                '$formkit' => 'tel',
                'name' => 'telephone',
                'label' => 'Телефон',
                'placeholder' => 'Например: +7 (999) 000-00-00',
                'validation' => 'required|length:0,32',
                'help' => 'Введите ваш номер телефона.',
                'prefixIcon' => 'telephone',
                'locked' => true,
            ],
            [
                'id' => 'field_4_1763897617570',
                '$formkit' => 'textarea',
                'name' => 'comment',
                'label' => 'Комментарий к заказу',
                'placeholder' => 'Например: Домофон не работает',
                'help' => 'Дополнительная информация к заказу',
                'validation' => 'length:0,5000',
                'locked' => true,
            ],
        ];
    }
};
