feat(ui): drag a task into Mission Control to queue it

This commit is contained in:
Mika Kuns
2026-06-26 16:11:51 +02:00
parent 9eb54a0d2f
commit 3b629c218f
5 changed files with 65 additions and 6 deletions
@@ -95,6 +95,26 @@ public sealed partial class MissionControlViewModel : ViewModelBase, IDisposable
catch { /* best-effort queue refresh */ }
}
// Drop-to-queue: a task dragged from the main app onto Mission Control gets queued.
public async System.Threading.Tasks.Task EnqueueTaskAsync(string taskId)
{
if (string.IsNullOrEmpty(taskId)) return;
try
{
await using var db = await _dbFactory.CreateDbContextAsync();
var entity = await db.Tasks.FirstOrDefaultAsync(t => t.Id == taskId);
if (entity is null
|| entity.Status == ClaudeDo.Data.Models.TaskStatus.Running
|| entity.Status == ClaudeDo.Data.Models.TaskStatus.Queued)
return;
entity.Status = ClaudeDo.Data.Models.TaskStatus.Queued;
await db.SaveChangesAsync();
await _worker.WakeQueueAsync();
}
catch { /* best-effort enqueue */ }
await RefreshQueueAsync();
}
private void SeedActive()
{
foreach (var a in _worker.GetActiveTasks())