import { getClient } from "@/api/AxiosClient"; import { useCredentialGetter } from "@/hooks/useCredentialGetter"; import { useQuery } from "@tanstack/react-query"; import { useLocation, useParams } from "react-router-dom"; import { getSampleForInitialFormValues } from "../data/sampleTaskData"; import { SampleCase, sampleCases } from "../types"; import { CreateNewTaskForm } from "./CreateNewTaskForm"; import { SavedTaskForm } from "./SavedTaskForm"; import { TaskGenerationApiResponse } from "@/api/types"; import { Skeleton } from "@/components/ui/skeleton"; import { WorkflowParameter } from "@/routes/workflows/types/workflowTypes"; function CreateNewTaskFormPage() { const { template } = useParams(); const credentialGetter = useCredentialGetter(); const location = useLocation(); const { data, isFetching } = useQuery({ queryKey: ["savedTasks", template], queryFn: async () => { const client = await getClient(credentialGetter); return client .get(`/workflows/${template}`) .then((response) => response.data); }, enabled: !!template && !sampleCases.includes(template as SampleCase), refetchOnWindowFocus: false, staleTime: Infinity, }); if (!template) { return
Invalid template
; } if (template === "from-prompt") { const data = location.state?.data as TaskGenerationApiResponse; if (!data.url) { return
Something went wrong, please try again
; // this should never happen } return (

Create New Task

); } if (sampleCases.includes(template as SampleCase)) { return (

Create New Task

); } if (isFetching) { return (

Edit Task Template

); } const navigationPayload = data.workflow_definition.parameters.find( (parameter: WorkflowParameter) => parameter.key === "navigation_payload", ).default_value; const dataSchema = data.workflow_definition.blocks[0].data_schema; const errorCodeMapping = data.workflow_definition.blocks[0].error_code_mapping; const maxStepsOverride = data.workflow_definition.blocks[0].max_steps_per_run; return (

Edit Task Template

); } export { CreateNewTaskFormPage };