using Microsoft.Extensions.DependencyInjection; namespace Hyperbar.Widget; public class WidgetHostHandler(IMediator mediator) : INotificationHandler> { //public async Task Handle(Started notification, // CancellationToken cancellationToken) //{ // if (notification.Value is IWidgetHost host) // { // if (host.Services.GetService() is IWidgetViewModel viewModel) // { // await mediator.PublishAsync(new Created(viewModel), // nameof(WidgetViewModel), cancellationToken); // } // } //} public async Task Handle(Created notification, CancellationToken cancellationToken) { if (notification.Value is IWidgetHost host) { if (host.Services.GetServices() is IEnumerable initializations) { foreach (IInitialization initialization in initializations) { await initialization.InitializeAsync(); } } } } }