{{ __('admin.page_overview_customer_report') }} {{-- Filter bar --}}
{{-- Customer select --}}
{{-- Date from --}}
{{-- Date to --}}
{{-- Apply button --}}
{{-- Quick-filter buttons --}}
@foreach(['week' => 'report_filter_week', 'month' => 'report_filter_month', '30days' => 'report_filter_30days', 'season' => 'report_filter_season'] as $key => $label) {{ __('overview.' . $label) }} @endforeach
@if(!$selectedCustomer) {{-- No customer selected --}} @elseif($totalJobs > 0) {{-- Sammel-PDF Button + Email Button --}}
{{ __('overview.customer_report_sammel_pdf') }} @if($selectedCustomer->notification_email || $selectedCustomer->email) @endif
{{-- Email Confirmation Modal --}} @if($selectedCustomer->notification_email || $selectedCustomer->email)
@csrf {{ __('overview.customer_report_send_email') }}
@endif {{-- KPI Summary Cards --}}
{{-- Total jobs --}}
{{ __('overview.customer_report_total_jobs') }}
{{ $totalJobs }}
{{-- Total hours --}}
{{ __('overview.customer_report_total_hours') }}
@php $h = intdiv($totalMinutes, 60); $m = $totalMinutes % 60; @endphp {{ $h > 0 ? $h . 'h ' . $m . 'min' : $m . 'min' }}
{{-- Driver count --}}
{{ __('overview.customer_report_driver_count') }}
{{ $driverCount }}
{{-- Job type breakdown --}}
{{ __('overview.customer_report_type_breakdown') }}
@foreach($jobTypeBreakdown as $type => $count)
{{ __('job.type_' . $type) }}: {{ $count }}
@endforeach
{{-- Average duration --}}
{{ __('overview.customer_report_avg_duration') }}
@php $ah = intdiv($avgDurationMinutes, 60); $am = $avgDurationMinutes % 60; @endphp {{ $ah > 0 ? $ah . 'h ' . $am . 'min' : $am . 'min' }}
{{-- Frequency --}}
{{ __('overview.customer_report_frequency') }}
@if($frequencyPerWeek !== null) {{ $frequencyPerWeek }} {{ __('overview.customer_report_frequency_per_week') }} @else {{ $totalJobs }} {{ __('overview.customer_report_frequency_absolute') }} @endif
{{-- Job Table --}}
@foreach($jobs as $job) @endforeach
{{ __('overview.report_col_date') }} {{ __('overview.report_col_object') }} {{ __('overview.report_col_driver') }} {{ __('overview.report_col_type') }} {{ __('overview.report_col_start') }} {{ __('overview.report_col_end') }} {{ __('overview.report_col_duration') }}
{{ $job->localStartedAt()->format('d.m.Y') }} {{ $job->customerObject?->name ?? '–' }} {{ $job->user->displayName() }} {{ $job->type->label() }} {{ $job->localStartedAt()->format('H:i') }} {{ $job->ended_at ? $job->localEndedAt()->format('H:i') : '—' }} @if($job->ended_at) @php $jm = $job->started_at->diffInMinutes($job->ended_at); $jh = intdiv($jm, 60); $jr = $jm % 60; @endphp {{ $jh > 0 ? $jh . 'h ' . $jr . 'min' : $jr . 'min' }} @else {{ __('overview.active_badge') }} @endif
@else {{-- Customer selected but no jobs --}} @endif