using ClaudeDo.Data.Models;
using TaskStatus = ClaudeDo.Data.Models.TaskStatus;

namespace ClaudeDo.Data.Filtering.Filters;

public sealed class PlannedFilter : ITaskListFilter
{
    public string Id => "smart:planned";
    public bool Matches(TaskEntity t) => t.ScheduledFor != null;
    public bool ShouldCount(TaskEntity t) => t.ScheduledFor != null && t.Status != TaskStatus.Done;
    public bool MatchesAsContext(TaskEntity t, IReadOnlyList<TaskEntity> all) => false;
}
