diff --git a/website/src/components/Tasks/CreateTask.tsx b/website/src/components/Tasks/CreateTask.tsx index b66eebb0..0bc3c7de 100644 --- a/website/src/components/Tasks/CreateTask.tsx +++ b/website/src/components/Tasks/CreateTask.tsx @@ -11,11 +11,16 @@ export const CreateTask = ({ task, taskType, onReplyChanged }: TaskSurveyProps<{ const labelColor = useColorModeValue("gray.600", "gray.400"); const [inputText, setInputText] = useState(""); - const textChangeHandler = (event: React.ChangeEvent) => { const text = event.target.value; - onReplyChanged({ content: { text }, state: "VALID" }); - setInputText(text); + const isTextBlank = (!text || /^\s*$/.test(text))?true:false; + if(!isTextBlank){ + onReplyChanged({ content: { text }, state: "VALID" }); + setInputText(text); + }else{ + onReplyChanged({content: { text }, state: "INVALID"}); + setInputText(""); + } }; return ( diff --git a/website/src/components/Tasks/Task.tsx b/website/src/components/Tasks/Task.tsx index 1ccef66c..f5bac231 100644 --- a/website/src/components/Tasks/Task.tsx +++ b/website/src/components/Tasks/Task.tsx @@ -50,7 +50,10 @@ export const Task = ({ frontendId, task, trigger, mutate }) => { if (taskStatus !== "DEFAULT") setTaskStatus("DEFAULT"); } else if (state.state === "VALID") { if (taskStatus !== "SUBMITABLE") setTaskStatus("SUBMITABLE"); + } else if (state.state == "INVALID") { + setTaskStatus("NOT_SUBMITTABLE"); } + console.log(taskStatus); }).current; const submitResponse = () => { @@ -94,6 +97,7 @@ export const Task = ({ frontendId, task, trigger, mutate }) => { onSubmit={submitResponse} onSkip={rejectTask} onNextTask={mutate} + key={taskStatus} /> { content: T; state: "DEFAULT"; } +export interface TaskReplyInValid { + content: T; + state: "INVALID"; +} -export type TaskReplyState = TaskReplyValid | TaskReplyDefault; +export type TaskReplyState = TaskReplyValid | TaskReplyDefault | TaskReplyInValid;