using Masa.Blazor.Pro.Global; using Masa.Blazor.Pro.Global.Nav.Model; using System.Text.Json; namespace Microsoft.Extensions.DependencyInjection; public static class NavServiceCollectionExtensions { public static IServiceCollection AddNav(this IServiceCollection services, List navList) { services.AddSingleton(navList); services.AddScoped(); return services; } public static IServiceCollection AddNav(this IServiceCollection services, string navSettingsFile) { var navList = JsonSerializer.Deserialize>(File.ReadAllText(navSettingsFile)); if (navList is null) throw new Exception("Please configure the navigation first!"); services.AddNav(navList); return services; } }