From 335218ba2257017c93e4232c1c251cbd70c0af28 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sat, 14 Jan 2023 09:12:34 +0100 Subject: [PATCH] Fix full labeling task display --- website/src/components/FlaggableElement.tsx | 2 +- .../src/components/Messages/MessageTable.tsx | 2 +- .../components/Messages/MessageTableEntry.tsx | 19 +++++++++---------- .../components/Survey/LabelSliderGroup.tsx | 10 ++++++---- website/src/components/Tasks/LabelTask.tsx | 6 +++--- website/src/pages/api/new_task/[task_type].ts | 9 ++++++++- website/src/types/Tasks.ts | 18 +++++++++++------- 7 files changed, 39 insertions(+), 27 deletions(-) diff --git a/website/src/components/FlaggableElement.tsx b/website/src/components/FlaggableElement.tsx index f98ca171..05b0b923 100644 --- a/website/src/components/FlaggableElement.tsx +++ b/website/src/components/FlaggableElement.tsx @@ -146,7 +146,7 @@ export const FlaggableElement = (props: FlaggableElementProps) => { isLazy lazyBehavior="keepMounted" > - + {props.children}
diff --git a/website/src/components/Messages/MessageTable.tsx b/website/src/components/Messages/MessageTable.tsx index d82583f6..45a13d2f 100644 --- a/website/src/components/Messages/MessageTable.tsx +++ b/website/src/components/Messages/MessageTable.tsx @@ -11,7 +11,7 @@ export function MessageTable({ messages, enableLink }: MessageTableProps) { return ( {messages.map((item) => ( - + ))} ); diff --git a/website/src/components/Messages/MessageTableEntry.tsx b/website/src/components/Messages/MessageTableEntry.tsx index 64bb332f..22fee71c 100644 --- a/website/src/components/Messages/MessageTableEntry.tsx +++ b/website/src/components/Messages/MessageTableEntry.tsx @@ -18,8 +18,8 @@ export function MessageTableEntry(props: MessageTableEntryProps) { const borderColor = useColorModeValue("blackAlpha.200", "whiteAlpha.200"); return ( - - + + {item.text} @@ -39,13 +39,12 @@ export function MessageTableEntry(props: MessageTableEntryProps) { ) : ( - - - {item.text} - + + {item.text} )} diff --git a/website/src/components/Survey/LabelSliderGroup.tsx b/website/src/components/Survey/LabelSliderGroup.tsx index cf3a13cb..f65cfb80 100644 --- a/website/src/components/Survey/LabelSliderGroup.tsx +++ b/website/src/components/Survey/LabelSliderGroup.tsx @@ -1,4 +1,4 @@ -import { Box, Grid, Slider, SliderFilledTrack, SliderThumb, SliderTrack, useColorMode } from "@chakra-ui/react"; +import { Grid, Slider, SliderFilledTrack, SliderThumb, SliderTrack, useColorMode } from "@chakra-ui/react"; import { useId, useState } from "react"; import { colors } from "styles/Theme/colors"; @@ -13,7 +13,7 @@ export const LabelSliderGroup = ({ labelIDs, onChange, isEditable }: LabelSlider const [sliderValues, setSliderValues] = useState(Array.from({ length: labelIDs.length }).map(() => 0)); return ( - + {labelIDs.map((labelId, idx) => ( + <> - + ); } diff --git a/website/src/components/Tasks/LabelTask.tsx b/website/src/components/Tasks/LabelTask.tsx index b5b00cc4..758ee127 100644 --- a/website/src/components/Tasks/LabelTask.tsx +++ b/website/src/components/Tasks/LabelTask.tsx @@ -14,13 +14,13 @@ export const LabelTask = ({ taskType, onReplyChanged, isEditable, -}: TaskSurveyProps<{ text: string; labels: { [k: string]: number }; message_id: string }>) => { +}: TaskSurveyProps<{ text: string; labels: Record; message_id: string }>) => { const valid_labels = task.valid_labels; const [sliderValues, setSliderValues] = useState(new Array(valid_labels.length).fill(0)); useEffect(() => { onReplyChanged({ content: { labels: {}, text: task.reply, message_id: task.message_id }, state: "DEFAULT" }); - }, [task.reply, task.message_id, onReplyChanged]); + }, [task, onReplyChanged]); const onSliderChange = (values: number[]) => { console.assert(valid_labels.length === sliderValues.length); @@ -51,7 +51,7 @@ export const LabelTask = ({ { // Fetch the new task. const { task_type } = req.query; - const task = await oasstApiClient.fetchTask(task_type as string, token); + + let task; + try { + task = await oasstApiClient.fetchTask(task_type as string, token); + } catch (err) { + console.error(err); + res.status(500).json(err); + } // Store the task and link it to the user.. const registeredTask = await prisma.registeredTask.create({ diff --git a/website/src/types/Tasks.ts b/website/src/types/Tasks.ts index 50c251bb..a791916e 100644 --- a/website/src/types/Tasks.ts +++ b/website/src/types/Tasks.ts @@ -39,13 +39,8 @@ export interface LabelAssistantReplyTask extends BaseTask { conversation: Conversation; reply: string; valid_labels: string[]; -} - -export interface LabelInitialPromptTask extends BaseTask { - type: TaskType.label_initial_prompt; - message_id: string; - valid_labels: string[]; - prompt: string; + mode: "simple" | "full"; + mandatory_labels?: string[]; } export interface LabelPrompterReplyTask extends BaseTask { @@ -54,4 +49,13 @@ export interface LabelPrompterReplyTask extends BaseTask { conversation: Conversation; reply: string; valid_labels: string[]; + mode: "simple" | "full"; + mandatory_labels?: string[]; +} + +export interface LabelInitialPromptTask extends BaseTask { + type: TaskType.label_initial_prompt; + message_id: string; + valid_labels: string[]; + prompt: string; }