74 lines
2.9 KiB
C#
74 lines
2.9 KiB
C#
using MesaFabApproval.Client;
|
|
using MesaFabApproval.Client.Utilities;
|
|
|
|
using Microsoft.AspNetCore.Components.Web;
|
|
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
|
|
|
using MudBlazor.Services;
|
|
using MesaFabApproval.Client.Services;
|
|
using Microsoft.AspNetCore.Components.Authorization;
|
|
using System.Net.Http.Headers;
|
|
using MudBlazor;
|
|
|
|
WebAssemblyHostBuilder builder = WebAssemblyHostBuilder.CreateDefault(args);
|
|
|
|
string _apiBaseUrl = builder.Configuration["FabApprovalApiBaseUrl"] ??
|
|
throw new NullReferenceException("FabApprovalApiBaseUrl not found in config");
|
|
|
|
string _oldSiteUrl = builder.Configuration["OldFabApprovalUrl"] ??
|
|
throw new NullReferenceException("OldFabApprovalUrl not found in config");
|
|
|
|
builder.Services.AddTransient<ApiHttpClientHandler>();
|
|
|
|
builder.Services
|
|
.AddHttpClient("API_Handler", client => {
|
|
client.BaseAddress = new Uri(_apiBaseUrl);
|
|
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
|
|
});
|
|
|
|
builder.Services
|
|
.AddHttpClient("API", client => {
|
|
client.BaseAddress = new Uri(_apiBaseUrl);
|
|
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
|
|
})
|
|
.AddHttpMessageHandler<ApiHttpClientHandler>();
|
|
|
|
builder.Services
|
|
.AddHttpClient("OldSite", client => {
|
|
client.BaseAddress = new Uri(_oldSiteUrl);
|
|
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
|
|
});
|
|
|
|
builder.Services.AddMemoryCache();
|
|
|
|
builder.Services.AddMudServices(config => {
|
|
config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomCenter;
|
|
config.SnackbarConfiguration.PreventDuplicates = true;
|
|
config.SnackbarConfiguration.MaxDisplayedSnackbars = 5;
|
|
config.SnackbarConfiguration.SnackbarVariant = Variant.Filled;
|
|
config.SnackbarConfiguration.ShowCloseIcon = true;
|
|
config.SnackbarConfiguration.VisibleStateDuration = 7000;
|
|
config.SnackbarConfiguration.HideTransitionDuration = 500;
|
|
config.SnackbarConfiguration.ShowTransitionDuration = 500;
|
|
});
|
|
|
|
builder.Services.AddScoped<ILocalStorageService, LocalStorageService>();
|
|
builder.Services.AddScoped<IAuthenticationService, AuthenticationService>();
|
|
builder.Services.AddScoped<ICustomerService, CustomerService>();
|
|
builder.Services.AddScoped<IUserService, UserService>();
|
|
builder.Services.AddScoped<IECNService, ECNService>();
|
|
builder.Services.AddScoped<ICAService, CAService>();
|
|
builder.Services.AddScoped<IPCRBService, PCRBService>();
|
|
builder.Services.AddScoped<IMRBService, MRBService>();
|
|
builder.Services.AddScoped<IApprovalService, ApprovalService>();
|
|
builder.Services.AddScoped<MesaFabApprovalAuthStateProvider>();
|
|
builder.Services.AddScoped<AuthenticationStateProvider>(sp =>
|
|
sp.GetRequiredService<MesaFabApprovalAuthStateProvider>());
|
|
|
|
builder.Services.AddAuthorizationCore();
|
|
|
|
builder.RootComponents.Add<App>("#app");
|
|
builder.RootComponents.Add<HeadOutlet>("head::after");
|
|
|
|
await builder.Build().RunAsync();
|