Implemented plugin interface loading via di

1^
This commit is contained in:
2025-02-24 17:20:16 +01:00
parent 4a571e1944
commit 69df761bf4
6 changed files with 45 additions and 99 deletions

View File

@@ -1,7 +0,0 @@
namespace Moonlight.Client.Interfaces;
public interface IAppLoader
{
public int Priority { get; }
public Task Load(IServiceProvider serviceProvider);
}

View File

@@ -1,10 +0,0 @@
using Microsoft.AspNetCore.Components;
namespace Moonlight.Client.Interfaces;
public interface IAppScreen
{
public int Priority { get; }
public Task<bool> ShouldRender(IServiceProvider serviceProvider);
public RenderFragment Render();
}

View File

@@ -1,9 +0,0 @@
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
namespace Moonlight.Client.Interfaces;
public interface IAppStartup
{
public Task BuildApp(WebAssemblyHostBuilder builder);
public Task ConfigureApp(WebAssemblyHost app);
}

View File

@@ -0,0 +1,9 @@
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
namespace Moonlight.Client.Interfaces;
public interface IPluginStartup
{
public Task BuildApplication(WebAssemblyHostBuilder builder);
public Task ConfigureApplication(WebAssemblyHost app);
}