feat(ui): show task number in Mission Control activity strip

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-10-01 11:43:50 +02:00
co-authored by Claude Sonnet 5.5
parent 2b7b58be37
commit f66cbca65d
2 changed files with 15 additions and 5 deletions
@@ -151,7 +151,7 @@ public sealed partial class MissionControlViewModel : ViewModelBase, IDisposable
: t.Status == ClaudeDo.Data.Models.TaskStatus.WaitingForReview ? 1 : t.Status == ClaudeDo.Data.Models.TaskStatus.WaitingForReview ? 1
: t.Status == ClaudeDo.Data.Models.TaskStatus.Running ? 2 : 3) : t.Status == ClaudeDo.Data.Models.TaskStatus.Running ? 2 : 3)
.ThenBy(t => t.SortOrder).ThenBy(t => t.CreatedAt) .ThenBy(t => t.SortOrder).ThenBy(t => t.CreatedAt)
.Select(t => new { t.Id, t.Title, t.BlockedByTaskId, t.Status, t.RoadblockCount }) .Select(t => new { t.Id, t.Number, t.Title, t.BlockedByTaskId, t.Status, t.RoadblockCount })
.ToListAsync(); .ToListAsync();
Queued.Clear(); Queued.Clear();
@@ -163,6 +163,7 @@ public sealed partial class MissionControlViewModel : ViewModelBase, IDisposable
Queued.Add(new QueuedTaskViewModel Queued.Add(new QueuedTaskViewModel
{ {
Id = id, Id = id,
Number = r.Number,
Title = r.Title ?? string.Empty, Title = r.Title ?? string.Empty,
IsRunning = running, IsRunning = running,
TintKey = tint, TintKey = tint,
@@ -802,6 +803,9 @@ public sealed partial class MissionControlViewModel : ViewModelBase, IDisposable
public sealed class QueuedTaskViewModel public sealed class QueuedTaskViewModel
{ {
public required string Id { get; init; } public required string Id { get; init; }
/// <summary>Task number (#N); 0 for rows created outside <c>TaskNumberAllocator</c>.</summary>
public int Number { get; init; }
public bool ShowNumber => Number > 0;
public required string Title { get; init; } public required string Title { get; init; }
public bool IsRunning { get; init; } public bool IsRunning { get; init; }
/// <summary>Brush key of the row tint (e.g. "RunningTint"); null = untinted.</summary> /// <summary>Brush key of the row tint (e.g. "RunningTint"); null = untinted.</summary>
@@ -229,10 +229,16 @@
BorderThickness="1" CornerRadius="6" BorderThickness="1" CornerRadius="6"
IsVisible="{Binding TintKey, Converter={x:Static ObjectConverters.IsNotNull}}" /> IsVisible="{Binding TintKey, Converter={x:Static ObjectConverters.IsNotNull}}" />
<StackPanel Margin="8,6" Spacing="2"> <StackPanel Margin="8,6" Spacing="2">
<TextBlock Text="{Binding Title}" <Grid ColumnDefinitions="Auto,*">
TextTrimming="CharacterEllipsis" <TextBlock Grid.Column="0" Classes="meta"
ToolTip.Tip="{Binding Title}" Text="{Binding Number, StringFormat='#{0}'}"
Foreground="{DynamicResource TextDimBrush}" /> IsVisible="{Binding ShowNumber}"
VerticalAlignment="Center" Margin="0,0,6,0" />
<TextBlock Grid.Column="1" Text="{Binding Title}"
TextTrimming="CharacterEllipsis"
ToolTip.Tip="{Binding Title}"
Foreground="{DynamicResource TextDimBrush}" />
</Grid>
<TextBlock Classes="meta" <TextBlock Classes="meta"
Text="{Binding StatusLabel}" Text="{Binding StatusLabel}"
IsVisible="{Binding StatusLabel, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" IsVisible="{Binding StatusLabel, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"