From f277e2da0f5a2c69bc843a85d01b6ac9f3b12c8d Mon Sep 17 00:00:00 2001 From: Adrian Cowan Date: Fri, 6 Jan 2023 20:35:33 +1100 Subject: [PATCH] Prompt for reason for skipping. Note: skipping is only half implemented for labelling and summarisation tasks as those probably need to be changed to use the new Task component. --- website/src/components/Buttons/Skip.tsx | 64 +++++++++++++++++-- .../src/components/Survey/TaskControls.tsx | 11 +++- website/src/components/Tasks/CreateTask.tsx | 29 +++++++-- website/src/components/Tasks/EvaluateTask.tsx | 22 +++++-- website/src/components/Tasks/Task.tsx | 28 +++++++- website/src/components/Tasks/TaskTypes.tsx | 12 +++- website/src/lib/oasst_api_client.ts | 6 ++ website/src/pages/api/new_task/[task_type].ts | 3 - website/src/pages/api/reject_task.ts | 29 +++++++++ website/src/pages/api/update_task.ts | 21 ++++-- website/src/pages/create/summarize_story.tsx | 7 +- website/src/pages/evaluate/rate_summary.tsx | 7 +- .../src/pages/label/label_assistant_reply.tsx | 3 +- .../src/pages/label/label_initial_prompt.tsx | 3 +- .../src/pages/label/label_prompter_reply.tsx | 3 +- 15 files changed, 210 insertions(+), 38 deletions(-) create mode 100644 website/src/pages/api/reject_task.ts diff --git a/website/src/components/Buttons/Skip.tsx b/website/src/components/Buttons/Skip.tsx index 74ca0926..8440e348 100644 --- a/website/src/components/Buttons/Skip.tsx +++ b/website/src/components/Buttons/Skip.tsx @@ -1,9 +1,63 @@ -import { Button, ButtonProps } from "@chakra-ui/react"; +import { + Button, + ButtonProps, + Menu, + MenuButton, + MenuItem, + MenuList, + Modal, + ModalBody, + ModalCloseButton, + ModalContent, + ModalFooter, + ModalHeader, + ModalOverlay, + Textarea, + useDisclosure, +} from "@chakra-ui/react"; +import { useState } from "react"; +import { FaChevronDown } from "react-icons/fa"; + +interface SkipButtonProps extends ButtonProps { + onSkip: (reason: string) => void; +} + +export const SkipButton = ({ onSkip, ...props }: SkipButtonProps) => { + const { isOpen, onOpen: showModal, onClose: closeModal } = useDisclosure(); + const [value, setValue] = useState(""); + + const onSubmit = () => { + onSkip(value); + setValue(""); + closeModal(); + }; -export const SkipButton = ({ children, ...props }: ButtonProps) => { return ( - + <> + + + + + Skip + + +