presseportale/resources/views/components/portal/stat-card.blade.php
Kevin Adametz 036a53499f Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:08:08 +00:00

39 lines
1.1 KiB
PHP

@props([
/**
* Strip- und Label-Farbvariante.
* Erlaubte Werte: primary | ok | warn | muted.
* Mockup: dev/frontend/tailwind_v3/User Dashboard presseportale.html
*/
'variant' => 'muted',
/** Eyebrow-Label oben links (UPPERCASE, sperrgesetzt) */
'label' => '',
/** Hauptzahl in JetBrains Mono */
'value' => 0,
])
@php
$allowedVariants = ['primary', 'ok', 'warn', 'muted'];
$variant = in_array($variant, $allowedVariants, true) ? $variant : 'muted';
@endphp
<article {{ $attributes->class(['stat-card', "is-{$variant}"]) }}>
<span class="stat-strip"></span>
{{-- flex-wrap: auf schmalen Karten rutscht das Meta unter das Label,
statt mit ihm zu kollidieren --}}
<div class="flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5">
<div class="stat-label min-w-0">{{ $label }}</div>
@isset($meta)
<span class="stat-meta">{{ $meta }}</span>
@endisset
</div>
<div class="stat-num">{{ $value }}</div>
@isset($trend)
<div class="stat-trend">{{ $trend }}</div>
@endisset
</article>