diff --git a/Dashboard/MainWindow.xaml.cs b/Dashboard/MainWindow.xaml.cs index 9ff95486..3afcf7e6 100644 --- a/Dashboard/MainWindow.xaml.cs +++ b/Dashboard/MainWindow.xaml.cs @@ -445,6 +445,12 @@ private void OpenServerTab(ServerConnection server) Helpers.ServerTimeHelper.UtcOffsetMinutes = utcOffset; var serverTab = new ServerTab(server, utcOffset); + serverTab.AlertAcknowledged += (_, _) => + { + _emailAlertService.HideAllAlerts(8760, server.DisplayName); + UpdateAlertBadge(); + _alertsHistoryContent?.RefreshAlerts(); + }; var headerPanel = new StackPanel { Orientation = Orientation.Horizontal }; var headerText = new TextBlock diff --git a/Dashboard/ServerTab.xaml.cs b/Dashboard/ServerTab.xaml.cs index 055fb452..5c849416 100644 --- a/Dashboard/ServerTab.xaml.cs +++ b/Dashboard/ServerTab.xaml.cs @@ -28,6 +28,12 @@ public partial class ServerTab : UserControl private readonly ICredentialService _credentialService; private ServerHealthStatus? _lastKnownStatus; + /// + /// Raised when the user acknowledges a sub-tab alert (Locking, Memory, etc.) + /// so the sidebar badge can be updated. + /// + public event EventHandler? AlertAcknowledged; + /// /// This server's UTC offset in minutes, used to restore the global /// ServerTimeHelper when this tab becomes active. @@ -3097,6 +3103,8 @@ private void AcknowledgeSubTabAlert_Click(object sender, RoutedEventArgs e) { badge.Visibility = Visibility.Collapsed; } + + AlertAcknowledged?.Invoke(this, EventArgs.Empty); } } }