Added a rewrite and text improvement assistant (#73)

This commit is contained in:
Thorsten Sommer authored and GitHub committed 2024-08-13 20:53:09 +02:00
1 parent 05a7e44de4
commit 3e59f23193
15 files changed
+302 -11

No files matched your search

@@ -4,7 +4,7 @@ namespace AIStudio.Components.Pages.GrammarSpelling;
public partial class AssistantGrammarSpelling : AssistantBaseCore
{
protected override string Title => "Grammar and Spelling Checker";
protected override string Title => "Grammar & Spelling Checker";
protected override string Description =>
"""
@@ -23,10 +23,28 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore
protected override bool ShowResult => false;
protected override bool ShowDedicatedProgress => true;
protected override IReadOnlyList<ButtonData> FooterButtons => new[]
{
new ButtonData("Copy corrected text", Icons.Material.Filled.ContentCopy, Color.Default, string.Empty, this.CopyToClipboard),
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;
@@ -67,6 +85,7 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore
private async Task ProofreadText()
{
await this.form!.Validate();
if (!this.inputIsValid)
return;
@@ -76,9 +95,4 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore
this.correctedText = await this.AddAIResponseAsync(time);
await this.JsRuntime.GenerateAndShowDiff(this.inputText, this.correctedText);
}
private async Task CopyToClipboard()
{
await this.Rust.CopyText2Clipboard(this.JsRuntime, this.Snackbar, this.correctedText);
}
}