@inherits LayoutComponentBase @implements IDisposable
@GetStatusText()
@if (health?.IsConnected == true) { @(health.ResponseTimeMs)ms latency }
@Body
An unhandled error has occurred. Reload
@code { private DatabaseHealthStatus? health; private bool isChecking; protected override async Task OnInitializedAsync() { ConfigService.OnConfigurationChanged += HandleConfigChanged; await RefreshHealthAsync(); } private async Task RefreshHealthAsync() { isChecking = true; StateHasChanged(); health = await DbService.CheckHealthAsync(); isChecking = false; StateHasChanged(); } private void HandleConfigChanged() { _ = RefreshHealthAsync(); } private string GetStatusClass() { if (health == null) return "status-inmemory"; if (!health.IsConnected) return "status-disconnected"; if (health.ProviderType == DatabaseProviderType.InMemory) return "status-inmemory"; return "status-connected"; } private string GetStatusDotClass() { if (health == null) return "purple"; if (!health.IsConnected) return "red"; if (health.ProviderType == DatabaseProviderType.InMemory) return "purple"; return "green"; } private string GetStatusText() { if (health == null) return "Checking connection..."; if (!health.IsConnected) return "Disconnected"; if (health.ProviderType == DatabaseProviderType.InMemory) return "In-Memory Active"; return "PostgreSQL Connected"; } public void Dispose() { ConfigService.OnConfigurationChanged -= HandleConfigChanged; } }