@php
$statusColor = match(true) {
$log->status >= 503 => 'bg-yellow-100 text-yellow-700',
$log->status >= 500 => 'bg-red-100 text-red-700',
$log->status >= 429 => 'bg-orange-100 text-orange-700',
$log->status >= 404 => 'bg-gray-100 text-gray-600',
$log->status >= 400 => 'bg-amber-100 text-amber-700',
default => 'bg-gray-100 text-gray-500',
};
$explanations = [
400 => ['titel' => 'Ongeldig verzoek', 'uitleg' => 'De server kon het verzoek niet verwerken omdat de invoer onjuist of onvolledig was. Waarschijnlijk een validatiefout of een misvormde request.'],
401 => ['titel' => 'Niet geauthenticeerd', 'uitleg' => 'De gebruiker is niet ingelogd of de sessie is verlopen. De server vereist een geldige login voor dit verzoek.'],
403 => ['titel' => 'Toegang geweigerd', 'uitleg' => 'De gebruiker is ingelogd maar heeft geen rechten voor deze actie. Controleer de autorisatieregels (Policy / Gate).'],
404 => ['titel' => 'Pagina niet gevonden', 'uitleg' => 'De gevraagde URL bestaat niet of het bijbehorende record is verwijderd. Kan ook duiden op een verkeerde link of een verwijderd object.'],
405 => ['titel' => 'Methode niet toegestaan', 'uitleg' => 'De HTTP-methode (GET, POST, …) is niet toegestaan op dit eindpunt. Vaak een fout in een formulier of API-aanroep.'],
408 => ['titel' => 'Verzoek verlopen', 'uitleg' => 'De server heeft te lang gewacht op de client. Kan duiden op een trage verbinding of een hangende upload.'],
419 => ['titel' => 'CSRF-token verlopen', 'uitleg' => 'Het beveiligingstoken in het formulier is verlopen (sessie te lang inactief of pagina te lang open). Gebruiker moest de pagina vernieuwen.'],
422 => ['titel' => 'Niet-verwerkbare invoer', 'uitleg' => 'De invoer is syntactisch correct maar semantisch ongeldig — typisch een mislukte validatie. De exacte validatiefouten staan hieronder als die beschikbaar zijn.'],
429 => ['titel' => 'Te veel verzoeken', 'uitleg' => 'De rate limiter heeft dit IP of deze gebruiker geblokkeerd wegens te veel aanvragen in korte tijd. Controleer of dit legitiem gebruik is of een aanval.'],
500 => ['titel' => 'Interne serverfout', 'uitleg' => 'Er is een onverwachte fout opgetreden in de applicatie. Controleer de App-fouten tab voor de bijbehorende exception en stack trace.'],
502 => ['titel' => 'Slechte gateway', 'uitleg' => 'Een tussenliggende server (proxy, load balancer) ontving een ongeldige respons. Vaak een tijdelijk probleem bij herstarts of overbelasting.'],
503 => ['titel' => 'Service niet beschikbaar', 'uitleg' => 'De server is tijdelijk niet beschikbaar — onderhoudsmodus, overbelasting of een gecrasht proces. Controleer of de applicatie nog draait.'],
504 => ['titel' => 'Gateway timeout', 'uitleg' => 'Een achterliggende dienst (database, externe API) reageerde te traag. Controleer de databaseverbinding of trage queries.'],
];
$explanation = $explanations[$log->status] ?? [
'titel' => 'HTTP ' . $log->status,
'uitleg' => $log->status >= 500
? 'Serverfout — de applicatie kon het verzoek niet voltooien door een interne fout.'
: 'Clientfout — het verzoek kon niet worden verwerkt door een probleem aan de kant van de browser of gebruiker.',
];
@endphp
{{-- Uitleg --}}