<?php

namespace App\PageBuilder\Components\Marketing;

use App\PageBuilder\PageComponent;

class FeaturesComponent extends PageComponent
{
    public function key(): string { return 'features'; }
    public function category(): string { return 'marketing'; }
    public function label(): string { return 'Features'; }
    public function icon(): string { return 'fas fa-th-large'; }

    public function schema(): array
    {
        return [
            'title' => ['type' => 'text', 'label' => 'Bölüm başlığı'],
            'subtitle' => ['type' => 'textarea', 'label' => 'Bölüm alt başlığı'],
            'items' => [
                'type' => 'repeater',
                'label' => 'Özellikler',
                'item_schema' => [
                    'icon' => ['type' => 'text', 'label' => 'FA class'],
                    'title' => ['type' => 'text', 'required' => true],
                    'description' => ['type' => 'textarea'],
                    'link' => ['type' => 'link', 'label' => 'Tıklanınca git (opsiyonel)'],
                    'image' => ['type' => 'image', 'label' => 'İkon yerine görsel (opsiyonel)'],
                ],
                'min' => 1, 'max' => 8,
            ],
            'options' => [
                'columns' => ['type' => 'select', 'options' => [2,3,4], 'default' => 3],
                'color' => ['type' => 'color_token', 'default' => 'light'],
                'padding' => ['type' => 'padding_token', 'default' => 'lg'],
                'alignment' => ['type' => 'alignment_token', 'default' => 'center'],
                'card_style' => ['type' => 'select', 'label' => 'Kart stili', 'options' => ['plain', 'bordered', 'shadow'], 'default' => 'plain'],
                'icon_color' => ['type' => 'color_token', 'label' => 'İkon rengi', 'default' => 'primary'],
            ],
        ];
    }

    public function defaults(): array
    {
        return [
            'title' => 'Özelliklerimiz',
            'subtitle' => '',
            'items' => [
                ['icon' => 'fas fa-bolt', 'title' => 'Hızlı', 'description' => 'Yüksek performans'],
                ['icon' => 'fas fa-shield', 'title' => 'Güvenli', 'description' => 'Enterprise güvenlik'],
                ['icon' => 'fas fa-headset', 'title' => '7/24 Destek', 'description' => 'Her zaman yanınızda'],
            ],
            'options' => ['columns' => 3, 'color' => 'light', 'padding' => 'lg', 'alignment' => 'center'],
        ];
    }

    public function render(array $data, array $options): string
    {
        return view('page-builder.components.features', compact('data', 'options'))->render();
    }
}
