using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; using EnvelopeGenerator.ReceiverUI.Client.Auth; using EnvelopeGenerator.ReceiverUI.Client.Services; using EnvelopeGenerator.ReceiverUI.Client.State; var builder = WebAssemblyHostBuilder.CreateDefault(args); // HttpClient: BaseAddress zeigt auf den ReceiverUI-Server (gleiche Domain) // Von dort werden alle /api/* Calls via YARP an die echte API weitergeleitet builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); // Auth: Blazor fragt über diesen Provider "Ist der Nutzer eingeloggt?" builder.Services.AddAuthorizationCore(); builder.Services.AddScoped(); builder.Services.AddScoped(sp => sp.GetRequiredService()); // API-Services: Je ein Service pro API-Controller builder.Services.AddScoped(); builder.Services.AddScoped(); // State: Ein State-Objekt pro Browser-Tab builder.Services.AddScoped(); await builder.Build().RunAsync();