Component um optionalen Default-Slot erweitert (rendert unter den Aktionen) fuer Zusatzinhalt wie die Onboarding-Schritte der Leerzustaende. Umgestellt: - customer/press-releases/index: 3 States (Suche ohne Treffer, Filter ohne Treffer=warm, gar keine PMs inkl. Onboarding-Grid im Default-Slot) - customer/press-kits/index: 2 States (Filter=warm, keine Firma inkl. Onboarding-Grid), Panel-Wrapper bleibt erhalten Der Such-Titel behaelt das originale ASCII-Anfuehrungszeichen (via einfach- gequotetem Attribut mit escaptem PHP-String). Alle Views kompilieren, 162 Customer-/PM-Tests gruen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
@props([
|
||
/** Überschrift (bereits übersetzt übergeben) */
|
||
'title' => '',
|
||
|
||
/** Erläuternder Text unter der Überschrift */
|
||
'subtitle' => '',
|
||
|
||
/** Icon-Farbvariante: default | warm (gefilterte Leerzustände) | err */
|
||
'variant' => 'default',
|
||
])
|
||
|
||
{{--
|
||
Zentrierter Leerzustand für Tabellen/Listen. Ersetzt den mehrfach kopierten
|
||
empty-stage-Block. Slots:
|
||
<x-slot:icon> – Icon (flux:icon.* oder inline-<svg>) im runden Rahmen
|
||
<x-slot:actions> – optionale Buttons unter dem Text
|
||
--}}
|
||
<div class="empty-stage">
|
||
<div @class(['empty-ico', 'warm' => $variant === 'warm', 'err' => $variant === 'err'])>
|
||
{{ $icon ?? '' }}
|
||
</div>
|
||
|
||
@if (filled($title))
|
||
<h3 class="empty-title">{{ $title }}</h3>
|
||
@endif
|
||
|
||
@if (filled($subtitle))
|
||
<p class="empty-sub">{{ $subtitle }}</p>
|
||
@endif
|
||
|
||
@isset($actions)
|
||
<div class="flex items-center gap-2.5 mt-6">
|
||
{{ $actions }}
|
||
</div>
|
||
@endisset
|
||
|
||
{{-- Optionaler Zusatzinhalt unter den Aktionen (z. B. Onboarding-Schritte) --}}
|
||
{{ $slot }}
|
||
</div>
|