using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using Microsoft.AspNetCore.Components.Authorization; using QuantEngine.Web.Client.Services; using QuantEngine.Web.Client.Infrastructure; using MudBlazor.Services; var builder = WebAssemblyHostBuilder.CreateDefault(args); // Register LocalStorage for cross-platform session persistence builder.Services.AddScoped(); // App State Service (RBAC & global state management) builder.Services.AddScoped(); // Authentication setup in WebAssembly client builder.Services.AddAuthorizationCore(); builder.Services.AddCascadingAuthenticationState(); builder.Services.AddScoped(); // MudBlazor Services (CRITICAL: Required for Interactive WebAssembly) builder.Services.AddMudServices(); // HttpClient register (API-First standard) builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); builder.Services.AddScoped(); await builder.Build().RunAsync();