using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using MaBibli.Client;

var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");

builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

// Cache de consultation hors-ligne : un seul jeu d'instantanés pour toute l'application, d'où
// des services partagés (Scoped vaut Singleton dans un client WebAssembly).
builder.Services.AddScoped<MaBibli.Client.Services.CacheHorsLigne>();
builder.Services.AddScoped<MaBibli.Client.Services.EtatReseau>();
builder.Services.AddScoped<MaBibli.Client.Services.ServiceLivresApi>();

await builder.Build().RunAsync();
