import { useState } from "react"; import { Messages } from "src/components/Messages"; import { TaskControls } from "src/components/Survey/TaskControls"; import { TrackedTextarea } from "src/components/Survey/TrackedTextarea"; import { TwoColumnsWithCards } from "src/components/Survey/TwoColumnsWithCards"; import { TaskType } from "src/components/Tasks/TaskTypes"; export interface CreateTaskProps { // we need a task type // eslint-disable-next-line @typescript-eslint/no-explicit-any tasks: any[]; taskType: TaskType; trigger: (update: { id: string; update_type: string; content: { text: string } }) => void; onSkipTask: (task: { id: string }, reason: string) => void; onNextTask: () => void; mainBgClasses: string; } export const CreateTask = ({ tasks, taskType, trigger, onSkipTask, onNextTask, mainBgClasses }: CreateTaskProps) => { const task = tasks[0].task; const valid_labels = tasks[0].valid_labels; const [inputText, setInputText] = useState(""); const submitResponse = (task: { id: string }) => { const text = inputText.trim(); trigger({ id: task.id, update_type: "text_reply_to_message", content: { text, }, }); }; const textChangeHandler = (event: React.ChangeEvent) => { setInputText(event.target.value); }; return (
<>
{taskType.label}

{taskType.overview}

{task.conversation ? ( ) : null} <>
{taskType.instruction}
{ setInputText(""); onSkipTask(task, reason); }} onNextTask={onNextTask} />
); };