diff --git a/app/MindWork AI Studio/Components/ProviderSelection.razor b/app/MindWork AI Studio/Components/ProviderSelection.razor
index 70314dab..4d5b0887 100644
--- a/app/MindWork AI Studio/Components/ProviderSelection.razor
+++ b/app/MindWork AI Studio/Components/ProviderSelection.razor
@@ -1,18 +1,15 @@
@using AIStudio.Settings
@inherits MSGComponentBase
- @foreach (var provider in this.GetAvailableProviders())
+ @foreach (var providerItem in this.GetAvailableProviderSelectionItems())
{
-
+
- @provider
- @{
- var capabilityIcons = this.GetCapabilityIcons(provider);
- }
- @if (capabilityIcons.Count > 0)
+ @providerItem.Provider
+ @if (providerItem.CapabilityIcons.Count > 0)
{
- @foreach (var capabilityIcon in capabilityIcons)
+ @foreach (var capabilityIcon in providerItem.CapabilityIcons)
{
@@ -23,4 +20,4 @@
}
-
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Components/ProviderSelection.razor.cs b/app/MindWork AI Studio/Components/ProviderSelection.razor.cs
index d5e51b27..8a27acb9 100644
--- a/app/MindWork AI Studio/Components/ProviderSelection.razor.cs
+++ b/app/MindWork AI Studio/Components/ProviderSelection.razor.cs
@@ -49,6 +49,12 @@ public partial class ProviderSelection : MSGComponentBase
await this.ProviderSettingsChanged.InvokeAsync(provider);
}
+ private IEnumerable GetAvailableProviderSelectionItems()
+ {
+ foreach (var provider in this.GetAvailableProviders())
+ yield return new(provider, this.GetCapabilityIcons(provider));
+ }
+
private IReadOnlyList GetCapabilityIcons(AIStudio.Settings.Provider provider)
{
var capabilities = provider.GetModelCapabilities();
@@ -113,4 +119,6 @@ public partial class ProviderSelection : MSGComponentBase
#endregion
private readonly record struct CapabilityIcon(string Icon, string Tooltip);
-}
+
+ private readonly record struct ProviderSelectionItem(AIStudio.Settings.Provider Provider, IReadOnlyList CapabilityIcons);
+}
\ No newline at end of file