@extends('layouts.admin') @section('content') @php use App\Enums\ServiceStatusEnum; use App\Enums\IncidentImpactEnum; use App\Enums\IncidentStatusEnum; $serviceBadge = static function (ServiceStatusEnum $s): string { $base = 'px-2 py-0.5 inline-flex text-xs leading-5 font-semibold rounded-full'; return $base.' '.match ($s) { ServiceStatusEnum::Operational => 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200', ServiceStatusEnum::Degraded => 'bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200', ServiceStatusEnum::Maintenance => 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200', ServiceStatusEnum::PartialOutage => 'bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200', ServiceStatusEnum::MajorOutage => 'bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200', }; }; $impactBadge = static function (IncidentImpactEnum $i): string { $base = 'px-2 py-0.5 inline-flex text-xs leading-5 font-semibold rounded-full'; return $base.' '.match ($i) { IncidentImpactEnum::None => 'bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200', IncidentImpactEnum::Minor => 'bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200', IncidentImpactEnum::Major => 'bg-orange-100 dark:bg-orange-900 text-orange-800 dark:text-orange-200', IncidentImpactEnum::Critical => 'bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200', }; }; $incidentStatusBadge = static function (IncidentStatusEnum $st): string { $base = 'px-2 py-0.5 inline-flex text-xs leading-5 font-semibold rounded-full'; return $base.' '.match ($st) { IncidentStatusEnum::Investigating => 'bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200', IncidentStatusEnum::Identified => 'bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200', IncidentStatusEnum::Monitoring => 'bg-cyan-100 dark:bg-cyan-900 text-cyan-800 dark:text-cyan-200', IncidentStatusEnum::Resolved => 'bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200', }; }; @endphp