{{-- resources/views/vehicles/select.blade.php --}} @php /** @var \Illuminate\Support\Collection|\App\Models\Vehicle[] $vehicles */ $title = 'Fahrzeug auswählen'; $pageTitle = 'Fahrzeug auswählen'; $pageSubtitle = 'Bitte wähle ein Fahrzeug aus, um fortzufahren.'; $countReady = $vehicles->filter(fn($v) => (int) ($v->is_active ?? 0) === 0)->count(); $countNotReady = $vehicles->filter(fn($v) => (int) ($v->is_active ?? 0) === 1)->count(); $countWorkshop = $vehicles->filter(fn($v) => (int) ($v->is_active ?? 0) === 2)->count(); @endphp
{{-- Header / Info --}}
Auswahl erforderlich
Nach der Auswahl werden alle Module auf dieses Fahrzeug gefiltert.
Einsatzbereit: {{ $countReady }} Nicht einsatzbereit: {{ $countNotReady }} Werkstatt: {{ $countWorkshop }}
{{ $vehicles->count() }} Fahrzeuge
{{-- Sidebar with subtle pattern --}} {{-- List --}}
Fahrzeuge
Klicke eine Zeile zur Auswahl.
@forelse($vehicles as $vehicle) @php $isCurrent = $currentVehicle && (int) $currentVehicle->id === (int) $vehicle->id; $displayName = $vehicle->name ?? ($vehicle->call_sign ?? 'RTW'); $callSign = $vehicle->call_sign ?? 'RTW'; $plate = $vehicle->license_plate ?? '—'; $responsibles = $vehicle->responsibleUsers?->pluck('name')->filter()->values() ?? collect(); $visible = $responsibles->take(3); $rest = max(0, $responsibles->count() - $visible->count()); $responsibleText = $responsibles->isEmpty() ? '—' : $responsibles->join(', '); $stripe = match ((int) ($vehicle->is_active ?? 0)) { 0 => 'from-emerald-500 to-emerald-400', 1 => 'from-amber-500 to-amber-400', 2 => 'from-blue-500 to-blue-400', default => 'from-gray-400 to-gray-300', }; // Brand-nuanced status badge mapping (instead of gray) $statusBadge = match ((int) ($vehicle->is_active ?? 0)) { 0 => 'bg-emerald-50 text-emerald-700 ring-emerald-200', 1 => 'bg-amber-50 text-amber-800 ring-amber-200', 2 => 'bg-blue-50 text-blue-700 ring-blue-200', default => 'bg-gray-100 text-gray-700 ring-gray-200', }; @endphp
@csrf
@empty
Keine Fahrzeuge
Dir sind aktuell keine Fahrzeuge zugewiesen.
@endforelse