33 lines
948 B
C#
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;
|
|
});
|
|
}
|
|
} |