Files
PlaylistShared/PlaylistShared.Pwa/Services/PwaUpdateService.cs

33 lines
948 B
C#

using Microsoft.JSInterop;
using MudBlazor;
namespace PlaylistShared.Pwa.Services;
public class PwaUpdateService
{
private readonly ISnackbar _snackbar;
private readonly IJSRuntime _jsRuntime;
public PwaUpdateService(ISnackbar snackbar, IJSRuntime jsRuntime)
{
_snackbar = snackbar;
_jsRuntime = jsRuntime;
}
[JSInvokable]
public void OnNewVersionAvailable()
{
_snackbar.Add("Доступна новая версия! Обновите страницу.", Severity.Info, configure: options =>
{
options.Action = "Обновить";
options.ShowCloseIcon = false;
options.RequireInteraction = true;
options.OnClick = _ =>
{
_jsRuntime.InvokeVoidAsync("location.reload", true);
return Task.CompletedTask;
};
options.CloseAfterNavigation = true;
});
}
}