AI-Studio/app/MindWork AI Studio/Pages/Plugins.razor
Thorsten Sommer 3e13d50302
Some checks are pending
Build and Release / Read metadata (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, deb) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Created I18N data, part 1 (#404)
2025-04-24 13:50:14 +02:00

78 lines
3.1 KiB
Plaintext

@using AIStudio.Tools.PluginSystem
@inherits MSGComponentBase
@attribute [Route(Routes.PLUGINS)]
<div class="inner-scrolling-context">
<MudText Typo="Typo.h3" Class="mb-2">
@T("Plugins")
</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>
<MudTh colspan="2">@T("Plugins")</MudTh>
<MudTh>@T("Actions")</MudTh>
</HeaderContent>
<GroupHeaderTemplate>
<MudTh Class="mud-table-cell-custom-group" colspan="3">
@switch (context.Key)
{
case GROUP_ENABLED:
<MudText Typo="Typo.h6" Class="mb-2">
@T("Enabled Plugins")
</MudText>
break;
case GROUP_DISABLED:
<MudText Typo="Typo.h6" Class="mb-2">
@T("Disabled Plugins")
</MudText>
break;
case GROUP_INTERNAL:
<MudText Typo="Typo.h6" Class="mb-2">
@T("Internal Plugins")
</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);
<MudTooltip Text="@(isEnabled ? T("Disable plugin") : T("Enable plugin"))">
<MudSwitch T="bool" Value="@isEnabled" ValueChanged="@(_ => this.PluginActivationStateChanged(context))"/>
</MudTooltip>
}
</MudTd>
</RowTemplate>
</MudTable>
</InnerScrolling>
</div>