import { Label } from "@repo/shadcn-ui/components/label"; import { SelectWithAction } from "@repo/shadcn-ui/components/select-with-action"; import { Textarea } from "@repo/shadcn-ui/components/textarea"; import { useId } from "react"; import type { UseFormReturn } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { type PersonProcessDTO, ProcessValuesSchema, type UpdateProcessInput, } from "../../common/processes"; import { processTaskTitle } from "./process-labels"; export function ProcessTaskField({ index, task, form, }: { index: number; task: PersonProcessDTO["values"]["tasks"][number]; form: UseFormReturn; }) { const { t } = useTranslation("companies"); const prefix = useId(); const value = form.watch(`tasks.${index}.status`); return (
{ const parsed = ProcessValuesSchema.shape.tasks.element.shape.status.safeParse(value); if (parsed.success) { form.setValue(`tasks.${index}.status`, parsed.data); } }} options={["pending", "done", "not_applicable"].map((value) => ({ value, label: t(`processes.${value}`), }))} placeholder={t("mail.choose")} value={value} />
{t("processes.taskNotes")}