using System.Windows.Forms; using System.Windows.Forms.Integration; using Pulsar.Server.Controls.Wpf; using Pulsar.Server.Statistics; #nullable enable namespace Pulsar.Server.Controls { public sealed class StatsElementHost : ElementHost { private readonly StatsView _statsView; private ClientStatisticsSnapshot? _lastSnapshot; public StatsElementHost() { _statsView = new StatsView(); Child = _statsView; Dock = DockStyle.Fill; } public void ShowLoading() { _statsView.ShowLoading(); } public void ShowError(string message) { _statsView.ShowError(message); } public void UpdateSnapshot(ClientStatisticsSnapshot snapshot) { _lastSnapshot = snapshot; _statsView.UpdateSnapshot(snapshot); } public void ApplyTheme(bool isDarkMode) { _statsView.ApplyTheme(isDarkMode); if (_lastSnapshot != null && !_lastSnapshot.HasError) { _statsView.UpdateSnapshot(_lastSnapshot); } } } }