{{-- Liste d'historique reutilisable. Variables attendues : - $logs : collection de App\Models\Log (deja triee, deja passee dans transformIdsToValues par le controleur) - $titre : optionnel, titre affiche au-dessus de la liste - $vide : optionnel, message affiche quand la collection est vide --}} @php $titre = $titre ?? 'Historique'; $vide = $vide ?? 'Aucun log trouvé.'; @endphp
📝 {{ $titre }}
@forelse ($logs as $log)
{{-- Header log --}}
{{ mb_strtoupper($log->action_label, 'UTF-8') }} @if ($log->user) par {{ trim(($log->user->prenom ?? '') . ' ' . ($log->user->nom ?? '')) ?: 'Utilisateur #' . $log->user_id }} @endif
{{ $log->created_at->format('d/m/Y H:i') }}
{{-- Contenu du log --}} @if ($log->filtered_new_values) @foreach ($log->filtered_new_values as $key => $newValue) {{-- Si "updated" et que la valeur n'a pas réellement changé, on saute --}} @if ( $log->action === 'updated' && (!isset($log->filtered_old_values[$key]) || $log->filtered_old_values[$key] == $newValue)) @continue @endif {{-- Infos API (client / devis / interventions) : rendu lisible --}} @if ($key === 'infos_api' && is_array($newValue)) @include('admin.membres.users._log_infos_api', ['infos' => $newValue]) @continue @endif
{{ ucfirst(str_replace('_', ' ', $key)) }}
@if ($log->action === 'updated' && isset($log->filtered_old_values[$key])) {{ is_array($log->filtered_old_values[$key]) ? json_encode($log->filtered_old_values[$key], JSON_UNESCAPED_UNICODE) : $log->filtered_old_values[$key] }} → {{ is_array($newValue) ? json_encode($newValue, JSON_UNESCAPED_UNICODE) : $newValue }} @else {{ is_array($newValue) ? json_encode($newValue, JSON_UNESCAPED_UNICODE) : $newValue }} @endif
@endforeach @endif
@empty
{{ $vide }}
@endforelse