49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using Markdig;
|
|
using Microsoft.AspNetCore.Components.Authorization;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Logging;
|
|
using Neighbourhood.omg.lol.Models;
|
|
using System.Reflection;
|
|
|
|
namespace Neighbourhood.omg.lol {
|
|
public static class MauiProgram {
|
|
public static MauiApp CreateMauiApp() {
|
|
var builder = MauiApp.CreateBuilder();
|
|
builder
|
|
.UseMauiApp<App>()
|
|
.ConfigureFonts(fonts => {
|
|
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
|
|
});
|
|
|
|
builder.Services.AddMauiBlazorWebView();
|
|
builder.Services.AddTransient<LoginWebViewPage>();
|
|
builder.Services.AddTransient<EphemeralWebPage>();
|
|
|
|
builder.Services.AddSingleton<RestService>();
|
|
builder.Services.AddSingleton<State>();
|
|
builder.Services.AddSingleton<NavigatorService>();
|
|
|
|
//ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
|
|
//builder.Services.AddSingleton<IConfiguration>(configurationBuilder.AddUserSecrets<App>().Build());
|
|
var assembly = Assembly.GetExecutingAssembly();
|
|
var details = assembly.GetName();
|
|
App.Name = details.Name!;
|
|
App.Version = details.Version!.ToString();
|
|
var appSettings = $"{App.Name}.appsettings.json";
|
|
using var stream = assembly.GetManifestResourceStream(appSettings);
|
|
var config = new ConfigurationBuilder().AddJsonStream(stream).Build();
|
|
builder.Configuration.AddConfiguration(config);
|
|
|
|
builder.Services.AddAuthorizationCore();
|
|
builder.Services.AddScoped<CustomAuthenticationStateProvider>();
|
|
builder.Services.AddScoped<AuthenticationStateProvider>(s => s.GetRequiredService<CustomAuthenticationStateProvider>());
|
|
|
|
#if DEBUG
|
|
builder.Services.AddBlazorWebViewDeveloperTools();
|
|
builder.Logging.AddDebug();
|
|
#endif
|
|
|
|
return builder.Build();
|
|
}
|
|
}
|
|
}
|