@php $isAdmin = ($mode ?? (auth()->user()?->isDistrictUser() ? 'bezirksstelle' : 'ortstelle')) === 'bezirksstelle'; $kpis = $kpis ?? [ 'openOrders' => 0, 'movements30' => 0, 'critical' => 0, ]; $recentOrders = $recentOrders ?? collect(); $topWarnings = $topWarnings ?? collect(); $statusLabel = [ 'placed' => 'Aufgegeben', 'processing' => 'In Bearbeitung', 'ready' => 'Abholbereit', 'received' => 'Erhalten', ]; $statusPill = [ 'placed' => 'bg-neutral-100 text-rk-slate border-rk', 'processing' => 'bg-blue-50 text-blue-700 border-blue-200', 'ready' => 'bg-emerald-50 text-emerald-700 border-emerald-200', 'received' => 'bg-neutral-100 text-rk-slate border-rk', ]; $orderStatus = $orderStatus ?? request('status', 'alle'); $statusOptions = ['alle' => 'Alle'] + ($statusLabel ?? []); @endphp
{{-- Header --}}
Dashboard
{{ $isAdmin ? 'Überblick über Bestellungen, Lagerstände und Warnungen im Bezirk.' : 'Überblick über Bestellungen, Bestand und Buchungen deiner Ortstelle.' }}
{{-- KPI Row --}}
Offene Bestellungen
{{ (int) ($kpis['openOrders'] ?? 0) }}
{{ $isAdmin ? 'Bezirk gesamt' : 'Deine Ortstelle' }}
Buchungen (30 Tage)
{{ (int) ($kpis['movements30'] ?? 0) }}
Zugänge, Verbräuche & Korrekturen
Kritische Bestände
{{ (int) ($kpis['critical'] ?? 0) }}
Unter Mindestbestand / Bestand 0
{{-- Widgets --}}
{{-- Recent / Urgent Orders --}}
{{ $isAdmin ? 'Aktuelle Bestellungen' : 'Deine Bestellungen' }}
Neueste Vorgänge (Live-Daten)
@if (!$isAdmin) Neue Bestellung @else Alle ansehen @endif
Reset
@forelse($recentOrders as $o) @php $s = (string) $o->status; $pill = $statusPill[$s] ?? 'bg-neutral-100 text-rk-slate border-rk'; $label = $statusLabel[$s] ?? $s; @endphp @empty @endforelse
Bestellung {{ $isAdmin ? 'Ortstelle' : 'Priorität' }} Status Aktion
#{{ $o->id }} @if ($isAdmin) {{ $o->station?->name ?? '—' }} @else {{ strtoupper($o->priority ?? '—') }} · {{ strtoupper($o->urgency ?? '—') }} @endif {{ $label }}
Keine Bestellungen gefunden.
{{-- Warnings --}}
Kritische Lagerstände
{{ $isAdmin ? 'Bezirk: kritisch / warn' : 'Deine Ortstelle' }}
Alle →
@forelse($topWarnings as $w) @php $level = (string) ($w->level ?? 'warn'); $badge = $level === 'kritisch' ? 'bg-red-50 text-red-700 border-red-200' : 'bg-amber-50 text-amber-700 border-amber-200'; $badgeLabel = $level === 'kritisch' ? 'Kritisch' : 'Warnung'; @endphp
{{ $w->product?->name ?? '—' }}
@if ($isAdmin) Ortstelle: {{ $w->station?->name ?? '—' }} @else Variante: {{ $w->variant?->name ?? '—' }} @endif
{{ $badgeLabel }}
Ist: {{ (int) $w->quantity }} · Mindest: {{ (int) ($w->minimum_quantity ?? 0) }}
@empty
Keine Warnungen vorhanden.
@endforelse
{{-- Quick Actions --}}