diff --git a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor
index 19e98966..8056467c 100644
--- a/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor
+++ b/app/MindWork AI Studio/Assistants/Agenda/AssistantAgenda.razor
@@ -3,7 +3,7 @@
-
+
@foreach (var contentLine in this.contentLines)
{
diff --git a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor
index 9220f499..2f8783b3 100644
--- a/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor
+++ b/app/MindWork AI Studio/Assistants/EMail/AssistantEMail.razor
@@ -10,7 +10,7 @@
}
-
+
@foreach (var contentLine in this.bulletPointsLines)
{
diff --git a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor
index 27b902ce..571b408e 100644
--- a/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor
+++ b/app/MindWork AI Studio/Assistants/Translation/AssistantTranslation.razor
@@ -15,7 +15,7 @@
@if (this.liveTranslation)
{
-
+
}
else
{
diff --git a/app/MindWork AI Studio/Components/DebouncedTextField.razor b/app/MindWork AI Studio/Components/DebouncedTextField.razor
new file mode 100644
index 00000000..83e205d8
--- /dev/null
+++ b/app/MindWork AI Studio/Components/DebouncedTextField.razor
@@ -0,0 +1,3 @@
+@inherits MudComponentBase
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Components/DebouncedTextField.razor.cs b/app/MindWork AI Studio/Components/DebouncedTextField.razor.cs
new file mode 100644
index 00000000..885a8488
--- /dev/null
+++ b/app/MindWork AI Studio/Components/DebouncedTextField.razor.cs
@@ -0,0 +1,80 @@
+using Microsoft.AspNetCore.Components;
+
+using Timer = System.Timers.Timer;
+
+namespace AIStudio.Components;
+
+public partial class DebouncedTextField : MudComponentBase
+{
+ [Parameter]
+ public string Label { get; set; } = string.Empty;
+
+ [Parameter]
+ public string Text { get; set; } = string.Empty;
+
+ [Parameter]
+ public EventCallback TextChanged { get; set; }
+
+ [Parameter]
+ public Func WhenTextChangedAsync { get; set; } = _ => Task.CompletedTask;
+
+ [Parameter]
+ public Action WhenTextCanged { get; set; } = _ => { };
+
+ [Parameter]
+ public int Lines { get; set; } = 1;
+
+ [Parameter]
+ public int MaxLines { get; set; } = 1;
+
+ [Parameter]
+ public Dictionary Attributes { get; set; } = [];
+
+ [Parameter]
+ public Func ValidationFunc { get; set; } = _ => null;
+
+ [Parameter]
+ public string HelpText { get; set; } = string.Empty;
+
+ [Parameter]
+ public string Placeholder { get; set; } = string.Empty;
+
+ [Parameter]
+ public string Icon { get; set; } = string.Empty;
+
+ [Parameter]
+ public TimeSpan DebounceTime { get; set; } = TimeSpan.FromMilliseconds(800);
+
+ [Parameter]
+ public bool Disabled { get; set; }
+
+ private readonly Timer debounceTimer = new();
+ private string text = string.Empty;
+
+ #region Overrides of ComponentBase
+
+ protected override async Task OnInitializedAsync()
+ {
+ this.text = this.Text;
+ this.debounceTimer.AutoReset = false;
+ this.debounceTimer.Interval = this.DebounceTime.TotalMilliseconds;
+ this.debounceTimer.Elapsed += (_, _) =>
+ {
+ this.debounceTimer.Stop();
+ this.InvokeAsync(async () => await this.TextChanged.InvokeAsync(this.text));
+ this.InvokeAsync(async () => await this.WhenTextChangedAsync(this.text));
+ this.InvokeAsync(() => this.WhenTextCanged(this.text));
+ };
+
+ await base.OnInitializedAsync();
+ }
+
+ #endregion
+
+ private void OnTextChanged(string value)
+ {
+ this.text = value;
+ this.debounceTimer.Stop();
+ this.debounceTimer.Start();
+ }
+}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.44.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.44.md
index a27239e4..98f485e4 100644
--- a/app/MindWork AI Studio/wwwroot/changelog/v0.9.44.md
+++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.44.md
@@ -1,2 +1,3 @@
# v0.9.44, build 219 (2025-05-xx xx:xx UTC)
-- Improved localization code & German translation.
\ No newline at end of file
+- Improved localization code & German translation.
+- Fixed a bug with text fields when their content was read live. This issue caused the user interface to refresh too frequently, resulting in increased energy consumption.
\ No newline at end of file