{{-- ── Summary strip ─────────────────────────────────────────────────────── --}}
{{-- Active Jobs --}}
{{ $allActive }}
Active Jobs
{{-- Open Sections --}}
{{ $totalSections }}
Open Sections
{{-- Assigned --}}
{{ $assignedCount }}
Assigned
{{-- Today's Hours --}}
{{ number_format($todayTotal, 1) }}h
Today's Hours
{{-- ── Mechanic cards ──────────────────────────────────────────────────────── --}}
@foreach($mechanics as $m) @php $eff = $m['efficiency']; $effColor = $eff === null ? 'text-gray-400' : ($eff > 110 ? 'text-red-600' : ($eff > 85 ? 'text-green-700' : 'text-amber-600')); $todayColor = $m['today_logged'] > 0 ? 'text-green-700' : 'text-gray-400'; $hasWork = $m['is_active']; @endphp
{{-- Mechanic header --}}
{{ $m['initials'] }}
{{ $m['user']->name }}
{{ $m['user']->email }}
@if($hasWork)
Today
{{ number_format($m['today_logged'], 1) }}h
@endif
{{-- Metrics row --}} @if($hasWork)
{{ $m['sections']->count() }}
Section{{ $m['sections']->count() !== 1 ? 's' : '' }}
{{ number_format($m['total_quoted'], 1) }}h
Quoted
{{ $eff !== null ? $eff . '%' : '—' }}
Efficiency
@endif {{-- Assigned sections --}} @if($m['sections']->isEmpty())
No active assignments
@else
@foreach($m['sections'] as $item) @php $s = $item['section']; $jc = $item['job_card']; $quoted = $item['quoted']; $logged = $item['logged']; $over = $quoted > 0 && $logged > $quoted; $statusColors = [ 'open' => 'bg-gray-100 text-gray-600', 'pending_approval' => 'bg-amber-100 text-amber-700', 'approved' => 'bg-blue-100 text-blue-700', 'paid' => 'bg-green-100 text-green-700', ]; $statusColor = $statusColors[$s->status] ?? 'bg-gray-100 text-gray-600'; $statusLabel = \App\Domain\Workshop\Models\JobCardSection::STATUSES[$s->status] ?? $s->status; @endphp
{{ $s->name }}
{{ $jc->vehicleDescription() }} @if($jc->vehicle_registration) {{ $jc->vehicle_registration }} @endif
{{ $statusLabel }}
{{ number_format($logged, 1) }}h logged @if($quoted > 0) / {{ number_format($quoted, 1) }}h quoted @if($over) Over @endif @endif
@endforeach
@endif
@endforeach
{{-- ── Unassigned sections ──────────────────────────────────────────────────── --}} @if($unassigned->isNotEmpty())

Unassigned Sections ({{ $unassigned->count() }})

@foreach($unassigned as $item) @php $s = $item['section']; $jc = $item['job_card']; $statusColors = ['open' => 'bg-gray-100 text-gray-600','pending_approval' => 'bg-amber-100 text-amber-700','approved' => 'bg-blue-100 text-blue-700','paid' => 'bg-green-100 text-green-700']; $statusColor = $statusColors[$s->status] ?? 'bg-gray-100 text-gray-600'; $statusLabel = \App\Domain\Workshop\Models\JobCardSection::STATUSES[$s->status] ?? $s->status; @endphp @endforeach
Section Vehicle Status Quoted Logged
{{ $s->name }} {{ $jc->vehicleDescription() }} @if($jc->vehicle_registration) {{ $jc->vehicle_registration }} @endif {{ $statusLabel }} {{ $item['quoted'] > 0 ? number_format($item['quoted'], 1) . 'h' : '—' }} {{ number_format($item['logged'], 1) }}h
@endif