Use hooks for "create" tasks

This commit is contained in:
AbdBarho
2023-01-08 19:19:52 +01:00
parent bbee761c90
commit ad91bfe201
6 changed files with 50 additions and 91 deletions
@@ -0,0 +1,9 @@
import { useGenericTaskAPI } from "../useGenericTaskAPI";
interface CreateInitialPromptTask {
id: string;
type: "initial_prompt";
hint: string;
}
export const useCreateInitialPrompt = () => useGenericTaskAPI<CreateInitialPromptTask>("initial_prompt");
@@ -0,0 +1,24 @@
import { useGenericTaskAPI } from "../useGenericTaskAPI";
interface BaseCreateReplyTask {
id: string;
conversation: {
messages: Array<{
text: string;
is_assistant: boolean;
message_id: string;
}>;
};
}
export interface CreateAssistantReplyTask extends BaseCreateReplyTask {
type: "assistant_reply";
}
export interface CreatePrompterReplyTask extends BaseCreateReplyTask {
type: "prompter_reply";
}
export const useCreateAssistantReply = () => useGenericTaskAPI<CreateAssistantReplyTask>("assistant_reply");
export const useCreatePrompterReply = () => useGenericTaskAPI<CreatePrompterReplyTask>("prompter_reply");
@@ -17,7 +17,7 @@ export const useGenericTaskAPI = <TaskType,>(taskApiEndpoint: string) => {
const [tasks, setTasks] = useState<ConcreteTaskResponse[]>([]);
const { isLoading, mutate, error } = useSWRImmutable<ConcreteTaskResponse>(
const { data, isLoading, mutate, error } = useSWRImmutable<ConcreteTaskResponse>(
"/api/new_task/" + taskApiEndpoint,
fetcher,
{
@@ -26,10 +26,10 @@ export const useGenericTaskAPI = <TaskType,>(taskApiEndpoint: string) => {
);
useEffect(() => {
if (tasks.length === 0 && !isLoading && !error) {
if (data === undefined && !isLoading && !error) {
mutate();
}
}, [tasks, isLoading, mutate, error]);
}, [data, isLoading, mutate, error]);
const { trigger } = useSWRMutation("/api/update_task", poster, {
onSuccess: async (response) => {