<?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;

class VideoBlock extends BlockType
{
    public function key(): string
    {
        return 'video';
    }

    public function label(): string
    {
        return 'فيديو';
    }

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

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

    public function variants(): array
    {
        return [
            'embed' => 'مضمّن',
            'with_quote' => 'مع اقتباس',
            'background' => 'خلفية',
            'popup' => 'يفتح في نافذة',
            'split' => 'مقسّم مع نص',
        ];
    }

    public function fields(): array
    {
        return [
            BlockField::text('eyebrow', 'نص علوي صغير'),
            BlockField::text('title', 'العنوان'),
            BlockField::select('heading_rule', 'خط أسفل العنوان', [
                'none' => 'بدون', 'accent_bar' => 'شريط بلون التمييز',
            ])->default('none'),
            BlockField::video('url', 'رابط الفيديو')->required()
                ->help('يدعم يوتيوب و Vimeo أو رابط ملف مباشر'),
            BlockField::image('poster', 'صورة الغلاف'),
            BlockField::textarea('quote', 'اقتباس'),
            BlockField::text('quote_author', 'قائل الاقتباس'),
            BlockField::select('ratio', 'نسبة العرض', [
                '16:9' => '16:9', '4:3' => '4:3', '1:1' => '1:1', '21:9' => '21:9',
            ])->default('16:9'),
            BlockField::toggle('autoplay', 'تشغيل تلقائي'),
            BlockField::toggle('muted', 'كتم الصوت')->default(true),
            BlockField::toggle('loop', 'تكرار'),
        ];
    }
}
