import { EllipsisVertical, Trash } from "lucide-react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "../ui/dropdown-menu"; import { Button } from "../ui/button"; import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "../ui/alert-dialog"; import { useState, useEffect } from "react"; import { useFetcher, useNavigate } from "@remix-run/react"; interface LogOptionsProps { id: string; } export const LogOptions = ({ id }: LogOptionsProps) => { const [deleteDialogOpen, setDeleteDialogOpen] = useState(false); const deleteFetcher = useFetcher<{ success: boolean }>(); const navigate = useNavigate(); const handleDelete = () => { deleteFetcher.submit( { id }, { method: "DELETE", action: "/api/v1/ingestion_queue/delete", encType: "application/json", }, ); setDeleteDialogOpen(false); }; useEffect(() => { console.log(deleteFetcher.state, deleteFetcher.data); if (deleteFetcher.state === "idle" && deleteFetcher.data?.success) { navigate(`/home/inbox`); } }, [deleteFetcher.state, deleteFetcher.data]); return ( <> { e.stopPropagation(); }} > { setDeleteDialogOpen(true); }} > Delete Episode Are you sure you want to delete this episode? This action cannot be undone. Cancel Continue ); };