@using System.Timers @using WebAssembly.Components.Feedback @using WebAssembly.Data @implements IDisposable; @inject IToastService ToastService @if (ToastService.HasToasts()) {
@foreach (var toast in Toasts) { }
} @code { private List Toasts => ToastService.GetToasts(); private Timer _ageTimer = null!; protected override void OnInitialized() { base.OnInitialized(); ToastService.Subscribe(OnUpdate); _ageTimer = new Timer(10); _ageTimer.Elapsed += OnAge!; _ageTimer.Enabled = true; } void IDisposable.Dispose() { ToastService.Unsubscribe(OnUpdate); } void OnAge(object? sender, ElapsedEventArgs elapsedEventArgs) { ToastService.AgeToasts(); _ageTimer.Enabled = true; } void OnUpdate() { StateHasChanged(); } }