using Biskilog_Accounting.Client ;
using Biskilog_Accounting.ServiceRepo ;
using Biskilog_Accounting.Shared.Interfaces ;
using Biskilog_Accounting.Shared.ServiceRepo ;
using Blazored.LocalStorage ;
using Blazored.SessionStorage ;
using Microsoft.AspNetCore.Components.Web ;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting ;
using Microsoft.Fast.Components.FluentUI ;
var builder = WebAssemblyHostBuilder . CreateDefault ( args ) ;
builder . RootComponents . Add < App > ( "#app" ) ;
builder . RootComponents . Add < HeadOutlet > ( "head::after" ) ;
builder . Services . AddHttpClient ( "Biskilog_Accounting.ServerAPI" , client = > client . BaseAddress = new Uri ( builder . HostEnvironment . BaseAddress ) ) ;
// Supply HttpClient instances that include access tokens when making requests to the server project
builder . Services . AddScoped ( sp = > sp . GetRequiredService < IHttpClientFactory > ( ) . CreateClient ( "Biskilog_Accounting.ServerAPI" ) ) ;
builder . Services . AddBlazoredLocalStorageAsSingleton ( ) ;
builder . Services . AddBlazoredSessionStorageAsSingleton ( ) ;
builder . Services . AddScoped < ICalculator , CalculatorService > ( ) ;
builder . Services . AddScoped < ITokenService , TokenService > ( ) ;
builder . Services . AddFluentUIComponents ( options = >
{
options . HostingModel = BlazorHostingModel . WebAssembly ;
options . IconConfiguration = ConfigurationGenerator . GetIconConfiguration ( ) ;
options . EmojiConfiguration = ConfigurationGenerator . GetEmojiConfiguration ( ) ;
} ) ;
await builder . Build ( ) . RunAsync ( ) ;