@props([ 'results' => [], 'expanded' => false, ]) @php // Extract the actual checks from nested structure $checks = $results['checks'] ?? $results; // Filter out non-filter keys (metadata fields) $metadataKeys = ['passed', 'evaluated_at', 'failed_count', 'passed_count', 'filter_version', 'checks']; $checks = collect($checks)->filter(function($value, $key) use ($metadataKeys) { return !in_array($key, $metadataKeys) && is_array($value) && isset($value['passed']); })->toArray(); $passedCount = collect($checks)->filter(fn($r) => $r['passed'] ?? false)->count(); $failedCount = collect($checks)->filter(fn($r) => !($r['passed'] ?? true))->count(); $totalCount = count($checks); @endphp
merge(['class' => 'filter-results-panel']) }} > @if($totalCount > 0) {{-- Summary Badge --}}
{{ $passedCount }} @if($failedCount > 0) {{ $failedCount }} @endif {{ $passedCount }}/{{ $totalCount }} {{ __('critères') }}
{{-- Detailed Results --}}
{{-- --}} @foreach($checks as $key => $result) @php // Get filter name - prefer 'label' (seeder format), then translation, then formatted key $filterName = $result['label'] ?? (trans()->has("lead_filters.{$key}") ? __("lead_filters.{$key}") : ucfirst(str_replace('_', ' ', $key))); // Helper to format values $formatValue = function($val) { if (is_array($val)) return implode(', ', $val); if (is_bool($val)) return $val ? 'Oui' : 'Non'; if (is_numeric($val)) return number_format($val, is_float($val) ? 2 : 0, ',', ' '); return $val; }; // Format expected/actual values - handle both real and seeder data structures $expectedDisplay = '-'; $actualDisplay = '-'; // Real filter results have 'expected' and 'actual' if (isset($result['expected'])) { $expectedDisplay = $formatValue($result['expected']); } if (isset($result['actual'])) { $actualDisplay = $formatValue($result['actual']); } // Seeder data has 'value' field - use it for actual if no expected/actual if ($expectedDisplay === '-' && $actualDisplay === '-' && isset($result['value'])) { $actualDisplay = $formatValue($result['value']); } @endphp {{-- --}} {{-- --}} @endforeach
{{ __('Critère') }} {{ __('Statut') }}{{ __('Attendu') }} {{ __('Actuel') }}
{{ __($filterName) }} @if($result['passed'] ?? false) @else @endif {{ $expectedDisplay }} {{ $actualDisplay }}
@else {{ __('Aucun filtre appliqué') }} @endif