{{-- resources/views/ui/search/index.blade.php --}} @php $q = $q ?? request('q', ''); $type = $type ?? request('type', 'alle'); $counts = $counts ?? ['orders' => 0, 'inventory' => 0, 'movements' => 0, 'products' => 0, 'stations' => 0]; $tabs = [ 'alle' => [ 'Alle', $counts['orders'] + $counts['inventory'] + $counts['movements'] + $counts['products'] + $counts['stations'], ], 'orders' => ['Bestellungen', $counts['orders']], 'inventory' => ['Lager', $counts['inventory']], 'movements' => ['Buchungen', $counts['movements']], 'products' => ['Artikel', $counts['products']], 'stations' => ['Ortstellen', $counts['stations']], ]; $tabClass = function (string $k) use ($type) { $active = $type === $k; return $active ? 'bg-rk-red text-white border-transparent' : 'bg-white border-rk text-rk-charcoal hover:bg-neutral-50'; }; @endphp
{{-- Header --}}
Globale Suche
Durchsucht Bestellungen, Lager, Buchungen, Artikel und Ortstellen – immer im richtigen Scope.
{{-- Tabs --}}
@foreach ($tabs as $k => $t) {{ $t[0] }} ({{ (int) $t[1] }}) @endforeach
@if ($q === '')
Gib einen Suchbegriff ein, um Ergebnisse zu sehen.
@else {{-- RESULTS GRID --}}
{{-- ORDERS --}} @if ($type === 'alle' || $type === 'orders')
Bestellungen
Treffer: {{ (int) ($counts['orders'] ?? 0) }}
Zur Liste →
@forelse($orders as $o) @empty @endforelse
ID Ortstelle Status Aktion
#{{ $o->id }} {{ $o->station?->name ?? '—' }} {{ $o->status ?? '—' }} Öffnen
Keine Treffer.
@endif {{-- INVENTORY --}} @if ($type === 'alle' || $type === 'inventory')
Lager
Treffer: {{ (int) ($counts['inventory'] ?? 0) }}
@forelse($inventory as $i) @empty @endforelse
Artikel Variante Ortstelle Bestand
{{ $i->product?->name ?? '—' }} {{ $i->variant?->name ?? '—' }} {{ $i->station?->name ?? '—' }} {{ (int) ($i->quantity ?? 0) }}
Keine Treffer.
@endif {{-- MOVEMENTS --}} @if ($type === 'alle' || $type === 'movements')
Buchungen
Treffer: {{ (int) ($counts['movements'] ?? 0) }}
@forelse($movements as $m) @php $pill = (int) $m->quantity_delta >= 0 ? 'bg-emerald-50 text-emerald-700 border-emerald-200' : 'bg-red-50 text-red-700 border-red-200'; @endphp @empty @endforelse
Zeitpunkt Artikel Ortstelle Delta
{{ optional($m->booked_at ?? $m->created_at)->format('d.m.Y H:i') }} {{ $m->product?->name ?? '—' }}
{{ $m->variant?->name ?? '' }}
{{ $m->station?->name ?? '—' }} {{ (int) $m->quantity_delta > 0 ? '+' : '' }}{{ (int) $m->quantity_delta }}
Keine Treffer.
@endif {{-- PRODUCTS --}} @if ($type === 'alle' || $type === 'products')
Artikel
Treffer: {{ (int) ($counts['products'] ?? 0) }}
@forelse($products as $p) @empty @endforelse
Name Kategorie Varianten
{{ $p->name }} {{ $p->category ?? '—' }} {{ (int) ($p->variants_count ?? 0) }}
Keine Treffer.
@endif {{-- STATIONS --}} @if ($type === 'alle' || $type === 'stations')
Ortstellen
Treffer: {{ (int) ($counts['stations'] ?? 0) }}
@forelse($stations as $s) @empty @endforelse
Name Status
{{ $s->name }} {{ (int) ($s->active ?? 1) === 1 ? 'aktiv' : 'deaktiviert' }}
Keine Treffer.
@endif
@endif