presseportale/resources/views/components/portal/alert.blade.php
Kevin Adametz c82962428a 5.5: <x-portal.alert> + 6 Flash-Bloecke umgestellt
Erste 5.5-Component: buendelt den kopierten session()-Flash-Alert (Icon +
Farbschema) mit variant=success|error; Nachricht als Slot. Erzeugt
identisches Markup.

Umgestellt: categories/create (success), categories/edit (success+error),
footer-codes/index (success+error), presets/index (success).

Bewusst NICHT umgestellt: companies/show (abweichendes, icon-loses Design
mit zusaetzlicher info-Variante und anderen Farbtokens) — bleibt bespoke.

Render-Smoke geprueft, alle Views kompilieren, 23 Tests gruen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 08:39:44 +00:00

24 lines
1.1 KiB
PHP

@props([
/** Farb-/Icon-Variante: success (grün, check) | error (rot, Warnzeichen) */
'variant' => 'success',
])
@php
$variant = in_array($variant, ['success', 'error'], true) ? $variant : 'success';
@endphp
{{--
Portal-Flash-Meldung. Ersetzt den mehrfach kopierten session()-Alert-Block.
Nachricht als Slot: <x-portal.alert variant="success">{{ session('success') }}</x-portal.alert>
--}}
@if ($variant === 'error')
<div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-start gap-3 bg-[color:var(--color-err-soft)] border-[color:var(--color-err)]/30 text-[color:var(--color-ink-2)]">
<flux:icon.exclamation-triangle class="size-[16px] flex-shrink-0 mt-0.5 text-[color:var(--color-err)]" />
<div class="flex-1">{{ $slot }}</div>
</div>
@else
<div class="px-4 py-3 rounded-[5px] border text-[12.5px] flex items-center gap-2 bg-[color:var(--color-ok-soft)] border-[color:var(--color-ok)]/30 text-[color:var(--color-gain-deep)]">
<flux:icon.check-circle class="size-[16px] flex-shrink-0" />
{{ $slot }}
</div>
@endif