From 288ea8bbe5f5516d8c608df5de953d2ce02876f9 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 5 Aug 2024 13:41:30 +0200 Subject: [PATCH] Refactored provider selection into a component --- .../Components/Blocks/ProviderSelection.razor | 8 ++++++ .../Blocks/ProviderSelection.razor.cs | 26 +++++++++++++++++++ .../Pages/Agenda/AssistantAgenda.razor | 8 +----- .../Components/Pages/Chat.razor | 9 +------ .../Pages/Coding/AssistantCoding.razor | 9 +------ .../IconFinder/AssistantIconFinder.razor | 9 +------ .../AssistantTextSummarizer.razor | 8 +----- .../Translation/AssistantTranslation.razor | 8 +----- 8 files changed, 40 insertions(+), 45 deletions(-) create mode 100644 app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor create mode 100644 app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor.cs diff --git a/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor b/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor new file mode 100644 index 00000000..aebe6e5c --- /dev/null +++ b/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor @@ -0,0 +1,8 @@ +@using AIStudio.Settings + + + @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) + { + + } + \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor.cs b/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor.cs new file mode 100644 index 00000000..96204d0c --- /dev/null +++ b/app/MindWork AI Studio/Components/Blocks/ProviderSelection.razor.cs @@ -0,0 +1,26 @@ +using AIStudio.Settings; + +using Microsoft.AspNetCore.Components; + +namespace AIStudio.Components.Blocks; + +public partial class ProviderSelection : ComponentBase +{ + [Parameter] + public Settings.Provider ProviderSettings { get; set; } + + [Parameter] + public EventCallback ProviderSettingsChanged { get; set; } + + [Parameter] + public Func ValidateProvider { get; set; } = _ => null; + + [Inject] + protected SettingsManager SettingsManager { get; set; } = null!; + + private async Task SelectionChanged(Settings.Provider provider) + { + this.ProviderSettings = provider; + await this.ProviderSettingsChanged.InvokeAsync(provider); + } +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/Pages/Agenda/AssistantAgenda.razor b/app/MindWork AI Studio/Components/Pages/Agenda/AssistantAgenda.razor index 911b7ecc..5674dbf5 100644 --- a/app/MindWork AI Studio/Components/Pages/Agenda/AssistantAgenda.razor +++ b/app/MindWork AI Studio/Components/Pages/Agenda/AssistantAgenda.razor @@ -1,5 +1,4 @@ @page "/assistant/agenda" -@using AIStudio.Settings @using AIStudio.Tools @inherits AssistantBaseCore @@ -50,12 +49,7 @@ } - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - + Create agenda diff --git a/app/MindWork AI Studio/Components/Pages/Chat.razor b/app/MindWork AI Studio/Components/Pages/Chat.razor index a039e2c5..5a7f7fac 100644 --- a/app/MindWork AI Studio/Components/Pages/Chat.razor +++ b/app/MindWork AI Studio/Components/Pages/Chat.razor @@ -1,6 +1,5 @@ @page "/chat" @using AIStudio.Chat -@using AIStudio.Settings @using AIStudio.Settings.DataModel @inherits MSGComponentBase @@ -16,13 +15,7 @@ } - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - - + @if (this.chatThread is not null) diff --git a/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor b/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor index 9353d315..9d110343 100644 --- a/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor +++ b/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor @@ -1,5 +1,4 @@ @page "/assistant/coding" -@using AIStudio.Settings @inherits AssistantBaseCore @@ -24,13 +23,7 @@ - - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - + Get support diff --git a/app/MindWork AI Studio/Components/Pages/IconFinder/AssistantIconFinder.razor b/app/MindWork AI Studio/Components/Pages/IconFinder/AssistantIconFinder.razor index 02a59938..97dc5bc2 100644 --- a/app/MindWork AI Studio/Components/Pages/IconFinder/AssistantIconFinder.razor +++ b/app/MindWork AI Studio/Components/Pages/IconFinder/AssistantIconFinder.razor @@ -1,5 +1,4 @@ @page "/assistant/icons" -@using AIStudio.Settings @inherits AssistantBaseCore @@ -16,13 +15,7 @@ Open website } - - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - + Find icon diff --git a/app/MindWork AI Studio/Components/Pages/TextSummarizer/AssistantTextSummarizer.razor b/app/MindWork AI Studio/Components/Pages/TextSummarizer/AssistantTextSummarizer.razor index 6ea597f4..98a7d4c0 100644 --- a/app/MindWork AI Studio/Components/Pages/TextSummarizer/AssistantTextSummarizer.razor +++ b/app/MindWork AI Studio/Components/Pages/TextSummarizer/AssistantTextSummarizer.razor @@ -1,5 +1,4 @@ @page "/assistant/summarizer" -@using AIStudio.Settings @using AIStudio.Tools @inherits AssistantBaseCore @@ -11,12 +10,7 @@ - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - + Summarize diff --git a/app/MindWork AI Studio/Components/Pages/Translation/AssistantTranslation.razor b/app/MindWork AI Studio/Components/Pages/Translation/AssistantTranslation.razor index 0d30af06..7818c512 100644 --- a/app/MindWork AI Studio/Components/Pages/Translation/AssistantTranslation.razor +++ b/app/MindWork AI Studio/Components/Pages/Translation/AssistantTranslation.razor @@ -1,5 +1,4 @@ @page "/assistant/translation" -@using AIStudio.Settings @using AIStudio.Tools @inherits AssistantBaseCore @@ -19,12 +18,7 @@ else } - - @foreach (var provider in this.SettingsManager.ConfigurationData.Providers) - { - - } - + Translate