Files
ChronoCCG/Chrono/Web/Components/NetworkStatusChip.razor
T
6d486f49 09a8adfc4a Test
2026-08-14 17:19:24 -04:00

28 lines
853 B
Plaintext

@inject NetworkStatusService NetworkStatus
@implements IDisposable
<div class="network-status-chip @(NetworkStatus.IsOnline ? "online" : "offline")"
title="@(NetworkStatus.IsOnline ? "Connected - App is online" : "Offline - Running from local cache")">
<span class="status-dot"></span>
<i class="bi @(NetworkStatus.IsOnline ? "bi-wifi" : "bi-wifi-off") status-icon"></i>
<span class="status-text">@(NetworkStatus.IsOnline ? "Online" : "Offline")</span>
</div>
@code {
protected override async Task OnInitializedAsync()
{
NetworkStatus.StatusChanged += OnStatusChanged;
await NetworkStatus.InitializeAsync();
}
private void OnStatusChanged(bool isOnline)
{
InvokeAsync(StateHasChanged);
}
public void Dispose()
{
NetworkStatus.StatusChanged -= OnStatusChanged;
}
}