feat(ui): add MonitorPaneView

This commit is contained in:
Mika Kuns
2026-06-25 14:54:37 +02:00
parent 5a21d673c1
commit 15a3e65508
6 changed files with 84 additions and 0 deletions

View File

@@ -26,6 +26,13 @@ public sealed partial class TaskMonitorViewModel : ViewModelBase, IDisposable
[ObservableProperty] private string _agentState = "idle";
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(DisplayTitle))]
private string? _title;
public string DisplayTitle =>
string.IsNullOrWhiteSpace(Title) ? (SubscribedTaskId ?? "task") : Title!;
public string AgentStatusLabel => Loc.T($"vm.agentStatus.{AgentState}");
public bool IsIdle => AgentState == "idle";
public bool IsQueued => AgentState == "queued";
@@ -142,6 +149,13 @@ public sealed partial class TaskMonitorViewModel : ViewModelBase, IDisposable
OpenInAppRequested?.Invoke(_subscribedTaskId);
}
[RelayCommand]
private async System.Threading.Tasks.Task CancelTask()
{
if (!string.IsNullOrEmpty(_subscribedTaskId) && (IsRunning || IsQueued))
await _worker.CancelTaskAsync(_subscribedTaskId);
}
public void SetTaskId(string id) => _subscribedTaskId = id;
public void ApplyState(ClaudeDo.Data.Models.TaskStatus status) =>