Improved state icons

This commit is contained in:
Thorsten Sommer 2026-05-24 13:36:56 +02:00
parent b91883b9b3
commit a3fe165728
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108
3 changed files with 6 additions and 5 deletions

View File

@ -239,7 +239,7 @@ public partial class Workspaces : MSGComponentBase
return snapshot?.Status switch return snapshot?.Status switch
{ {
AIJobStatus.WAITING_FOR_REMOTE => Icons.Material.Filled.HourglassTop, AIJobStatus.WAITING_FOR_REMOTE => Icons.Material.Filled.HourglassTop,
AIJobStatus.RUNNING => Icons.Material.Filled.AutoAwesome, AIJobStatus.RUNNING => Icons.Material.Filled.ChangeCircle,
AIJobStatus.CANCELED => Icons.Material.Filled.Cancel, AIJobStatus.CANCELED => Icons.Material.Filled.Cancel,
AIJobStatus.FAILED => Icons.Material.Filled.Error, AIJobStatus.FAILED => Icons.Material.Filled.Error,
_ => defaultIcon, _ => defaultIcon,

View File

@ -17,7 +17,7 @@
<MudNavMenu> <MudNavMenu>
@foreach (var navBarItem in this.navItems) @foreach (var navBarItem in this.navItems)
{ {
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@(navBarItem.Path == Routes.CHAT && this.AIJobService.HasActiveJobs ? Icons.Material.Filled.AutoAwesome : navBarItem.Icon)" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"> <MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color">
@navBarItem.Name @navBarItem.Name
</MudNavLink> </MudNavLink>
} }
@ -42,12 +42,12 @@
if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS) if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS)
{ {
<MudTooltip Text="@navBarItem.Name" Placement="Placement.Right"> <MudTooltip Text="@navBarItem.Name" Placement="Placement.Right">
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@(navBarItem.Path == Routes.CHAT && this.AIJobService.HasActiveJobs ? Icons.Material.Filled.AutoAwesome : navBarItem.Icon)" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/> <MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
</MudTooltip> </MudTooltip>
} }
else else
{ {
<MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@(navBarItem.Path == Routes.CHAT && this.AIJobService.HasActiveJobs ? Icons.Material.Filled.AutoAwesome : navBarItem.Icon)" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/> <MudNavLink Href="@navBarItem.Path" Match="@(navBarItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@navBarItem.Icon" Style="@navBarItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
} }
} }
</MudNavMenu> </MudNavMenu>

View File

@ -194,6 +194,7 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, ILan
case Event.AI_JOB_CHANGED: case Event.AI_JOB_CHANGED:
case Event.AI_JOB_FINISHED: case Event.AI_JOB_FINISHED:
case Event.CHAT_GENERATION_CHANGED: case Event.CHAT_GENERATION_CHANGED:
this.LoadNavItems();
this.StateHasChanged(); this.StateHasChanged();
break; break;
@ -307,7 +308,7 @@ public partial class MainLayout : LayoutComponentBase, IMessageBusReceiver, ILan
var palette = this.ColorTheme.GetCurrentPalette(this.SettingsManager); var palette = this.ColorTheme.GetCurrentPalette(this.SettingsManager);
yield return new(T("Home"), Icons.Material.Filled.Home, palette.DarkLighten, palette.GrayLight, Routes.HOME, true); yield return new(T("Home"), Icons.Material.Filled.Home, palette.DarkLighten, palette.GrayLight, Routes.HOME, true);
yield return new(T("Chat"), Icons.Material.Filled.Chat, palette.DarkLighten, palette.GrayLight, Routes.CHAT, false); yield return new(T("Chat"), this.AIJobService.HasActiveJobs ? Icons.Material.Filled.Chat : Icons.Material.Outlined.Chat, palette.DarkLighten, palette.GrayLight, Routes.CHAT, false);
yield return new(T("Assistants"), Icons.Material.Filled.Apps, palette.DarkLighten, palette.GrayLight, Routes.ASSISTANTS, false); yield return new(T("Assistants"), Icons.Material.Filled.Apps, palette.DarkLighten, palette.GrayLight, Routes.ASSISTANTS, false);
if (PreviewFeatures.PRE_WRITER_MODE_2024.IsEnabled(this.SettingsManager)) if (PreviewFeatures.PRE_WRITER_MODE_2024.IsEnabled(this.SettingsManager))