diff --git a/resources/views/components/server/status-summary.blade.php b/resources/views/components/server/status-summary.blade.php
index 8be64a7711..ea2306397e 100644
--- a/resources/views/components/server/status-summary.blade.php
+++ b/resources/views/components/server/status-summary.blade.php
@@ -16,7 +16,13 @@
$traefikUpdateAvailable => 'Update available',
default => str($proxyStatus ?: 'unknown')->headline(),
};
- $sentinelNeedsAttention = $showSentinelStatus && ! $server->isSentinelLive();
+ $sentinelStatus = $server->sentinelStatus();
+ $sentinelNeedsAttention = $showSentinelStatus && $sentinelStatus === 'out_of_sync';
+ $sentinelStatusLabel = match ($sentinelStatus) {
+ 'waiting' => 'Waiting for first report',
+ 'in_sync' => 'In sync',
+ default => 'Out of sync',
+ };
[$summaryLabel, $summaryType] = match (true) {
! $serverReady => ['Unavailable', 'error'],
@@ -80,11 +86,12 @@
class="listbox-option gap-2.5!" @click="open = false" role="menuitem">
! $sentinelNeedsAttention,
- 'bg-warning' => $sentinelNeedsAttention,
+ 'bg-success' => $sentinelStatus === 'in_sync',
+ 'bg-neutral-400 dark:bg-fg-faint' => $sentinelStatus === 'waiting',
+ 'bg-warning' => $sentinelStatus === 'out_of_sync',
])>
Sentinel
- {{ $server->isSentinelLive() ? 'In sync' : 'Out of sync' }}
+ {{ $sentinelStatusLabel }}
@endif
diff --git a/resources/views/livewire/dashboard.blade.php b/resources/views/livewire/dashboard.blade.php
index e83dc1a5cc..91c74cfba5 100644
--- a/resources/views/livewire/dashboard.blade.php
+++ b/resources/views/livewire/dashboard.blade.php
@@ -161,7 +161,7 @@
@foreach ($dashboardServers as $server)
@php
$proxyNeedsAttention = $server->proxySet() && ($server->proxy->status !== 'running' || $server->hasCurrentTraefikOutdatedInfo());
- $sentinelNeedsAttention = $server->isSentinelEnabled() && ! $server->isSentinelLive();
+ $sentinelNeedsAttention = $server->isSentinelEnabled() && $server->sentinelStatus() === 'out_of_sync';
[$serverStatus, $serverStatusType] = match (true) {
$server->settings->force_disabled => ['Disabled', 'error'],
diff --git a/resources/views/livewire/server/index.blade.php b/resources/views/livewire/server/index.blade.php
index c86b499396..cfe6b78f33 100644
--- a/resources/views/livewire/server/index.blade.php
+++ b/resources/views/livewire/server/index.blade.php
@@ -35,7 +35,7 @@
&& ! $isTransferredAway;
$proxyNeedsAttention = $isReady && $server->proxySet()
&& ($server->proxy->status !== 'running' || $server->hasCurrentTraefikOutdatedInfo());
- $sentinelNeedsAttention = $isReady && $server->isSentinelEnabled() && ! $server->isSentinelLive();
+ $sentinelNeedsAttention = $isReady && $server->isSentinelEnabled() && $server->sentinelStatus() === 'out_of_sync';
$status = match (true) {
$isTransferredAway => 'Transferred away',
diff --git a/resources/views/livewire/server/sentinel/logs.blade.php b/resources/views/livewire/server/sentinel/logs.blade.php
index 8211633e3a..ed2f350c66 100644
--- a/resources/views/livewire/server/sentinel/logs.blade.php
+++ b/resources/views/livewire/server/sentinel/logs.blade.php
@@ -11,9 +11,16 @@
helper="Search, filter, follow, copy, or download recent output from the Sentinel container."
flush class="logs-settings-section">
@if ($server->isSentinelEnabled())
+ @php
+ $sentinelStatus = $server->sentinelStatus();
+ [$sentinelStatusLabel, $sentinelStatusType] = match ($sentinelStatus) {
+ 'waiting' => ['Waiting for first report', 'neutral'],
+ 'in_sync' => ['In sync', 'success'],
+ default => ['Out of sync', 'warning'],
+ };
+ @endphp