@inject IToastService ToastService @using WebAssembly.Data @implements IDisposable @* ReSharper disable once CSharpWarnings::CS8974 *@ @if (Toast == null) {
Add toast object...
} else {
@Toast.Title
@Toast.Message
} @code { [Parameter] public ToastModel? Toast { get; set; } private readonly float removalTime = 1300; private readonly float fadeoutTime = 1200; private float Opacity() { if (Toast!.Age < fadeoutTime) { return 1; } return 1.0f - (Toast.Age - fadeoutTime) / (removalTime - fadeoutTime); } protected override void OnInitialized() { base.OnInitialized(); ToastService.Subscribe(OnUpdate); } void Dismiss() { ToastService.RemoveToast(Toast!); } void IDisposable.Dispose() { ToastService.Unsubscribe(OnUpdate); } void OnUpdate() { if (Toast!.Age > removalTime) { ToastService.RemoveToast(Toast); } } }