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

/** Partner / sponsor logos. */
class LogoStripBlock extends BlockType
{
    use HasSectionHeader;

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

    public function label(): string
    {
        return 'شعارات الشركاء';
    }

    public function icon(): string
    {
        return 'building-office';
    }

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

    public function variants(): array
    {
        return [
            'grid' => 'شبكة',
            'focus_carousel' => 'شرائح مع تركيز على الوسط',
            'marquee' => 'شريط متحرك',
            'centered' => 'وسط',
            'bordered' => 'بفواصل',
        ];
    }

    public function fields(): array
    {
        return [
            ...$this->sectionHeaderFields(),
            BlockField::toggle('use_partner_data', 'استخدام الشركاء من النظام')->default(true),
            BlockField::repeater('logos', 'الشعارات', [
                BlockField::image('logo', 'الشعار'),
                BlockField::text('name', 'الاسم'),
                BlockField::link('url', 'الرابط'),
            ])->showIf('use_partner_data', false),
            BlockField::toggle('grayscale', 'تدرج رمادي حتى التمرير')->default(true),
            BlockField::select('speed', 'سرعة الحركة', [
                'slow' => 'بطيئة', 'normal' => 'عادية', 'fast' => 'سريعة',
            ])->default('normal'),
        ];
    }
}
