<?php

namespace App\Domain\Website\Blocks\Types;

use App\Domain\Website\Blocks\BlockField;
use App\Domain\Website\Blocks\DataBlockType;

class ProgramsBlock extends DataBlockType
{
    public function key(): string
    {
        return 'data_programs';
    }

    public function label(): string
    {
        return 'البرامج التدريبية';
    }

    public function icon(): string
    {
        return 'academic-cap';
    }

    public function variants(): array
    {
        return ['cards' => 'بطاقات', 'list' => 'قائمة', 'carousel' => 'شرائح', 'featured' => 'مميز'];
    }

    protected function filterFields(): array
    {
        return [
            BlockField::dataSource('branch_filter', 'تصفية حسب الفرع', ['branches' => 'الفروع']),
            BlockField::dataSource('activity_filter', 'تصفية حسب النشاط', ['activities' => 'الأنشطة']),
        ];
    }

    protected function extraFields(): array
    {
        return [
            BlockField::toggle('show_price', 'إظهار السعر'),
            BlockField::toggle('show_age_range', 'إظهار الفئة العمرية')->default(true),
            BlockField::toggle('show_duration', 'إظهار المدة'),
        ];
    }
}
