@props([ /** Seitentitel (H1). Bereits übersetzt übergeben: :title="__('…')" */ 'title' => '', /** Eyebrow-Text rechts neben dem Hub-Badge, z. B. "Administration · Kategorien" */ 'eyebrow' => '', /** Label des Hub-Badges links oben (Standard: Admin Backend) */ 'badge' => 'Admin Backend', /** Optionaler Beschreibungstext unter dem Titel */ 'description' => '', /** * Titel-Größe: sm (28px) | md (Standard, 30px) | lg (Landing/Hero-Listen, 34px). * lg vergrößert zusätzlich die Beschreibung und den Button-Abstand. */ 'size' => 'md', /** Maximale Breite der Beschreibung: 640px (Standard) | 720px (breite Fließtexte) */ 'descriptionWidth' => '640px', ]) @php $size = in_array($size, ['sm', 'md', 'lg'], true) ? $size : 'md'; $titleClass = match ($size) { 'sm' => 'text-[28px] tracking-[-0.5px] leading-[1.15]', 'lg' => 'text-[34px] tracking-[-0.7px] leading-[1.1]', default => 'text-[30px] tracking-[-0.6px] leading-[1.15]', }; $descriptionClass = $size === 'lg' ? 'text-[13.5px]' : 'text-[13px]'; $descriptionMaxWidth = $descriptionWidth === '720px' ? 'max-w-[720px]' : 'max-w-[640px]'; $actionsGap = $size === 'lg' ? 'gap-3' : 'gap-2'; @endphp {{-- Einheitlicher Seitenkopf des Admin-Backends. Ersetzt den vielfach kopierten page-header-Block. Variable Teile über Slots: – zusätzliche Badges hinter dem Eyebrow (ID, Zähler …) – Buttons rechts (Zurück, Speichern …) --}}
class('page-header') }}>
@if (filled($badge)) {{ $badge }} @endif @if (filled($eyebrow)) {{ $eyebrow }} @endif {{ $meta ?? '' }}

{{ $title }}

@if (filled($description))

{{ $description }}

@endif
@isset($actions)
{{ $actions }}
@endisset