@props([ 'server', 'proxyStatus' => null, 'showSentinelStatus' => false, ]) @php $serverReady = $server->isFunctional(); $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) { ! $serverReady => ['Unavailable', 'error'], $proxyNeedsAttention || $sentinelNeedsAttention => ['Attention required', 'warning'], default => ['Ready', 'success'], }; @endphp
$summaryType === 'success', 'bg-warning' => $summaryType === 'warning', 'bg-error' => $summaryType === 'error', ])> {{ $summaryLabel }}