feat(agents): Add task assignment and comments functionality

This commit is contained in:
Abhimanyu Saharan
2026-02-04 18:13:17 +05:30
parent 8078580996
commit 7892dfad7c
9 changed files with 1882 additions and 6 deletions

View File

@@ -8,11 +8,29 @@ interface TaskCardProps {
status: string;
assignee?: string;
due?: string;
onClick?: () => void;
}
export function TaskCard({ title, status, assignee, due }: TaskCardProps) {
export function TaskCard({
title,
status,
assignee,
due,
onClick,
}: TaskCardProps) {
return (
<Card className="border border-[color:var(--border)] bg-[color:var(--surface)]">
<Card
className="cursor-pointer border border-[color:var(--border)] bg-[color:var(--surface)] transition hover:border-[color:var(--border-strong)]"
onClick={onClick}
role="button"
tabIndex={0}
onKeyDown={(event) => {
if (event.key === "Enter" || event.key === " ") {
event.preventDefault();
onClick?.();
}
}}
>
<CardContent className="space-y-4">
<div className="flex items-start justify-between gap-3">
<div className="space-y-2">

View File

@@ -10,12 +10,14 @@ type Task = {
title: string;
status: string;
due_at?: string | null;
assignee?: string;
};
type TaskBoardProps = {
tasks: Task[];
onCreateTask: () => void;
isCreateDisabled?: boolean;
onTaskSelect?: (task: Task) => void;
};
const columns = [
@@ -41,6 +43,7 @@ export function TaskBoard({
tasks,
onCreateTask,
isCreateDisabled = false,
onTaskSelect,
}: TaskBoardProps) {
const grouped = useMemo(() => {
const buckets: Record<string, Task[]> = {};
@@ -85,7 +88,9 @@ export function TaskBoard({
key={task.id}
title={task.title}
status={column.status}
assignee={task.assignee}
due={formatDueDate(task.due_at)}
onClick={() => onTaskSelect?.(task)}
/>
))}
</div>