diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor b/app/MindWork AI Studio/Assistants/AssistantBase.razor
index c1f238c..0abbfec 100644
--- a/app/MindWork AI Studio/Assistants/AssistantBase.razor
+++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor
@@ -70,6 +70,9 @@
break;
}
}
+
+ Copy result
+
Reset
diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs
index e101da6..496b3b5 100644
--- a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs
+++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs
@@ -35,6 +35,12 @@ public abstract partial class AssistantBase : ComponentBase
protected abstract string Description { get; }
protected abstract string SystemPrompt { get; }
+
+ protected virtual Func Result2Copy => () => this.resultingContentBlock is null ? string.Empty : this.resultingContentBlock.Content switch
+ {
+ ContentText textBlock => textBlock.Text,
+ _ => string.Empty,
+ };
protected abstract void ResetFrom();
@@ -154,9 +160,9 @@ public abstract partial class AssistantBase : ComponentBase
return aiText.Text;
}
- protected async Task CopyToClipboard(string text)
+ protected async Task CopyToClipboard()
{
- await this.Rust.CopyText2Clipboard(this.JsRuntime, this.Snackbar, text);
+ await this.Rust.CopyText2Clipboard(this.JsRuntime, this.Snackbar, this.Result2Copy());
}
private static string? GetButtonIcon(string icon)
diff --git a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs
index b650f86..1821aa3 100644
--- a/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs
+++ b/app/MindWork AI Studio/Assistants/GrammarSpelling/AssistantGrammarSpelling.razor.cs
@@ -26,9 +26,10 @@ public partial class AssistantGrammarSpelling : AssistantBaseCore
protected override bool ShowDedicatedProgress => true;
+ protected override Func Result2Copy => () => this.correctedText;
+
protected override IReadOnlyList FooterButtons =>
[
- new ButtonData("Copy result", Icons.Material.Filled.ContentCopy, Color.Default, string.Empty, () => this.CopyToClipboard(this.correctedText)),
new SendToButton
{
Self = SendTo.GRAMMAR_SPELLING_ASSISTANT,
diff --git a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs
index 5d7e3e8..48328a6 100644
--- a/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs
+++ b/app/MindWork AI Studio/Assistants/RewriteImprove/AssistantRewriteImprove.razor.cs
@@ -26,10 +26,11 @@ public partial class AssistantRewriteImprove : AssistantBaseCore
protected override bool ShowResult => false;
protected override bool ShowDedicatedProgress => true;
+
+ protected override Func Result2Copy => () => this.rewrittenText;
protected override IReadOnlyList FooterButtons =>
[
- new ButtonData("Copy result", Icons.Material.Filled.ContentCopy, Color.Default, string.Empty, () => this.CopyToClipboard(this.rewrittenText)),
new SendToButton
{
Self = SendTo.REWRITE_ASSISTANT,
diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.8.12.md b/app/MindWork AI Studio/wwwroot/changelog/v0.8.12.md
index 23c3716..de1b9d9 100644
--- a/app/MindWork AI Studio/wwwroot/changelog/v0.8.12.md
+++ b/app/MindWork AI Studio/wwwroot/changelog/v0.8.12.md
@@ -1,6 +1,7 @@
# v0.8.12, build 174
- Added an e-mail writing assistant.
- Added the possibility to preselect some e-mail writing assistant options.
+- Improved: all assistants now have a button to copy their respective result to the clipboard.
- Improved the content validation for the agenda assistant.
- Improved the language handling of the agenda assistant.
- Refactored the "send to" implementation of assistants.
\ No newline at end of file