From 99558da82d78653c6a33d43b236e56a8e6f1e057 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 10 Sep 2024 20:22:04 +0200 Subject: [PATCH] Refactored the assistant submit button --- .../Assistants/Agenda/AssistantAgenda.razor | 6 +----- .../Assistants/Agenda/AssistantAgenda.razor.cs | 4 ++++ app/MindWork AI Studio/Assistants/AssistantBase.razor | 8 ++++++-- app/MindWork AI Studio/Assistants/AssistantBase.razor.cs | 6 ++++++ .../Assistants/Coding/AssistantCoding.razor | 6 +----- .../Assistants/Coding/AssistantCoding.razor.cs | 4 ++++ .../Assistants/EMail/AssistantEMail.razor | 6 +----- .../Assistants/EMail/AssistantEMail.razor.cs | 4 ++++ .../GrammarSpelling/AssistantGrammarSpelling.razor | 6 +----- .../GrammarSpelling/AssistantGrammarSpelling.razor.cs | 4 ++++ .../Assistants/IconFinder/AssistantIconFinder.razor | 6 +----- .../Assistants/IconFinder/AssistantIconFinder.razor.cs | 4 ++++ .../Assistants/LegalCheck/AssistantLegalCheck.razor | 6 +----- .../Assistants/LegalCheck/AssistantLegalCheck.razor.cs | 6 ++++++ .../Assistants/MyTasks/AssistantMyTasks.razor | 6 +----- .../Assistants/MyTasks/AssistantMyTasks.razor.cs | 4 ++++ .../RewriteImprove/AssistantRewriteImprove.razor | 6 +----- .../RewriteImprove/AssistantRewriteImprove.razor.cs | 4 ++++ .../Assistants/Synonym/AssistantSynonyms.razor | 4 ---- .../Assistants/Synonym/AssistantSynonyms.razor.cs | 4 ++++ .../TextSummarizer/AssistantTextSummarizer.razor | 6 +----- .../TextSummarizer/AssistantTextSummarizer.razor.cs | 6 ++++++ .../Assistants/Translation/AssistantTranslation.razor | 6 +----- .../Assistants/Translation/AssistantTranslation.razor.cs | 6 ++++++ 24 files changed, 72 insertions(+), 56 deletions(-) diff --git a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor index ca0aca81..018800c6 100644 --- a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor +++ b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor @@ -48,8 +48,4 @@ } - - - - Create agenda - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor.cs b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor.cs index c104e41d..310f0705 100644 --- a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor.cs +++ b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor.cs @@ -97,6 +97,10 @@ public partial class AssistantAgenda : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Create Agenda"; + + protected override Func SubmitAction => this.CreateAgenda; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor b/app/MindWork AI Studio/Assistants/AssistantBase.razor index ac744a44..398f89ef 100644 --- a/app/MindWork AI Studio/Assistants/AssistantBase.razor +++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor @@ -8,12 +8,16 @@ - @(this.Description) + @this.Description @if (this.Body is not null) { - @(this.Body) + @this.Body + + + @this.SubmitText + } diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs index 5bf8425a..b87f788a 100644 --- a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs +++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs @@ -52,6 +52,12 @@ public abstract partial class AssistantBase : ComponentBase protected abstract bool MightPreselectValues(); + protected abstract string SubmitText { get; } + + protected abstract Func SubmitAction { get; } + + protected virtual bool SubmitDisabled => false; + private protected virtual RenderFragment? Body => null; protected virtual bool ShowResult => true; diff --git a/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor b/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor index 65fb656b..6af0819d 100644 --- a/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor +++ b/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor @@ -24,8 +24,4 @@ - - - - Get support - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor.cs b/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor.cs index 34764259..b06a3d40 100644 --- a/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor.cs +++ b/app/MindWork AI Studio/Assistants/Coding/AssistantCoding.razor.cs @@ -28,6 +28,10 @@ public partial class AssistantCoding : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Get Support"; + + protected override Func SubmitAction => this.GetSupport; + protected override void ResetFrom() { this.codingContexts.Clear(); diff --git a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor index e8997aa6..57c57876 100644 --- a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor +++ b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor @@ -20,8 +20,4 @@ - - - - Create e-mail - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor.cs b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor.cs index a25077df..2f9b6f39 100644 --- a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor.cs +++ b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor.cs @@ -24,6 +24,10 @@ public partial class AssistantEMail : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Create email"; + + protected override Func SubmitAction => this.CreateMail; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor index d09355c8..18a4280f 100644 --- a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor +++ b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor @@ -3,8 +3,4 @@ - - - - Proofread - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs index 21227dfb..f90af671 100644 --- a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs +++ b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs @@ -41,6 +41,10 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore }, ]; + protected override string SubmitText => "Proofread"; + + protected override Func SubmitAction => this.ProofreadText; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor b/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor index de8425e0..af241b87 100644 --- a/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor +++ b/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor @@ -15,8 +15,4 @@ Open website } - - - - Find icon - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor.cs b/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor.cs index e239c8f6..5123b918 100644 --- a/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor.cs +++ b/app/MindWork AI Studio/Assistants/IconFinder/AssistantIconFinder.razor.cs @@ -29,6 +29,10 @@ public partial class AssistantIconFinder : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Find Icon"; + + protected override Func SubmitAction => this.FindIcon; + protected override void ResetFrom() { this.inputContext = string.Empty; diff --git a/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor b/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor index 0f1328b4..f8494ea6 100644 --- a/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor +++ b/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor @@ -8,8 +8,4 @@ - - - - Ask your questions - + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor.cs b/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor.cs index 05201944..b8dd0efd 100644 --- a/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor.cs +++ b/app/MindWork AI Studio/Assistants/LegalCheck/AssistantLegalCheck.razor.cs @@ -24,6 +24,12 @@ public partial class AssistantLegalCheck : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Ask your questions"; + + protected override Func SubmitAction => this.AksQuestions; + + protected override bool SubmitDisabled => this.isAgentRunning; + protected override void ResetFrom() { this.inputLegalDocument = string.Empty; diff --git a/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor b/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor index 1b34dba2..23154c8b 100644 --- a/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor +++ b/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor @@ -4,8 +4,4 @@ - - - - Analyze text - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor.cs b/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor.cs index 6eba246e..1b3f5bed 100644 --- a/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor.cs +++ b/app/MindWork AI Studio/Assistants/MyTasks/AssistantMyTasks.razor.cs @@ -28,6 +28,10 @@ public partial class AssistantMyTasks : AssistantBaseCore """; protected override IReadOnlyList FooterButtons => []; + + protected override string SubmitText => "Analyze text"; + + protected override Func SubmitAction => this.AnalyzeText; protected override bool ShowProfileSelection => false; diff --git a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor index c9f8be42..c599ad12 100644 --- a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor +++ b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor @@ -5,8 +5,4 @@ - - - - Improve - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs index 6d8aef6e..0274610e 100644 --- a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs +++ b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs @@ -42,6 +42,10 @@ public partial class AssistantRewriteImprove : AssistantBaseCore }, ]; + protected override string SubmitText => "Improve"; + + protected override Func SubmitAction => this.RewriteText; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor b/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor index 908972c1..5ce13aab 100644 --- a/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor +++ b/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor @@ -6,7 +6,3 @@ - - - Get synonyms - diff --git a/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor.cs b/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor.cs index c238aacf..444c348b 100644 --- a/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor.cs +++ b/app/MindWork AI Studio/Assistants/Synonym/AssistantSynonyms.razor.cs @@ -51,6 +51,10 @@ public partial class AssistantSynonyms : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Find synonyms"; + + protected override Func SubmitAction => this.FindSynonyms; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor b/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor index 69a7de9f..5302a1aa 100644 --- a/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor +++ b/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor @@ -9,8 +9,4 @@ - - - - Summarize - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor.cs b/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor.cs index 20c03006..8e5b071a 100644 --- a/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor.cs +++ b/app/MindWork AI Studio/Assistants/TextSummarizer/AssistantTextSummarizer.razor.cs @@ -29,6 +29,12 @@ public partial class AssistantTextSummarizer : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Summarize"; + + protected override Func SubmitAction => this.SummarizeText; + + protected override bool SubmitDisabled => this.isAgentRunning; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT, diff --git a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor index f05f662c..fa158797 100644 --- a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor +++ b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor @@ -17,8 +17,4 @@ else } - - - - Translate - \ No newline at end of file + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor.cs b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor.cs index 29cc0ef4..3f2c37fa 100644 --- a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor.cs +++ b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor.cs @@ -25,6 +25,12 @@ public partial class AssistantTranslation : AssistantBaseCore protected override IReadOnlyList FooterButtons => []; + protected override string SubmitText => "Translate"; + + protected override Func SubmitAction => () => this.TranslateText(true); + + protected override bool SubmitDisabled => this.isAgentRunning; + protected override ChatThread ConvertToChatThread => (this.chatThread ?? new()) with { SystemPrompt = SystemPrompts.DEFAULT,