* tasks

* task input

* fixed jazz things

* create new task ui

* feat: simple feature flag

---------

Co-authored-by: marshennikovaolga <marshennikova@gmail.com>
Co-authored-by: Aslam H <iupin5212@gmail.com>
This commit is contained in:
Nikita
2024-09-27 20:55:03 +03:00
committed by GitHub
parent 223a4524ab
commit 34d69be960
13 changed files with 533 additions and 142 deletions

View File

@@ -0,0 +1,26 @@
import { Task } from "@/lib/schema/tasks"
import { Checkbox } from "@/components/ui/checkbox"
import { format } from "date-fns"
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" })
}
const formattedDate = format(new Date(task.createdAt), "EEE, MMMM do, yyyy")
return (
<li className="bg-result transitiion-opacity flex items-center justify-between rounded-lg p-2 px-3 hover:opacity-60">
<div className="flex flex-row items-center gap-3">
<Checkbox checked={task.status === "done"} onCheckedChange={statusChange} />
<p className={task.status === "done" ? "text-foreground line-through" : ""}>{task.title}</p>
</div>
<span className="text-muted-foreground text-xs">{formattedDate}</span>
</li>
)
}