42 lines
1.9 KiB
C#
42 lines
1.9 KiB
C#
using Append.Blazor.Printing;
|
|
using Microsoft.AspNetCore.Components.Authorization;
|
|
using Microsoft.AspNetCore.Components.Web;
|
|
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
|
using MudBlazor.Services;
|
|
using Netina.AdminPanel.PWA;
|
|
using Netina.AdminPanel.PWA.Services;
|
|
using Toolbelt.Blazor.Extensions.DependencyInjection;
|
|
|
|
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
|
|
|
|
|
Address.WebSiteAddress = builder.Configuration.GetValue<string>($"WebSiteUrl") ?? string.Empty;
|
|
Address.StorageAddress = builder.Configuration.GetValue<string>("StorageBaseUrl") ?? string.Empty;
|
|
StatConfigs.IsShop = builder.Configuration.GetValue<bool>("IsShop");
|
|
|
|
builder.RootComponents.Add<App>("#app");
|
|
builder.RootComponents.Add<HeadOutlet>("head::after");
|
|
builder.Services.AddCascadingAuthenticationState();
|
|
builder.Services.AddOptions();
|
|
builder.Services.AddAuthorizationCore(option=>option.ConfigPolicies());
|
|
builder.Services.AddApiAuthorization();
|
|
builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthenticationStateProvider>();
|
|
builder.Services.AddMudServices(config =>
|
|
{
|
|
config.SnackbarConfiguration.VisibleStateDuration = 3500;
|
|
config.SnackbarConfiguration.HideTransitionDuration = 200;
|
|
config.SnackbarConfiguration.ShowTransitionDuration = 200;
|
|
config.SnackbarConfiguration.SnackbarVariant = Variant.Filled;
|
|
config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomCenter;
|
|
});
|
|
|
|
builder.Services.AddScoped<IRestWrapper, RestWrapper>();
|
|
builder.Services.AddScoped<IUserUtility, UserUtility>();
|
|
builder.Services.AddBlazoredLocalStorage();
|
|
builder.Services.AddScoped<Radzen.ContextMenuService>();
|
|
builder.Services.AddScoped<Radzen.DialogService>();
|
|
builder.Services.AddSingleton<IEncryptProvider, AesJsProvider>();
|
|
builder.Services.AddScoped<IPrintingService, PrintingService>();
|
|
builder.Services.AddPWAUpdater();
|
|
await builder.Build().RunAsync();
|