feat(ui): detach a monitor into its own window

This commit is contained in:
Mika Kuns
2026-06-25 15:30:37 +02:00
parent 4e2798b400
commit 5f6e7480f2
11 changed files with 85 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
using System;
using System.Threading.Tasks;
using Avalonia;
using Avalonia.Controls;
@@ -6,6 +7,7 @@ using Avalonia.Media;
using ClaudeDo.Ui.Services;
using ClaudeDo.Ui.ViewModels;
using ClaudeDo.Ui.ViewModels.Conflicts;
using ClaudeDo.Ui.ViewModels.Islands;
using ClaudeDo.Ui.ViewModels.Modals;
using ClaudeDo.Ui.Views.Conflicts;
using ClaudeDo.Ui.Views.MissionControl;
@@ -121,6 +123,13 @@ public sealed class WindowDialogService : IDialogService
_missionControl.Activate(); // bring to front / focus
}
public void ShowDetachedMonitor(TaskMonitorViewModel monitor, Action onClosed)
{
var win = new TaskMonitorWindow { DataContext = monitor };
win.Closed += (_, _) => onClosed(); // closing re-docks into the grid
win.Show(); // modeless, independent
}
public Task<bool> ConfirmAsync(string message)
{
var tcs = new TaskCompletionSource<bool>();