using Microsoft.Extensions.DependencyInjection; using Toolkit.Foundation; namespace Bitvault; public class VaultInitializer(IServiceProvider provider, IProxyService publisher) : IInitializer { public async Task Initialize() { if (provider.GetService() is IComponentHost vault) { if (vault.Services.GetRequiredService() is VaultConfiguration configuration) { if (vault.Services.GetRequiredService() is IServiceFactory factory) { if (factory.Create(configuration.Name) is VaultNavigationViewModel viewModel) { await publisher.Proxy.Publish(new Create(viewModel), nameof(MainViewModel)); } } } } } }