diff --git a/app/MindWork AI Studio/Pages/Plugins.razor b/app/MindWork AI Studio/Pages/Plugins.razor
index 6d5bf8ce..8306d6d1 100644
--- a/app/MindWork AI Studio/Pages/Plugins.razor
+++ b/app/MindWork AI Studio/Pages/Plugins.razor
@@ -1,4 +1,5 @@
@using AIStudio.Tools.PluginSystem
+@inherits MSGComponentBase
@attribute [Route(Routes.PLUGINS)]
diff --git a/app/MindWork AI Studio/Pages/Plugins.razor.cs b/app/MindWork AI Studio/Pages/Plugins.razor.cs
index 9504c0ff..88c90433 100644
--- a/app/MindWork AI Studio/Pages/Plugins.razor.cs
+++ b/app/MindWork AI Studio/Pages/Plugins.razor.cs
@@ -1,22 +1,14 @@
-using AIStudio.Settings;
+using AIStudio.Components;
using AIStudio.Tools.PluginSystem;
-using Microsoft.AspNetCore.Components;
-
namespace AIStudio.Pages;
-public partial class Plugins : ComponentBase, IMessageBusReceiver
+public partial class Plugins : MSGComponentBase
{
private const string GROUP_ENABLED = "Enabled";
private const string GROUP_DISABLED = "Disabled";
private const string GROUP_INTERNAL = "Internal";
- [Inject]
- private MessageBus MessageBus { get; init; } = null!;
-
- [Inject]
- private SettingsManager SettingsManager { get; init; } = null!;
-
private TableGroupDefinition groupConfig = null!;
#region Overrides of ComponentBase
@@ -45,7 +37,13 @@ public partial class Plugins : ComponentBase, IMessageBusReceiver
}
#endregion
-
+
+ #region Overrides of MSGComponentBase
+
+ public override string ComponentName => nameof(Plugins);
+
+ #endregion
+
private async Task PluginActivationStateChanged(IPluginMetadata pluginMeta)
{
if (this.SettingsManager.IsPluginEnabled(pluginMeta))
@@ -56,27 +54,4 @@ public partial class Plugins : ComponentBase, IMessageBusReceiver
await this.SettingsManager.StoreSettings();
await this.MessageBus.SendMessage(this, Event.CONFIGURATION_CHANGED);
}
-
- #region Implementation of IMessageBusReceiver
-
- public string ComponentName => nameof(Plugins);
-
- public Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data)
- {
- switch (triggeredEvent)
- {
- case Event.PLUGINS_RELOADED:
- this.InvokeAsync(this.StateHasChanged);
- break;
- }
-
- return Task.CompletedTask;
- }
-
- public Task ProcessMessageWithResult(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data)
- {
- return Task.FromResult(default);
- }
-
- #endregion
}
\ No newline at end of file