<?php

namespace App\Domain\Website\Blocks\Types;

use App\Domain\Website\Blocks\BlockField;
use App\Domain\Website\Blocks\BlockType;
use App\Domain\Website\Blocks\Concerns\HasSectionHeader;
use App\Domain\Website\Enums\BlockCategory;

class AccordionBlock extends BlockType
{
    use HasSectionHeader;

    public function key(): string
    {
        return 'accordion';
    }

    public function label(): string
    {
        return 'أسئلة شائعة / قائمة منسدلة';
    }

    public function icon(): string
    {
        return 'question-mark-circle';
    }

    public function category(): BlockCategory
    {
        return BlockCategory::Content;
    }

    public function variants(): array
    {
        return [
            'bordered' => 'بإطار',
            'separated' => 'بطاقات منفصلة',
            'minimal' => 'مبسّط',
            'two_column' => 'عمودان',
        ];
    }

    public function fields(): array
    {
        return [
            ...$this->sectionHeaderFields(),
            BlockField::toggle('single_open', 'فتح عنصر واحد فقط')->default(true),
            BlockField::toggle('use_faq_data', 'استخدام الأسئلة من النظام')
                ->help('يعرض الأسئلة المسجلة في إدارة الموقع بدلًا من الإدخال اليدوي'),
            BlockField::repeater('items', 'الأسئلة', [
                BlockField::text('question', 'السؤال'),
                BlockField::richText('answer', 'الإجابة'),
                BlockField::text('category', 'التصنيف'),
            ])->showIf('use_faq_data', false),
        ];
    }
}
