using LANCommander.Launcher.Models; using LANCommander.SDK.Extensions; using LANCommander.SDK.Providers; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Photino.Blazor; using Serilog; namespace LANCommander.Launcher.Startup; public static class ApplicationSettings { public static PhotinoBlazorAppBuilder AddSettings(this PhotinoBlazorAppBuilder builder) { Log.Debug("Loading settings file"); var configurationBuilder = new ConfigurationBuilder(); var configuration = configurationBuilder.ReadFromFile(); var refresher = configurationBuilder.ReadFromServer(configuration); configuration = configurationBuilder.Build(); builder.Services.Configure(configuration); builder.Services.AddSingleton(refresher); Log.Debug("Validating settings"); return builder; } }