import { getClient } from "@/api/AxiosClient";
import { ObserverTask } from "@/api/types";
import { Button } from "@/components/ui/button";
import { toast } from "@/components/ui/use-toast";
import { useCredentialGetter } from "@/hooks/useCredentialGetter";
import { ReloadIcon } from "@radix-ui/react-icons";
import { ToastAction } from "@radix-ui/react-toast";
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { AxiosError } from "axios";
import { Link, useNavigate } from "react-router-dom";
type Props = {
exampleId: string;
version: "v1" | "v2";
icon: React.ReactNode;
label: string;
prompt: string;
};
function ExampleCasePill({ exampleId, version, icon, label, prompt }: Props) {
const credentialGetter = useCredentialGetter();
const queryClient = useQueryClient();
const navigate = useNavigate();
const startObserverCruiseMutation = useMutation({
mutationFn: async (prompt: string) => {
const client = await getClient(credentialGetter, "v2");
return client.post<{ user_prompt: string }, { data: ObserverTask }>(
"/tasks",
{ user_prompt: prompt },
);
},
onSuccess: (response) => {
toast({
variant: "success",
title: "Workflow Run Created",
description: `Workflow run created successfully.`,
action: (