46 lines
1.5 KiB
C#
46 lines
1.5 KiB
C#
using LucideBlazor;
|
|
using Microsoft.AspNetCore.Components.Web;
|
|
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Moonlight.Frontend.Configuration;
|
|
using Moonlight.Frontend.Implementations;
|
|
using Moonlight.Frontend.Interfaces;
|
|
using Moonlight.Frontend.Services;
|
|
using Moonlight.Frontend.UI;
|
|
using Moonlight.Frontend.UI.Admin.Settings;
|
|
using ShadcnBlazor;
|
|
using ShadcnBlazor.Extras;
|
|
|
|
namespace Moonlight.Frontend.Startup;
|
|
|
|
public partial class Startup
|
|
{
|
|
private void AddBase(WebAssemblyHostBuilder builder)
|
|
{
|
|
builder.RootComponents.Add<App>("#app");
|
|
builder.RootComponents.Add<HeadOutlet>("head::after");
|
|
|
|
builder.Services.AddScoped(_ => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
|
|
|
|
builder.Services.AddShadcnBlazor();
|
|
builder.Services.AddShadcnBlazorExtras();
|
|
|
|
builder.Services.AddSingleton<ISidebarProvider, SidebarProvider>();
|
|
|
|
builder.Services.AddScoped<FrontendService>();
|
|
|
|
builder.Services.Configure<NavigationAssemblyOptions>(options =>
|
|
{
|
|
options.Assemblies.Add(typeof(Startup).Assembly);
|
|
});
|
|
|
|
builder.Services.Configure<SystemSettingsOptions>(options =>
|
|
{
|
|
options.Add<TextCursorInputIcon, WhiteLabelingSetting>(
|
|
"White Labeling",
|
|
"Settings for white labeling your moonlight instance",
|
|
0
|
|
);
|
|
});
|
|
}
|
|
} |