import { useMemo } from "react"; import { useTranslation } from "react-i18next"; import CircleIcon from "#/icons/u-circle.svg?react"; import CheckCircleIcon from "#/icons/u-check-circle.svg?react"; import CheckCircleHalfIcon from "#/icons/u-check-circle-half.svg?react"; import { I18nKey } from "#/i18n/declaration"; import { cn } from "#/utils/utils"; import { Typography } from "#/ui/typography"; interface TaskItemProps { task: { id: string; title: string; status: "todo" | "in_progress" | "done"; notes?: string; }; } export function TaskItem({ task }: TaskItemProps) { const { t } = useTranslation("openhands"); const icon = useMemo(() => { switch (task.status) { case "todo": return ; case "in_progress": return ; case "done": return ; default: return ; } }, [task.status]); const isDoneStatus = task.status === "done"; return (
{icon}
{task.title} {task.notes && ( {t(I18nKey.TASK_TRACKING_OBSERVATION$TASK_NOTES)}: {task.notes} )}
); }