28 lines
853 B
Plaintext
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;
|
|
}
|
|
}
|