Добавлено уведомление о обновлении
This commit is contained in:
33
PlaylistShared.Pwa/Services/PwaUpdateService.cs
Normal file
33
PlaylistShared.Pwa/Services/PwaUpdateService.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user