From e8f7e3a47afd69519f26fdc2b5ec327be8adc981 Mon Sep 17 00:00:00 2001 From: mika kuns Date: Fri, 24 Jul 2026 11:38:49 +0200 Subject: [PATCH] fix(ui): hide misleading Idle chip on planning parents A planning parent stays Status=Idle while its session is Active (or Finalized-but-not-queued), so the lifecycle chip read "Idle"/"Parked" next to the PLANNING/PLANNED badge. Hide the chip in that case; the badge already conveys the state. --- src/ClaudeDo.Ui/ViewModels/Islands/TaskRowViewModel.cs | 7 +++++++ src/ClaudeDo.Ui/Views/Islands/TaskRowView.axaml | 1 + 2 files changed, 8 insertions(+) diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/TaskRowViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/TaskRowViewModel.cs index 990c251d..dad98126 100644 --- a/src/ClaudeDo.Ui/ViewModels/Islands/TaskRowViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/Islands/TaskRowViewModel.cs @@ -128,6 +128,11 @@ public sealed partial class TaskRowViewModel : ViewModelBase _ => Status.ToString(), }; + // A planning parent that is still Idle (Active planning, or Finalized-but-not-yet-queued) + // already shows its state via the PLANNING/PLANNED badge next to the title. The lifecycle + // chip would read "Idle" (or "Parked"), which is misleading, so hide it in that case. + public bool ShowStatusChip => !(PlanningPhase != PlanningPhase.None && Status == TaskStatus.Idle); + public string StatusChipClass => (Status, IsBlocked: !string.IsNullOrEmpty(BlockedByTaskId)) switch { (TaskStatus.Running, _) => "running", @@ -144,6 +149,7 @@ public sealed partial class TaskRowViewModel : ViewModelBase { OnPropertyChanged(nameof(StatusChipClass)); OnPropertyChanged(nameof(StatusLabel)); + OnPropertyChanged(nameof(ShowStatusChip)); OnPropertyChanged(nameof(IsRunning)); OnPropertyChanged(nameof(IsWaitingForReview)); OnPropertyChanged(nameof(CanPickUpInTerminal)); @@ -189,6 +195,7 @@ public sealed partial class TaskRowViewModel : ViewModelBase { OnPropertyChanged(nameof(IsPlanningParent)); OnPropertyChanged(nameof(PlanningBadge)); + OnPropertyChanged(nameof(ShowStatusChip)); OnPropertyChanged(nameof(IsPlanActive)); OnPropertyChanged(nameof(IsPlanFinalized)); OnPropertyChanged(nameof(CanOpenPlanningSession)); diff --git a/src/ClaudeDo.Ui/Views/Islands/TaskRowView.axaml b/src/ClaudeDo.Ui/Views/Islands/TaskRowView.axaml index 2dc3e8da..db880640 100644 --- a/src/ClaudeDo.Ui/Views/Islands/TaskRowView.axaml +++ b/src/ClaudeDo.Ui/Views/Islands/TaskRowView.axaml @@ -156,6 +156,7 @@