<?php

namespace App\Domain\Website\Blocks\Concerns;

use App\Domain\Website\Blocks\BlockField;

/**
 * The fields behind the shared section header partial.
 *
 * A block that introduces itself with a title declares these instead of its own
 * title/subtitle pair, so every section on a site offers the author the same
 * controls and renders through `website.blocks._header`. Without a single
 * source, "does this block have an eyebrow?" becomes a per-block accident.
 */
trait HasSectionHeader
{
    /** @return BlockField[] */
    protected function sectionHeaderFields(): array
    {
        return [
            BlockField::text('eyebrow', 'نص علوي صغير')
                ->help('كلمة أو كلمتان فوق العنوان، تظهر بلون التمييز'),

            BlockField::text('title', 'العنوان')
                ->help('ضع جزءًا من العنوان بين قوسين معقوفين {هكذا} ليظهر بلون التمييز'),

            BlockField::textarea('subtitle', 'العنوان الفرعي'),

            BlockField::alignment('header_align', 'محاذاة العنوان'),

            BlockField::select('heading_level', 'مستوى العنوان', [
                'h2' => 'عنوان قسم (h2)',
                'h1' => 'عنوان الصفحة (h1)',
            ])->default('h2')
                ->help('اختر h1 للقسم الذي يحمل عنوان الصفحة — صفحة بلا h1 تُقرأ بلا عنوان'),

            BlockField::select('heading_rule', 'خط أسفل العنوان', [
                'none' => 'بدون',
                'accent_bar' => 'شريط بلون التمييز',
            ])->default('none'),
        ];
    }
}
