diff --git a/resources/views/components/server/status-summary.blade.php b/resources/views/components/server/status-summary.blade.php index 5e732fade..8be64a771 100644 --- a/resources/views/components/server/status-summary.blade.php +++ b/resources/views/components/server/status-summary.blade.php @@ -6,10 +6,16 @@ @php $serverReady = $server->isFunctional(); - $proxyUpdateAvailable = $server->proxySet() - && ($server->hasCurrentTraefikOutdatedInfo() || $server->hasPendingProxyConfiguration()); + $proxyConfigurationPending = $server->proxySet() && $server->hasPendingProxyConfiguration(); + $traefikUpdateAvailable = $server->proxySet() && $server->hasCurrentTraefikOutdatedInfo(); + $proxyUpdateAvailable = $proxyConfigurationPending || $traefikUpdateAvailable; $proxyNeedsAttention = $server->proxySet() && (! in_array($proxyStatus, ['running'], true) || $proxyUpdateAvailable); + $proxyStatusLabel = match (true) { + $proxyConfigurationPending => 'Restart required', + $traefikUpdateAvailable => 'Update available', + default => str($proxyStatus ?: 'unknown')->headline(), + }; $sentinelNeedsAttention = $showSentinelStatus && ! $server->isSentinelLive(); [$summaryLabel, $summaryType] = match (true) { @@ -66,7 +72,7 @@ class="listbox-option gap-2.5!" @click="open = false" role="menuitem"> 'bg-error' => $proxyNeedsAttention && ! $proxyUpdateAvailable && ! in_array($proxyStatus, ['starting', 'restarting', 'stopping'], true), ])> Proxy - {{ str($proxyStatus ?: 'unknown')->headline() }} + {{ $proxyStatusLabel }} @endif @if ($showSentinelStatus) diff --git a/tests/Feature/ServerStatusIndicatorDesignTest.php b/tests/Feature/ServerStatusIndicatorDesignTest.php index 5e2b8b5fa..4b31a51d8 100644 --- a/tests/Feature/ServerStatusIndicatorDesignTest.php +++ b/tests/Feature/ServerStatusIndicatorDesignTest.php @@ -39,6 +39,10 @@ expect($summary) ->toContain('$server->hasCurrentTraefikOutdatedInfo()') + ->toContain('$proxyStatusLabel = match (true)') + ->toContain("\$proxyConfigurationPending => 'Restart required'") + ->toContain("\$traefikUpdateAvailable => 'Update available'") + ->toContain('{{ $proxyStatusLabel }}') ->toContain("'bg-warning' => \$proxyNeedsAttention && (\$proxyUpdateAvailable") ->toContain("'bg-warning' => \$sentinelNeedsAttention") ->not->toContain("\$server->isSentinelLive() ? 'bg-success' : 'bg-error'");