diff --git a/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs b/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs index 1455bf0..0b877d3 100644 --- a/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/Islands/TasksIslandViewModel.cs @@ -408,20 +408,15 @@ public sealed partial class TasksIslandViewModel : ViewModelBase, IDisposable if (string.IsNullOrWhiteSpace(NewTaskTitle) || _currentList?.Kind != ListKind.User) return; var listId = _currentList.Id["user:".Length..]; await using var db = await _dbFactory.CreateDbContextAsync(); - var maxSort = await db.Tasks - .Where(t => t.ListId == listId) - .Select(t => (int?)t.SortOrder) - .MaxAsync(); var entity = new TaskEntity { Id = Guid.NewGuid().ToString("N"), ListId = listId, Title = NewTaskTitle.Trim(), + Status = TaskStatus.Idle, CreatedAt = DateTime.UtcNow, - SortOrder = (maxSort ?? -1) + 1, }; - db.Tasks.Add(entity); - await db.SaveChangesAsync(); + await new TaskRepository(db).AddAsync(entity); var row = TaskRowViewModel.FromEntity(entity); row.ShowListChip = _currentList?.Kind == ListKind.Virtual; Items.Add(row);