{{-- resources/views/filament/components/seo-audit-panel.blade.php --}} {{-- 100% inline styles — Filament CSS does not scan this file --}} @php $score = $result->score; $checks = $result->checks; $primaryKeyword = $result->primaryKeyword; $secondaryKeywords = $result->secondaryKeywords; $isEmpty = ($score === 0 && $primaryKeyword === ''); [$ringColor, $bgColor, $textColor, $labelText] = match(true) { $score >= 71 => ['#16a34a', '#f0fdf4', '#15803d', 'Bon'], $score >= 41 => ['#d97706', '#fffbeb', '#b45309', 'À améliorer'], default => ['#dc2626', '#fef2f2', '#b91c1c', 'Insuffisant'], }; $circumference = 2 * M_PI * 40; $dashOffset = $circumference * (1 - $score / 100); $fails = array_values(array_filter($checks, fn($c) => $c['status'] === 'fail')); $warnings = array_values(array_filter($checks, fn($c) => $c['status'] === 'warning')); $passes = array_values(array_filter($checks, fn($c) => $c['status'] === 'pass')); $groups = []; if (count($fails)) $groups[] = ['checks' => $fails, 'color' => '#dc2626', 'bg' => '#fef2f2', 'dot' => '#fca5a5', 'label' => 'Problèmes']; if (count($warnings)) $groups[] = ['checks' => $warnings, 'color' => '#d97706', 'bg' => '#fffbeb', 'dot' => '#fcd34d', 'label' => 'Avertissements']; if (count($passes)) $groups[] = ['checks' => $passes, 'color' => '#16a34a', 'bg' => '#f0fdf4', 'dot' => '#86efac', 'label' => 'Validé']; @endphp @if($isEmpty)

Ajoutez du contenu pour lancer l'analyse SEO

L'audit démarre automatiquement dès que l'article contient assez de texte.

@else
{{-- Header: ring + keywords --}}
{{-- Circular score ring --}}
{{ $score }} /100
{{-- Score label + keywords --}}
@if($score >= 71) @elseif($score >= 41) @else @endif {{ $labelText }} {{ count($passes) }}/{{ count($checks) }} points validés
@if($primaryKeyword)

Mots-clés détectés

{{ $primaryKeyword }} @foreach($secondaryKeywords as $kw) {{ $kw }} @endforeach

Détection automatique — vérifiez la pertinence.

@endif
{{-- Check groups --}} @foreach($groups as $grp)
{{ $grp['label'] }} {{ count($grp['checks']) }}
@foreach($grp['checks'] as $i => $check)

{{ $check['label'] }}

{{ $check['message'] }}

{{ $check['weight'] }}pt
@endforeach
@endforeach
@endif