AI-Studio/app/MindWork AI Studio/Pages/Plugins.razor

78 lines
3.1 KiB
Plaintext
Raw Normal View History

2025-03-29 17:40:17 +00:00
@using AIStudio.Tools.PluginSystem
@inherits MSGComponentBase
2025-03-29 17:40:17 +00:00
@attribute [Route(Routes.PLUGINS)]
<div class="inner-scrolling-context">
<MudText Typo="Typo.h3" Class="mb-2">
2025-04-24 11:50:14 +00:00
@T("Plugins")
2025-03-29 17:40:17 +00:00
</MudText>
<PreviewExperimental ApplyInnerScrollingFix="true"/>
<InnerScrolling>
<MudTable Items="@PluginFactory.AvailablePlugins" Hover="@true" GroupBy="@this.groupConfig" Class="border-dashed border rounded-lg">
<ColGroup>
<col style="width: 2em;" />
<col style="width: 2.1em; "/>
<col/>
<col style="width: 12em;"/>
</ColGroup>
<HeaderContent>
2025-04-24 11:50:14 +00:00
<MudTh colspan="2">@T("Plugins")</MudTh>
<MudTh>@T("Actions")</MudTh>
2025-03-29 17:40:17 +00:00
</HeaderContent>
<GroupHeaderTemplate>
<MudTh Class="mud-table-cell-custom-group" colspan="3">
@switch (context.Key)
{
case GROUP_ENABLED:
<MudText Typo="Typo.h6" Class="mb-2">
2025-04-24 11:50:14 +00:00
@T("Enabled Plugins")
2025-03-29 17:40:17 +00:00
</MudText>
break;
case GROUP_DISABLED:
<MudText Typo="Typo.h6" Class="mb-2">
2025-04-24 11:50:14 +00:00
@T("Disabled Plugins")
2025-03-29 17:40:17 +00:00
</MudText>
break;
case GROUP_INTERNAL:
<MudText Typo="Typo.h6" Class="mb-2">
2025-04-24 11:50:14 +00:00
@T("Internal Plugins")
2025-03-29 17:40:17 +00:00
</MudText>
break;
}
</MudTh>
</GroupHeaderTemplate>
<RowTemplate>
<MudTd>
<MudAvatar Size="Size.Medium" Style="width: 2em; height: 2em;" Class="align-content-stretch">
<div class="plugin-icon-container">
@((MarkupString)context.IconSVG)
</div>
</MudAvatar>
</MudTd>
<MudTd>
<MudStack Spacing="0">
<MudText Typo="Typo.h6" Class="mb-0 pb-0 gap-0">
@context.Name
</MudText>
<MudText Typo="Typo.body1">
@context.Description
</MudText>
</MudStack>
</MudTd>
<MudTd>
@if (!context.IsInternal)
{
var isEnabled = this.SettingsManager.IsPluginEnabled(context);
2025-04-24 11:50:14 +00:00
<MudTooltip Text="@(isEnabled ? T("Disable plugin") : T("Enable plugin"))">
2025-03-29 17:40:17 +00:00
<MudSwitch T="bool" Value="@isEnabled" ValueChanged="@(_ => this.PluginActivationStateChanged(context))"/>
</MudTooltip>
}
</MudTd>
</RowTemplate>
</MudTable>
</InnerScrolling>
</div>