diff --git a/website/src/components/TaskPage/TaskPage.tsx b/website/src/components/TaskPage/TaskPage.tsx index 8b3577f5..77b1bfe9 100644 --- a/website/src/components/TaskPage/TaskPage.tsx +++ b/website/src/components/TaskPage/TaskPage.tsx @@ -19,27 +19,35 @@ export const TaskPage = ({ type }: TaskPageProps) => { const { response, isLoading, completeTask, skipTask } = taskApiHook(type); const taskInfo = TaskInfos.find((taskType) => taskType.type === type); - switch (response.status) { + let body; + switch (response.taskAvailability) { case "AWAITING_INITIAL": - return ; + body = ; + break; case "NONE_AVAILABLE": - return ; + body = ; + break; case "AVAILABLE": - return ( - <> - - {t(getTypeSafei18nKey(`${taskInfo.id}.label`))} - - - - + body = ( + ); + break; } + + return ( + <> + + {t(getTypeSafei18nKey(`${taskInfo.id}.label`))} + + + {body} + + ); }; diff --git a/website/src/hooks/tasks/useGenericTaskAPI.tsx b/website/src/hooks/tasks/useGenericTaskAPI.tsx index a58583c1..1dc12f81 100644 --- a/website/src/hooks/tasks/useGenericTaskAPI.tsx +++ b/website/src/hooks/tasks/useGenericTaskAPI.tsx @@ -6,7 +6,7 @@ import useSWRImmutable from "swr/immutable"; import useSWRMutation from "swr/mutation"; export const useGenericTaskAPI = (taskType: TaskTypeEnum): TaskApiHook => { - const [response, setReponse] = useState>({ status: "AWAITING_INITIAL" }); + const [response, setReponse] = useState>({ taskAvailability: "AWAITING_INITIAL" }); const [isLoading, setIsLoading] = useState(true); const { mutate: requestNewTask } = useSWRImmutable>( @@ -15,12 +15,12 @@ export const useGenericTaskAPI = (taskType: TaskTypeE { onSuccess: (response) => { setIsLoading(false); - setReponse({ status: "AVAILABLE", ...response }); + setReponse({ taskAvailability: "AVAILABLE", ...response }); }, onError: () => { // We could check for code 503 here for truely unavailable, but we need to do something with other errors anyway. setIsLoading(false); - setReponse({ status: "NONE_AVAILABLE" }); + setReponse({ taskAvailability: "NONE_AVAILABLE" }); }, revalidateOnMount: true, dedupingInterval: 500, @@ -35,7 +35,7 @@ export const useGenericTaskAPI = (taskType: TaskTypeE onError: () => { // We could check for code 503 here for truely unavailable, but we need to do something with other errors anyway. setIsLoading(false); - setReponse({ status: "NONE_AVAILABLE" }); + setReponse({ taskAvailability: "NONE_AVAILABLE" }); }, }); diff --git a/website/src/pages/api/new_task/[task_type].ts b/website/src/pages/api/new_task/[task_type].ts index 6b405c7e..08c0e42b 100644 --- a/website/src/pages/api/new_task/[task_type].ts +++ b/website/src/pages/api/new_task/[task_type].ts @@ -26,7 +26,6 @@ const handler = withoutRole("banned", async (req, res, token) => { } catch (err) { if (err instanceof OasstError && err.errorCode === ERROR_CODES.TASK_REQUESTED_TYPE_NOT_AVAILABLE) { res.status(503).json({}); - return; } else { console.error(err); res.status(500).json(err); diff --git a/website/src/types/Task.ts b/website/src/types/Task.ts index 4f8571d8..5e2abf16 100644 --- a/website/src/types/Task.ts +++ b/website/src/types/Task.ts @@ -36,15 +36,15 @@ export interface TaskAvailableResponse { } interface TaskAvailable extends TaskAvailableResponse { - status: "AVAILABLE"; + taskAvailability: "AVAILABLE"; } interface AwaitingInitialTask { - status: "AWAITING_INITIAL"; + taskAvailability: "AWAITING_INITIAL"; } interface NoTaskAvailable { - status: "NONE_AVAILABLE"; + taskAvailability: "NONE_AVAILABLE"; } export type TaskResponse = TaskAvailable | AwaitingInitialTask | NoTaskAvailable;