<?php

namespace App\Domain\Website\Blocks\Types;

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

/** Third-party embeds via an allow-listed provider set. */
class EmbedBlock extends BlockType
{
    public function key(): string
    {
        return 'embed';
    }

    public function label(): string
    {
        return 'تضمين خارجي';
    }

    public function icon(): string
    {
        return 'globe-alt';
    }

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

    public function fields(): array
    {
        return [
            BlockField::text('title', 'العنوان'),
            BlockField::select('provider', 'المصدر', [
                'youtube' => 'يوتيوب',
                'vimeo' => 'Vimeo',
                'instagram' => 'إنستجرام',
                'facebook' => 'فيسبوك',
                'google_maps' => 'خرائط جوجل',
                'google_form' => 'نماذج جوجل',
            ])->required(),
            BlockField::text('url', 'الرابط')->required(),
            BlockField::select('ratio', 'نسبة العرض', [
                '16:9' => '16:9', '4:3' => '4:3', '1:1' => '1:1', 'auto' => 'تلقائي',
            ])->default('16:9'),
        ];
    }
}
