diff --git a/resources/views/components/status/running.blade.php b/resources/views/components/status/running.blade.php index 92a04d33d..a44cc111b 100644 --- a/resources/views/components/status/running.blade.php +++ b/resources/views/components/status/running.blade.php @@ -4,6 +4,26 @@ 'lastDeploymentLink' => null, 'noLoading' => false, ]) +@php + // Handle both colon format (backend) and parentheses format (from services.blade.php) + // running:healthy → Running (healthy) + // running (healthy) → running (healthy) (already formatted, display as-is) + + if (str($status)->contains('(')) { + // Already in parentheses format from services.blade.php - use as-is + $displayStatus = $status; + $healthStatus = str($status)->after('(')->before(')')->trim()->value(); + } elseif (str($status)->contains(':') && !str($status)->startsWith('Proxy')) { + // Colon format from backend - transform it + $parts = explode(':', $status); + $displayStatus = str($parts[0])->headline(); + $healthStatus = $parts[1] ?? null; + } else { + // Simple status without health + $displayStatus = str($status)->headline(); + $healthStatus = null; + } +@endphp
@@ -12,21 +32,39 @@ @if ($title) title="{{ $title }}" @endif> @if ($lastDeploymentLink) - {{ str($status)->before(':')->headline() }} + {{ $displayStatus }} @else - {{ str($status)->before(':')->headline() }} + {{ $displayStatus }} @endif
+ @if ($healthStatus && !str($displayStatus)->contains('(')) +
({{ $healthStatus }})
+ @endif @php + $showUnknownHelper = + !str($status)->startsWith('Proxy') && + (str($status)->contains('unknown') || str($healthStatus)->contains('unknown')); $showUnhealthyHelper = !str($status)->startsWith('Proxy') && - !str($status)->contains('(') && - str($status)->contains('unhealthy'); + (str($status)->contains('unhealthy') || str($healthStatus)->contains('unhealthy')); @endphp + @if ($showUnknownHelper) + + + + + + @endif @if ($showUnhealthyHelper) + helper="Unhealthy state. The health check is failing.

This resource will NOT work with Traefik as it expects a healthy state. Your action is required to fix the health check or the underlying issue causing it to fail.

More details in the documentation.">