diff --git a/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor.cs b/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor.cs index 5c0a2be2..b4e50570 100644 --- a/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor.cs +++ b/app/MindWork AI Studio/Components/Pages/Coding/AssistantCoding.razor.cs @@ -28,7 +28,22 @@ public partial class AssistantCoding : AssistantBaseCore private bool provideCompilerMessages; private string compilerMessages = string.Empty; private string questions = string.Empty; - + + #region Overrides of ComponentBase + + protected override async Task OnInitializedAsync() + { + if (this.SettingsManager.ConfigurationData.PreselectCodingOptions) + { + this.provideCompilerMessages = this.SettingsManager.ConfigurationData.PreselectCodingCompilerMessages; + this.providerSettings = this.SettingsManager.ConfigurationData.Providers.FirstOrDefault(x => x.Id == this.SettingsManager.ConfigurationData.PreselectedCodingProvider); + } + + await base.OnInitializedAsync(); + } + + #endregion + private string? ValidatingCompilerMessages(string checkCompilerMessages) { if(!this.provideCompilerMessages) @@ -53,6 +68,8 @@ public partial class AssistantCoding : AssistantBaseCore this.codingContexts.Add(new() { Id = $"Context {this.codingContexts.Count + 1}", + Language = this.SettingsManager.ConfigurationData.PreselectCodingOptions ? this.SettingsManager.ConfigurationData.PreselectedCodingLanguage : default, + OtherLanguage = this.SettingsManager.ConfigurationData.PreselectCodingOptions ? this.SettingsManager.ConfigurationData.PreselectedCodingOtherLanguage : string.Empty, }); } diff --git a/app/MindWork AI Studio/Components/Pages/Settings.razor b/app/MindWork AI Studio/Components/Pages/Settings.razor index 938f37aa..75a9c7d5 100644 --- a/app/MindWork AI Studio/Components/Pages/Settings.razor +++ b/app/MindWork AI Studio/Components/Pages/Settings.razor @@ -1,4 +1,5 @@ @page "/settings" +@using AIStudio.Components.Pages.Coding @using AIStudio.Provider @using AIStudio.Settings @using AIStudio.Tools @@ -99,5 +100,17 @@ } + + Coding Options + + + + + @if (this.SettingsManager.ConfigurationData.PreselectedCodingLanguage is CommonCodingLanguages.OTHER) + { + + } + + \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs index 1dcb633a..59cd91f5 100644 --- a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs +++ b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs @@ -1,3 +1,4 @@ +using AIStudio.Components.Pages.Coding; using AIStudio.Components.Pages.IconFinder; using AIStudio.Settings.DataModel; using AIStudio.Tools; @@ -69,4 +70,10 @@ public static class ConfigurationSelectDataFactory foreach (var language in Enum.GetValues()) yield return new(language.Name(), language); } + + public static IEnumerable> GetCommonCodingLanguagesData() + { + foreach (var language in Enum.GetValues()) + yield return new(language.Name(), language); + } } \ 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 86821035..ed7914de 100644 --- a/app/MindWork AI Studio/Settings/DataModel/Data.cs +++ b/app/MindWork AI Studio/Settings/DataModel/Data.cs @@ -1,3 +1,4 @@ +using AIStudio.Components.Pages.Coding; using AIStudio.Components.Pages.IconFinder; using AIStudio.Tools; @@ -124,4 +125,33 @@ public sealed class Data public string PreselectedTranslationProvider { get; set; } = string.Empty; #endregion + + #region Assistant: Coding Settings + + /// + /// Preselect any coding options? + /// + public bool PreselectCodingOptions { get; set; } + + /// + /// Preselect the compiler messages? + /// + public bool PreselectCodingCompilerMessages { get; set; } + + /// + /// Preselect the coding language for new contexts? + /// + public CommonCodingLanguages PreselectedCodingLanguage { get; set; } + + /// + /// Do you want to preselect any other language? + /// + public string PreselectedCodingOtherLanguage { get; set; } = string.Empty; + + /// + /// Which coding provider should be preselected? + /// + public string PreselectedCodingProvider { get; set; } = string.Empty; + + #endregion } \ No newline at end of file diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.8.5.md b/app/MindWork AI Studio/wwwroot/changelog/v0.8.5.md index f8e54eec..ffdad557 100644 --- a/app/MindWork AI Studio/wwwroot/changelog/v0.8.5.md +++ b/app/MindWork AI Studio/wwwroot/changelog/v0.8.5.md @@ -1,6 +1,7 @@ # v0.8.4, build 167 - Added the possibility to provide default options for the icon finder assistant - Added the possibility to provide default options for the translation assistant +- Added the possibility to provide default options for the coding assistant - Improved switch component for settings: when an option is enabled, the switch is using a different color - Fixed the applying of spellchecking settings to the single-line dialog - Restructured the layout of the settings page