From e9998348c5aa892e351d3e6ab6572a139deb8de6 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 15 Sep 2024 12:30:07 +0200 Subject: [PATCH] Added color themes (dark & light) (#148) --- .../Assistants/AssistantBase.razor | 6 +- .../Assistants/AssistantBase.razor.cs | 56 +++++++++++++++- .../Components/AssistantBlock.razor | 2 +- .../Components/AssistantBlock.razor.cs | 63 +++++++++++++++++- .../Components/ConfidenceInfo.razor | 4 +- .../Components/ConfidenceInfo.razor.cs | 43 +++++++++++- .../Components/InnerScrolling.razor.cs | 2 +- .../Components/MSGComponentBase.cs | 25 ++++++- .../Layout/MainLayout.razor | 10 +-- .../Layout/MainLayout.razor.cs | 56 +++++++++++++--- app/MindWork AI Studio/Layout/NavBarItem.cs | 7 +- app/MindWork AI Studio/Pages/Chat.razor.cs | 4 +- app/MindWork AI Studio/Pages/Settings.razor | 1 + .../Pages/Settings.razor.cs | 4 +- app/MindWork AI Studio/Program.cs | 1 + app/MindWork AI Studio/Provider/Confidence.cs | 6 +- .../Provider/ConfidenceLevelExtensions.cs | 34 +++++++--- app/MindWork AI Studio/Routes.razor | 1 - .../Settings/ConfigurationSelectData.cs | 6 ++ .../Settings/DataModel/DataApp.cs | 5 ++ .../Settings/DataModel/Themes.cs | 8 +++ .../Settings/DataModel/ThemesExtensions.cs | 16 +++++ .../Settings/SettingsManager.cs | 7 +- app/MindWork AI Studio/Tools/Event.cs | 1 + .../Tools/MudThemeExtensions.cs | 12 ++++ app/MindWork AI Studio/wwwroot/app.css | 8 +++ .../wwwroot/changelog/v0.9.11.md | 1 + media/Startup Icon.psd | 3 + runtime/ui/icon.jpg | Bin 37860 -> 0 bytes runtime/ui/icon.png | Bin 0 -> 99249 bytes runtime/ui/index.html | 8 ++- 31 files changed, 350 insertions(+), 50 deletions(-) create mode 100644 app/MindWork AI Studio/Settings/DataModel/Themes.cs create mode 100644 app/MindWork AI Studio/Settings/DataModel/ThemesExtensions.cs create mode 100644 app/MindWork AI Studio/Tools/MudThemeExtensions.cs create mode 100644 media/Startup Icon.psd delete mode 100644 runtime/ui/icon.jpg create mode 100644 runtime/ui/icon.png diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor b/app/MindWork AI Studio/Assistants/AssistantBase.razor index 0a7fb3d..18a7f49 100644 --- a/app/MindWork AI Studio/Assistants/AssistantBase.razor +++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor @@ -45,7 +45,7 @@ @if (!this.FooterButtons.Any(x => x.Type is ButtonTypes.SEND_TO)) { - + @foreach (var assistant in Enum.GetValues().OrderBy(n => n.Name().Length)) { if (assistant is Components.NONE || this.Component == assistant) @@ -77,7 +77,7 @@ break; case SendToButton sendToButton: - + @foreach (var assistant in Enum.GetValues().OrderBy(n => n.Name().Length)) { if(assistant is Components.NONE || sendToButton.Self == assistant) @@ -96,7 +96,7 @@ Copy result - + Reset diff --git a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs index da0ac6f..6fcee51 100644 --- a/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs +++ b/app/MindWork AI Studio/Assistants/AssistantBase.razor.cs @@ -8,7 +8,7 @@ using RustService = AIStudio.Tools.RustService; namespace AIStudio.Assistants; -public abstract partial class AssistantBase : ComponentBase +public abstract partial class AssistantBase : ComponentBase, IMessageBusReceiver, IDisposable { [Inject] protected SettingsManager SettingsManager { get; init; } = null!; @@ -31,6 +31,12 @@ public abstract partial class AssistantBase : ComponentBase [Inject] protected ILogger Logger { get; init; } = null!; + [Inject] + private MudTheme ColorTheme { get; init; } = null!; + + [Inject] + private MessageBus MessageBus { get; init; } = null!; + internal const string AFTER_RESULT_DIV_ID = "afterAssistantResult"; internal const string RESULT_DIV_ID = "assistantResult"; @@ -91,6 +97,10 @@ public abstract partial class AssistantBase : ComponentBase this.MightPreselectValues(); this.providerSettings = this.SettingsManager.GetPreselectedProvider(this.Component); this.currentProfile = this.SettingsManager.GetPreselectedProfile(this.Component); + + this.MessageBus.RegisterComponent(this); + this.MessageBus.ApplyFilters(this, [], [ Event.COLOR_THEME_CHANGED ]); + await base.OnInitializedAsync(); } @@ -113,8 +123,29 @@ public abstract partial class AssistantBase : ComponentBase } #endregion + + #region Implementation of IMessageBusReceiver - private string SubmitButtonStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.providerSettings.UsedLLMProvider.GetConfidence(this.SettingsManager).StyleBorder() : string.Empty; + public Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) + { + switch (triggeredEvent) + { + case Event.COLOR_THEME_CHANGED: + this.StateHasChanged(); + break; + } + + return Task.CompletedTask; + } + + public Task ProcessMessageWithResult(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data) + { + return Task.FromResult(default); + } + + #endregion + + private string SubmitButtonStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.providerSettings.UsedLLMProvider.GetConfidence(this.SettingsManager).StyleBorder(this.SettingsManager) : string.Empty; protected string? ValidatingProvider(AIStudio.Settings.Provider provider) { @@ -251,4 +282,25 @@ public abstract partial class AssistantBase : ComponentBase this.StateHasChanged(); this.form?.ResetValidation(); } + + private string GetResetColor() => this.SettingsManager.IsDarkMode switch + { + true => $"background-color: #804000", + false => $"background-color: {this.ColorTheme.GetCurrentPalette(this.SettingsManager).Warning.Value}", + }; + + private string GetSendToColor() => this.SettingsManager.IsDarkMode switch + { + true => $"background-color: #004080", + false => $"background-color: {this.ColorTheme.GetCurrentPalette(this.SettingsManager).InfoLighten}", + }; + + #region Implementation of IDisposable + + public void Dispose() + { + this.MessageBus.Unregister(this); + } + + #endregion } \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/AssistantBlock.razor b/app/MindWork AI Studio/Components/AssistantBlock.razor index f0bb54c..0fc497a 100644 --- a/app/MindWork AI Studio/Components/AssistantBlock.razor +++ b/app/MindWork AI Studio/Components/AssistantBlock.razor @@ -1,4 +1,4 @@ - + diff --git a/app/MindWork AI Studio/Components/AssistantBlock.razor.cs b/app/MindWork AI Studio/Components/AssistantBlock.razor.cs index 4a15ddb..f79b7bd 100644 --- a/app/MindWork AI Studio/Components/AssistantBlock.razor.cs +++ b/app/MindWork AI Studio/Components/AssistantBlock.razor.cs @@ -1,8 +1,10 @@ +using AIStudio.Settings; + using Microsoft.AspNetCore.Components; namespace AIStudio.Components; -public partial class AssistantBlock : ComponentBase +public partial class AssistantBlock : ComponentBase, IMessageBusReceiver, IDisposable { [Parameter] public string Name { get; set; } = string.Empty; @@ -18,4 +20,63 @@ public partial class AssistantBlock : ComponentBase [Parameter] public string Link { get; set; } = string.Empty; + + [Inject] + private MudTheme ColorTheme { get; init; } = null!; + + [Inject] + private SettingsManager SettingsManager { get; init; } = null!; + + [Inject] + private MessageBus MessageBus { get; init; } = null!; + + #region Overrides of ComponentBase + + protected override async Task OnInitializedAsync() + { + this.MessageBus.RegisterComponent(this); + this.MessageBus.ApplyFilters(this, [], [ Event.COLOR_THEME_CHANGED ]); + + await base.OnInitializedAsync(); + } + + #endregion + + #region Implementation of IMessageBusReceiver + + public Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) + { + switch (triggeredEvent) + { + case Event.COLOR_THEME_CHANGED: + this.StateHasChanged(); + break; + } + + return Task.CompletedTask; + } + + public Task ProcessMessageWithResult(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data) + { + return Task.FromResult(default); + } + + #endregion + + private string BorderColor => this.SettingsManager.IsDarkMode switch + { + true => this.ColorTheme.GetCurrentPalette(this.SettingsManager).GrayLight, + false => this.ColorTheme.GetCurrentPalette(this.SettingsManager).Primary.Value, + }; + + private string BlockStyle => $"border-width: 2px; border-color: {this.BorderColor}; border-radius: 12px; border-style: solid; max-width: 20em;"; + + #region Implementation of IDisposable + + public void Dispose() + { + this.MessageBus.Unregister(this); + } + + #endregion } \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/ConfidenceInfo.razor b/app/MindWork AI Studio/Components/ConfidenceInfo.razor index 6623220..e43a4cb 100644 --- a/app/MindWork AI Studio/Components/ConfidenceInfo.razor +++ b/app/MindWork AI Studio/Components/ConfidenceInfo.razor @@ -3,11 +3,11 @@ @if (this.Mode is ConfidenceInfoMode.ICON) { - + } else { - + Confidence } diff --git a/app/MindWork AI Studio/Components/ConfidenceInfo.razor.cs b/app/MindWork AI Studio/Components/ConfidenceInfo.razor.cs index 7e2fb67..a541b27 100644 --- a/app/MindWork AI Studio/Components/ConfidenceInfo.razor.cs +++ b/app/MindWork AI Studio/Components/ConfidenceInfo.razor.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Components; namespace AIStudio.Components; -public partial class ConfidenceInfo : ComponentBase +public partial class ConfidenceInfo : ComponentBase, IMessageBusReceiver, IDisposable { [Parameter] public ConfidenceInfoMode Mode { get; set; } = ConfidenceInfoMode.BUTTON; @@ -15,6 +15,9 @@ public partial class ConfidenceInfo : ComponentBase [Inject] private SettingsManager SettingsManager { get; init; } = null!; + + [Inject] + private MessageBus MessageBus { get; init; } = null!; private Confidence currentConfidence; private bool showConfidence; @@ -28,6 +31,9 @@ public partial class ConfidenceInfo : ComponentBase protected override async Task OnParametersSetAsync() { + this.MessageBus.RegisterComponent(this); + this.MessageBus.ApplyFilters(this, [], [ Event.COLOR_THEME_CHANGED ]); + this.currentConfidence = this.LLMProvider.GetConfidence(this.SettingsManager); await base.OnParametersSetAsync(); } @@ -51,7 +57,38 @@ public partial class ConfidenceInfo : ComponentBase yield return ($"Source {++index}", source); } - private string GetCurrentConfidenceColor() => $"color: {this.currentConfidence.Level.GetColor()};"; + private string GetCurrentConfidenceColor() => $"color: {this.currentConfidence.Level.GetColor(this.SettingsManager)};"; - private string GetPopoverStyle() => $"border-color: {this.currentConfidence.Level.GetColor()}; max-width: calc(35vw);"; + private string GetPopoverStyle() => $"border-color: {this.currentConfidence.Level.GetColor(this.SettingsManager)}; max-width: calc(35vw);"; + + #region Implementation of IMessageBusReceiver + + public Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) + { + switch (triggeredEvent) + { + case Event.COLOR_THEME_CHANGED: + this.showConfidence = false; + this.StateHasChanged(); + break; + } + + return Task.CompletedTask; + } + + public Task ProcessMessageWithResult(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data) + { + return Task.FromResult(default); + } + + #endregion + + #region Implementation of IDisposable + + public void Dispose() + { + this.MessageBus.Unregister(this); + } + + #endregion } \ No newline at end of file diff --git a/app/MindWork AI Studio/Components/InnerScrolling.razor.cs b/app/MindWork AI Studio/Components/InnerScrolling.razor.cs index 6a3c057..0ac5846 100644 --- a/app/MindWork AI Studio/Components/InnerScrolling.razor.cs +++ b/app/MindWork AI Studio/Components/InnerScrolling.razor.cs @@ -43,7 +43,7 @@ public partial class InnerScrolling : MSGComponentBase #region Overrides of MSGComponentBase - public override Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default + public override Task ProcessIncomingMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default { switch (triggeredEvent) { diff --git a/app/MindWork AI Studio/Components/MSGComponentBase.cs b/app/MindWork AI Studio/Components/MSGComponentBase.cs index ae88bbd..08f5416 100644 --- a/app/MindWork AI Studio/Components/MSGComponentBase.cs +++ b/app/MindWork AI Studio/Components/MSGComponentBase.cs @@ -19,7 +19,22 @@ public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBus #region Implementation of IMessageBusReceiver - public abstract Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data); + public Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) + { + switch (triggeredEvent) + { + case Event.COLOR_THEME_CHANGED: + this.StateHasChanged(); + break; + + default: + return this.ProcessIncomingMessage(sendingComponent, triggeredEvent, data); + } + + return Task.CompletedTask; + } + + public abstract Task ProcessIncomingMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data); public abstract Task ProcessMessageWithResult(ComponentBase? sendingComponent, Event triggeredEvent, TPayload? data); @@ -46,6 +61,12 @@ public abstract class MSGComponentBase : ComponentBase, IDisposable, IMessageBus protected void ApplyFilters(ComponentBase[] components, Event[] events) { - this.MessageBus.ApplyFilters(this, components, events); + // Append the color theme changed event to the list of events: + var eventsList = new List(events) + { + Event.COLOR_THEME_CHANGED + }; + + this.MessageBus.ApplyFilters(this, components, eventsList.ToArray()); } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Layout/MainLayout.razor b/app/MindWork AI Studio/Layout/MainLayout.razor index 9fbb328..8d92955 100644 --- a/app/MindWork AI Studio/Layout/MainLayout.razor +++ b/app/MindWork AI Studio/Layout/MainLayout.razor @@ -11,17 +11,17 @@ - @foreach (var navBarItem in NAV_ITEMS) + @foreach (var navBarItem in this.navItems) { if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS) { - @navBarItem.Name + @navBarItem.Name } else { - @navBarItem.Name + @navBarItem.Name } } @@ -58,4 +58,6 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/MindWork AI Studio/Layout/MainLayout.razor.cs b/app/MindWork AI Studio/Layout/MainLayout.razor.cs index 18961fe..4581ee3 100644 --- a/app/MindWork AI Studio/Layout/MainLayout.razor.cs +++ b/app/MindWork AI Studio/Layout/MainLayout.razor.cs @@ -34,6 +34,9 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis [Inject] private ILogger Logger { get; init; } = null!; + + [Inject] + private MudTheme ColorTheme { get; init; } = null!; public string AdditionalHeight { get; private set; } = "0em"; @@ -50,16 +53,10 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis private bool userDismissedUpdate; private string updateToVersion = string.Empty; private UpdateResponse? currentUpdateResponse; - - private static readonly IReadOnlyCollection NAV_ITEMS = new List - { - new("Home", Icons.Material.Filled.Home, Color.Default, Routes.HOME, true), - new("Chat", Icons.Material.Filled.Chat, Color.Default, Routes.CHAT, false), - new("Assistants", Icons.Material.Filled.Apps, Color.Default, Routes.ASSISTANTS, false), - new("Supporters", Icons.Material.Filled.Favorite, Color.Error, Routes.SUPPORTERS, false), - new("About", Icons.Material.Filled.Info, Color.Default, Routes.ABOUT, false), - new("Settings", Icons.Material.Filled.Settings, Color.Default, Routes.SETTINGS, false), - }; + private MudThemeProvider themeProvider = null!; + private bool useDarkMode; + + private IReadOnlyCollection navItems = []; #region Overrides of ComponentBase @@ -87,7 +84,7 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis // Register this component with the message bus: this.MessageBus.RegisterComponent(this); - this.MessageBus.ApplyFilters(this, [], [ Event.UPDATE_AVAILABLE, Event.USER_SEARCH_FOR_UPDATE, Event.CONFIGURATION_CHANGED ]); + this.MessageBus.ApplyFilters(this, [], [ Event.UPDATE_AVAILABLE, Event.USER_SEARCH_FOR_UPDATE, Event.CONFIGURATION_CHANGED, Event.COLOR_THEME_CHANGED ]); // Set the snackbar for the update service: UpdateService.SetBlazorDependencies(this.Snackbar); @@ -96,6 +93,20 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis // Should the navigation bar be open by default? if(this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.ALWAYS_EXPAND) this.navBarOpen = true; + + await this.themeProvider.WatchSystemPreference(this.SystemeThemeChanged); + await this.UpdateThemeConfiguration(); + + var palette = this.ColorTheme.GetCurrentPalette(this.SettingsManager); + this.navItems = new List + { + new("Home", Icons.Material.Filled.Home, palette.DarkLighten, palette.GrayLight, Routes.HOME, true), + new("Chat", Icons.Material.Filled.Chat, palette.DarkLighten, palette.GrayLight, Routes.CHAT, false), + new("Assistants", Icons.Material.Filled.Apps, palette.DarkLighten, palette.GrayLight, Routes.ASSISTANTS, false), + new("Supporters", Icons.Material.Filled.Favorite, palette.Error.Value, "#801a00", Routes.SUPPORTERS, false), + new("About", Icons.Material.Filled.Info, palette.DarkLighten, palette.GrayLight, Routes.ABOUT, false), + new("Settings", Icons.Material.Filled.Settings, palette.DarkLighten, palette.GrayLight, Routes.SETTINGS, false), + }; await base.OnInitializedAsync(); } @@ -131,6 +142,11 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis else this.navBarOpen = false; + await this.UpdateThemeConfiguration(); + this.StateHasChanged(); + break; + + case Event.COLOR_THEME_CHANGED: this.StateHasChanged(); break; } @@ -217,6 +233,24 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, IDis await MessageBus.INSTANCE.SendMessage(this, Event.RESET_CHAT_STATE); } } + + private async Task SystemeThemeChanged(bool isDark) + { + this.Logger.LogInformation($"The system theme changed to {(isDark ? "dark" : "light")}."); + await this.UpdateThemeConfiguration(); + } + + private async Task UpdateThemeConfiguration() + { + if (this.SettingsManager.ConfigurationData.App.PreferredTheme is Themes.SYSTEM) + this.useDarkMode = await this.themeProvider.GetSystemPreference(); + else + this.useDarkMode = this.SettingsManager.ConfigurationData.App.PreferredTheme == Themes.DARK; + + this.SettingsManager.IsDarkMode = this.useDarkMode; + await this.MessageBus.SendMessage(this, Event.COLOR_THEME_CHANGED); + this.StateHasChanged(); + } #region Implementation of IDisposable diff --git a/app/MindWork AI Studio/Layout/NavBarItem.cs b/app/MindWork AI Studio/Layout/NavBarItem.cs index d76a806..efa90cd 100644 --- a/app/MindWork AI Studio/Layout/NavBarItem.cs +++ b/app/MindWork AI Studio/Layout/NavBarItem.cs @@ -1,3 +1,8 @@ +using AIStudio.Settings; + namespace AIStudio.Layout; -public record NavBarItem(string Name, string Icon, Color IconColor, string Path, bool MatchAll); \ No newline at end of file +public record NavBarItem(string Name, string Icon, string IconLightColor, string IconDarkColor, string Path, bool MatchAll) +{ + public string SetColorStyle(SettingsManager settingsManager) => $"--custom-icon-color: {(settingsManager.IsDarkMode ? this.IconDarkColor : this.IconLightColor)};"; +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Pages/Chat.razor.cs b/app/MindWork AI Studio/Pages/Chat.razor.cs index ceed6cd..c5d3180 100644 --- a/app/MindWork AI Studio/Pages/Chat.razor.cs +++ b/app/MindWork AI Studio/Pages/Chat.razor.cs @@ -120,7 +120,7 @@ public partial class Chat : MSGComponentBase, IAsyncDisposable private string TooltipAddChatToWorkspace => $"Start new chat in workspace \"{this.currentWorkspaceName}\""; - private string UserInputStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.providerSettings.UsedLLMProvider.GetConfidence(this.SettingsManager).SetColorStyle() : string.Empty; + private string UserInputStyle => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? this.providerSettings.UsedLLMProvider.GetConfidence(this.SettingsManager).SetColorStyle(this.SettingsManager) : string.Empty; private string UserInputClass => this.SettingsManager.ConfigurationData.LLMProviders.ShowProviderConfidence ? "confidence-border" : string.Empty; @@ -455,7 +455,7 @@ public partial class Chat : MSGComponentBase, IAsyncDisposable #region Overrides of MSGComponentBase - public override Task ProcessMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default + public override Task ProcessIncomingMessage(ComponentBase? sendingComponent, Event triggeredEvent, T? data) where T : default { switch (triggeredEvent) { diff --git a/app/MindWork AI Studio/Pages/Settings.razor b/app/MindWork AI Studio/Pages/Settings.razor index 1f4e20c..27e565e 100644 --- a/app/MindWork AI Studio/Pages/Settings.razor +++ b/app/MindWork AI Studio/Pages/Settings.razor @@ -180,6 +180,7 @@ + diff --git a/app/MindWork AI Studio/Pages/Settings.razor.cs b/app/MindWork AI Studio/Pages/Settings.razor.cs index b0789ab..9ff7beb 100644 --- a/app/MindWork AI Studio/Pages/Settings.razor.cs +++ b/app/MindWork AI Studio/Pages/Settings.razor.cs @@ -171,9 +171,9 @@ public partial class Settings : ComponentBase, IMessageBusReceiver, IDisposable private string SetCurrentConfidenceLevelColorStyle(LLMProviders llmProvider) { if (this.SettingsManager.ConfigurationData.LLMProviders.CustomConfidenceScheme.TryGetValue(llmProvider, out var level)) - return $"background-color: {level.GetColor()};"; + return $"background-color: {level.GetColor(this.SettingsManager)};"; - return $"background-color: {ConfidenceLevel.UNKNOWN.GetColor()};"; + return $"background-color: {ConfidenceLevel.UNKNOWN.GetColor(this.SettingsManager)};"; } private async Task ChangeCustomConfidenceLevel(LLMProviders llmProvider, ConfidenceLevel level) diff --git a/app/MindWork AI Studio/Program.cs b/app/MindWork AI Studio/Program.cs index a68a933..00d434a 100644 --- a/app/MindWork AI Studio/Program.cs +++ b/app/MindWork AI Studio/Program.cs @@ -106,6 +106,7 @@ internal sealed class Program }); builder.Services.AddMudMarkdownServices(); + builder.Services.AddSingleton(new MudTheme()); builder.Services.AddSingleton(MessageBus.INSTANCE); builder.Services.AddSingleton(rust); builder.Services.AddMudMarkdownClipboardService(); diff --git a/app/MindWork AI Studio/Provider/Confidence.cs b/app/MindWork AI Studio/Provider/Confidence.cs index 3cf08ac..ac5557a 100644 --- a/app/MindWork AI Studio/Provider/Confidence.cs +++ b/app/MindWork AI Studio/Provider/Confidence.cs @@ -1,3 +1,5 @@ +using AIStudio.Settings; + namespace AIStudio.Provider; public sealed record Confidence @@ -20,9 +22,9 @@ public sealed record Confidence public Confidence WithLevel(ConfidenceLevel level) => this with { Level = level }; - public string StyleBorder() => $"border: 2px solid {this.Level.GetColor()}; border-radius: 6px;"; + public string StyleBorder(SettingsManager settingsManager) => $"border: 2px solid {this.Level.GetColor(settingsManager)}; border-radius: 6px;"; - public string SetColorStyle() => $"--confidence-color: {this.Level.GetColor()};"; + public string SetColorStyle(SettingsManager settingsManager) => $"--confidence-color: {this.Level.GetColor(settingsManager)};"; public static readonly Confidence NONE = new() { diff --git a/app/MindWork AI Studio/Provider/ConfidenceLevelExtensions.cs b/app/MindWork AI Studio/Provider/ConfidenceLevelExtensions.cs index 2f8d451..116238f 100644 --- a/app/MindWork AI Studio/Provider/ConfidenceLevelExtensions.cs +++ b/app/MindWork AI Studio/Provider/ConfidenceLevelExtensions.cs @@ -1,3 +1,5 @@ +using AIStudio.Settings; + namespace AIStudio.Provider; public static class ConfidenceLevelExtensions @@ -16,19 +18,31 @@ public static class ConfidenceLevelExtensions _ => "Unknown confidence level", }; - public static string GetColor(this ConfidenceLevel level) => level switch + public static string GetColor(this ConfidenceLevel level, SettingsManager settingsManager) => (level, settingsManager.IsDarkMode) switch { - ConfidenceLevel.NONE => "#cccccc", + (ConfidenceLevel.NONE, _) => "#cccccc", - ConfidenceLevel.UNTRUSTED => "#ff0000", - ConfidenceLevel.VERY_LOW => "#ff6600", - ConfidenceLevel.LOW => "#ffcc00", - ConfidenceLevel.MODERATE => "#99cc00", - ConfidenceLevel.MEDIUM => "#86b300", - ConfidenceLevel.HIGH => "#009933", + (ConfidenceLevel.UNTRUSTED, false) => "#ff0000", + (ConfidenceLevel.UNTRUSTED, true) => "#800000", - _ => "#cc6600", + (ConfidenceLevel.VERY_LOW, false) => "#ff6600", + (ConfidenceLevel.VERY_LOW, true) => "#803300", + + (ConfidenceLevel.LOW, false) => "#ffcc00", + (ConfidenceLevel.LOW, true) => "#806600", + + (ConfidenceLevel.MODERATE, false) => "#99cc00", + (ConfidenceLevel.MODERATE, true) => "#4d6600", + + (ConfidenceLevel.MEDIUM, false) => "#86b300", + (ConfidenceLevel.MEDIUM, true) => "#394d00", + + (ConfidenceLevel.HIGH, false) => "#009933", + (ConfidenceLevel.HIGH, true) => "#004d1a", + + (_, false) => "#cc6600", + (_, true) => "#663300", }; - public static string SetColorStyle(this ConfidenceLevel level) => $"--confidence-color: {level.GetColor()};"; + public static string SetColorStyle(this ConfidenceLevel level, SettingsManager settingsManager) => $"--confidence-color: {level.GetColor(settingsManager)};"; } \ No newline at end of file diff --git a/app/MindWork AI Studio/Routes.razor b/app/MindWork AI Studio/Routes.razor index 4a026ad..3988f98 100644 --- a/app/MindWork AI Studio/Routes.razor +++ b/app/MindWork AI Studio/Routes.razor @@ -8,7 +8,6 @@ - \ 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 2ba2a49..517a8a1 100644 --- a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs +++ b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs @@ -170,4 +170,10 @@ public static class ConfigurationSelectDataFactory } } } + + public static IEnumerable> GetThemesData() + { + foreach (var theme in Enum.GetValues()) + yield return new(theme.GetName(), theme); + } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/DataApp.cs b/app/MindWork AI Studio/Settings/DataModel/DataApp.cs index ce1f475..f749c3c 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataApp.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataApp.cs @@ -2,6 +2,11 @@ namespace AIStudio.Settings.DataModel; public sealed class DataApp { + /// + /// The preferred theme to use. + /// + public Themes PreferredTheme { get; set; } = Themes.SYSTEM; + /// /// Should we save energy? When true, we will update content streamed /// from the server, i.e., AI, less frequently. diff --git a/app/MindWork AI Studio/Settings/DataModel/Themes.cs b/app/MindWork AI Studio/Settings/DataModel/Themes.cs new file mode 100644 index 0000000..177f67a --- /dev/null +++ b/app/MindWork AI Studio/Settings/DataModel/Themes.cs @@ -0,0 +1,8 @@ +namespace AIStudio.Settings.DataModel; + +public enum Themes +{ + SYSTEM = 0, + LIGHT, + DARK, +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/ThemesExtensions.cs b/app/MindWork AI Studio/Settings/DataModel/ThemesExtensions.cs new file mode 100644 index 0000000..7942ab7 --- /dev/null +++ b/app/MindWork AI Studio/Settings/DataModel/ThemesExtensions.cs @@ -0,0 +1,16 @@ +namespace AIStudio.Settings.DataModel; + +public static class ThemesExtensions +{ + public static string GetName(this Themes theme) + { + return theme switch + { + Themes.SYSTEM => "Synchronized with the operating system settings", + Themes.LIGHT => "Always use light theme", + Themes.DARK => "Always use dark theme", + + _ => "Unknown setting", + }; + } +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/SettingsManager.cs b/app/MindWork AI Studio/Settings/SettingsManager.cs index 8dee766..4944521 100644 --- a/app/MindWork AI Studio/Settings/SettingsManager.cs +++ b/app/MindWork AI Studio/Settings/SettingsManager.cs @@ -21,7 +21,7 @@ public sealed class SettingsManager(ILogger logger) Converters = { new JsonStringEnumConverter() }, }; - private ILogger logger = logger; + private readonly ILogger logger = logger; /// /// The directory where the configuration files are stored. @@ -33,6 +33,11 @@ public sealed class SettingsManager(ILogger logger) /// public static string? DataDirectory { get; set; } + /// + /// Whether the app is in dark mode. + /// + public bool IsDarkMode { get; set; } + /// /// The configuration data. /// diff --git a/app/MindWork AI Studio/Tools/Event.cs b/app/MindWork AI Studio/Tools/Event.cs index cacc17f..54ae9d0 100644 --- a/app/MindWork AI Studio/Tools/Event.cs +++ b/app/MindWork AI Studio/Tools/Event.cs @@ -7,6 +7,7 @@ public enum Event // Common events: STATE_HAS_CHANGED, CONFIGURATION_CHANGED, + COLOR_THEME_CHANGED, // Update events: USER_SEARCH_FOR_UPDATE, diff --git a/app/MindWork AI Studio/Tools/MudThemeExtensions.cs b/app/MindWork AI Studio/Tools/MudThemeExtensions.cs new file mode 100644 index 0000000..7a6108c --- /dev/null +++ b/app/MindWork AI Studio/Tools/MudThemeExtensions.cs @@ -0,0 +1,12 @@ +using AIStudio.Settings; + +namespace AIStudio.Tools; + +public static class MudThemeExtensions +{ + public static Palette GetCurrentPalette(this MudTheme theme, SettingsManager settingsManager) => settingsManager.IsDarkMode switch + { + true => theme.PaletteDark, + false => theme.PaletteLight, + }; +} \ No newline at end of file diff --git a/app/MindWork AI Studio/wwwroot/app.css b/app/MindWork AI Studio/wwwroot/app.css index bc7638d..f4277fc 100644 --- a/app/MindWork AI Studio/wwwroot/app.css +++ b/app/MindWork AI Studio/wwwroot/app.css @@ -46,4 +46,12 @@ .confidence-border > .mud-input-control-input-container > .mud-input > .mud-input-outlined-border { border-width: 2px; border-color: var(--confidence-color) !important; +} + +:root { + --custom-icon-color: #000000; +} + +.custom-icon-color > a > svg { + color: var(--custom-icon-color) !important; } \ No newline at end of file diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.11.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.11.md index 538a925..5fc956a 100644 --- a/app/MindWork AI Studio/wwwroot/changelog/v0.9.11.md +++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.11.md @@ -1,5 +1,6 @@ # v0.9.11, build 186 - Added an option to enforce a minimum confidence level throughout the entire app. - Added options to enforce minimum confidence levels for each assistant individually. +- Added color themes (dark & light) to the app settings. The theme can be synchronized with the system theme. - Added a tooltip to the confidence card button. - Renamed the `Providers` enum to `LLMProviders` for better clarity. Renamed also all dependent variables and methods. \ No newline at end of file diff --git a/media/Startup Icon.psd b/media/Startup Icon.psd new file mode 100644 index 0000000..2e392b5 --- /dev/null +++ b/media/Startup Icon.psd @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6330c250dfaa88bca9668d7ff050d664b78fa424ab4595a1a651cbbbc85bb206 +size 559978 diff --git a/runtime/ui/icon.jpg b/runtime/ui/icon.jpg deleted file mode 100644 index 35c27ebef12cae14f27f7db21555db2235c52c97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37860 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 diff --git a/runtime/ui/icon.png b/runtime/ui/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d5308a238944502869a865a1c6be5473a1c754b8 GIT binary patch literal 99249 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 literal 0 HcmV?d00001 diff --git a/runtime/ui/index.html b/runtime/ui/index.html index 901a4d5..c7882d7 100644 --- a/runtime/ui/index.html +++ b/runtime/ui/index.html @@ -16,9 +16,15 @@ img { display: block; } + + @media (prefers-color-scheme: dark) { + html, body { + background-color: #1a1a1a; + } + } - The app logo + The app logo \ No newline at end of file