Files
linsa-linsa-io/web/components/routes/task/TaskItem.tsx
marshennikovaolga 9aaac1cdfb tasks
2024-09-11 14:04:11 +03:00

22 lines
670 B
TypeScript

import React from "react"
import { Task } from "@/lib/schema/tasks"
import { Checkbox } from "@/components/ui/checkbox"
interface TaskItemProps {
task: Task
onUpdateTask: (taskId: string, updates: Partial<Task>) => void
}
export const TaskItem: React.FC<TaskItemProps> = ({ task, onUpdateTask }) => {
const statusChange = (checked: boolean) => {
onUpdateTask(task.id, { status: checked ? "done" : "todo" })
}
return (
<li className="flex items-center space-x-2">
<Checkbox checked={task.status === "done"} onCheckedChange={statusChange} />
<span className={task.status === "done" ? "text-foreground line-through" : ""}>{task.title}</span>
</li>
)
}