From c099fd4e29f73fa753a6f8315425e1a518de847c Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 13 Aug 2024 20:46:59 +0200 Subject: [PATCH] Added settings for grammar / spelling and text rewriting --- .../AssistantGrammarSpelling.razor.cs | 16 ++++++++++ .../AssistantRewriteImprove.razor.cs | 17 ++++++++++ .../Components/Pages/Settings.razor | 29 +++++++++++++++-- .../Settings/ConfigurationSelectData.cs | 7 ++++ .../Settings/DataModel/Data.cs | 4 +++ .../Settings/DataModel/DataGrammarSpelling.cs | 26 +++++++++++++++ .../Settings/DataModel/DataRewriteImprove.cs | 32 +++++++++++++++++++ 7 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 app/MindWork AI Studio/Settings/DataModel/DataGrammarSpelling.cs create mode 100644 app/MindWork AI Studio/Settings/DataModel/DataRewriteImprove.cs diff --git a/app/MindWork AI Studio/Components/Pages/GrammarSpelling/AssistantGrammarSpelling.razor.cs b/app/MindWork AI Studio/Components/Pages/GrammarSpelling/AssistantGrammarSpelling.razor.cs index 31924153..323a8839 100644 --- a/app/MindWork AI Studio/Components/Pages/GrammarSpelling/AssistantGrammarSpelling.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/GrammarSpelling/AssistantGrammarSpelling.razor.cs @@ -29,6 +29,22 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore { new ButtonData("Copy result", Icons.Material.Filled.ContentCopy, Color.Default, string.Empty, () => this.CopyToClipboard(this.correctedText)), }; + + #region Overrides of ComponentBase + + protected override async Task OnInitializedAsync() + { + if (this.SettingsManager.ConfigurationData.GrammarSpelling.PreselectOptions) + { + this.selectedTargetLanguage = this.SettingsManager.ConfigurationData.GrammarSpelling.PreselectedTargetLanguage; + this.customTargetLanguage = this.SettingsManager.ConfigurationData.GrammarSpelling.PreselectedOtherLanguage; + this.providerSettings = this.SettingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == this.SettingsManager.ConfigurationData.GrammarSpelling.PreselectedProvider); + } + + await base.OnInitializedAsync(); + } + + #endregion private string inputText = string.Empty; private CommonLanguages selectedTargetLanguage; diff --git a/app/MindWork AI Studio/Components/Pages/RewriteImprove/AssistantRewriteImprove.razor.cs b/app/MindWork AI Studio/Components/Pages/RewriteImprove/AssistantRewriteImprove.razor.cs index 9220f7f1..8bbfb0b2 100644 --- a/app/MindWork AI Studio/Components/Pages/RewriteImprove/AssistantRewriteImprove.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/RewriteImprove/AssistantRewriteImprove.razor.cs @@ -35,6 +35,23 @@ public partial class AssistantRewriteImprove : AssistantBaseCore new ButtonData("Copy result", Icons.Material.Filled.ContentCopy, Color.Default, string.Empty, () => this.CopyToClipboard(this.rewrittenText)), }; + #region Overrides of ComponentBase + + protected override async Task OnInitializedAsync() + { + if (this.SettingsManager.ConfigurationData.RewriteImprove.PreselectOptions) + { + this.selectedTargetLanguage = this.SettingsManager.ConfigurationData.RewriteImprove.PreselectedTargetLanguage; + this.customTargetLanguage = this.SettingsManager.ConfigurationData.RewriteImprove.PreselectedOtherLanguage; + this.providerSettings = this.SettingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == this.SettingsManager.ConfigurationData.RewriteImprove.PreselectedProvider); + this.selectedWritingStyle = this.SettingsManager.ConfigurationData.RewriteImprove.PreselectedWritingStyle; + } + + await base.OnInitializedAsync(); + } + + #endregion + private string inputText = string.Empty; private CommonLanguages selectedTargetLanguage; private string customTargetLanguage = string.Empty; diff --git a/app/MindWork AI Studio/Components/Pages/Settings.razor b/app/MindWork AI Studio/Components/Pages/Settings.razor index 4a3be0bb..55789d6d 100644 --- a/app/MindWork AI Studio/Components/Pages/Settings.razor +++ b/app/MindWork AI Studio/Components/Pages/Settings.razor @@ -106,7 +106,7 @@ @if (this.SettingsManager.ConfigurationData.Translation.PreselectedTargetLanguage is CommonLanguages.OTHER) { - + } @@ -168,12 +168,37 @@ @if (this.SettingsManager.ConfigurationData.Agenda.PreselectedTargetLanguage is CommonLanguages.OTHER) { - + } + + + + + @if (this.SettingsManager.ConfigurationData.GrammarSpelling.PreselectedTargetLanguage is CommonLanguages.OTHER) + { + + } + + + + + + + + + @if (this.SettingsManager.ConfigurationData.RewriteImprove.PreselectedTargetLanguage is CommonLanguages.OTHER) + { + + } + + + + + diff --git a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs index e802a7f7..62938441 100644 --- a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs +++ b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs @@ -1,6 +1,7 @@ using AIStudio.Components.Pages.Agenda; using AIStudio.Components.Pages.Coding; using AIStudio.Components.Pages.IconFinder; +using AIStudio.Components.Pages.RewriteImprove; using AIStudio.Components.Pages.TextSummarizer; using AIStudio.Settings.DataModel; using AIStudio.Tools; @@ -99,4 +100,10 @@ public static class ConfigurationSelectDataFactory foreach (var number in Enum.GetValues()) yield return new(number.Name(), number); } + + public static IEnumerable> GetWritingStylesData() + { + foreach (var style in Enum.GetValues()) + yield return new(style.Name(), style); + } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/Data.cs b/app/MindWork AI Studio/Settings/DataModel/Data.cs index 36c5c324..1a39c2fc 100644 --- a/app/MindWork AI Studio/Settings/DataModel/Data.cs +++ b/app/MindWork AI Studio/Settings/DataModel/Data.cs @@ -38,4 +38,8 @@ public sealed class Data public DataTextContentCleaner TextContentCleaner { get; init; } = new(); public DataAgenda Agenda { get; init; } = new(); + + public DataGrammarSpelling GrammarSpelling { get; init; } = new(); + + public DataRewriteImprove RewriteImprove { get; init; } = new(); } \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/DataGrammarSpelling.cs b/app/MindWork AI Studio/Settings/DataModel/DataGrammarSpelling.cs new file mode 100644 index 00000000..cd74c0b4 --- /dev/null +++ b/app/MindWork AI Studio/Settings/DataModel/DataGrammarSpelling.cs @@ -0,0 +1,26 @@ +using AIStudio.Tools; + +namespace AIStudio.Settings.DataModel; + +public sealed class DataGrammarSpelling +{ + /// + /// Preselect any rewrite options? + /// + public bool PreselectOptions { get; set; } + + /// + /// Preselect the target language? + /// + public CommonLanguages PreselectedTargetLanguage { get; set; } + + /// + /// Preselect any other language? + /// + public string PreselectedOtherLanguage { get; set; } = string.Empty; + + /// + /// Preselect a provider? + /// + public string PreselectedProvider { get; set; } = string.Empty; +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/DataRewriteImprove.cs b/app/MindWork AI Studio/Settings/DataModel/DataRewriteImprove.cs new file mode 100644 index 00000000..19fe9252 --- /dev/null +++ b/app/MindWork AI Studio/Settings/DataModel/DataRewriteImprove.cs @@ -0,0 +1,32 @@ +using AIStudio.Components.Pages.RewriteImprove; +using AIStudio.Tools; + +namespace AIStudio.Settings.DataModel; + +public sealed class DataRewriteImprove +{ + /// + /// Preselect any rewrite options? + /// + public bool PreselectOptions { get; set; } + + /// + /// Preselect the target language? + /// + public CommonLanguages PreselectedTargetLanguage { get; set; } + + /// + /// Preselect any other language? + /// + public string PreselectedOtherLanguage { get; set; } = string.Empty; + + /// + /// Preselect any writing style? + /// + public WritingStyles PreselectedWritingStyle { get; set; } + + /// + /// Preselect a provider? + /// + public string PreselectedProvider { get; set; } = string.Empty; +} \ No newline at end of file