import { ConfirmDeleteDialog, ConfirmDeleteDialogNode, } from '@/components/confirm-delete-dialog'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { useDeleteAgent } from '@/hooks/use-agent-request'; import { IFlow } from '@/interfaces/database/agent'; import { PenLine, Trash2 } from 'lucide-react'; import { MouseEventHandler, PropsWithChildren, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { useRenameAgent } from './use-rename-agent'; export function AgentDropdown({ children, showAgentRenameModal, agent: agent, }: PropsWithChildren & Pick, 'showAgentRenameModal'> & { agent: IFlow; }) { const { t } = useTranslation(); const { deleteAgent } = useDeleteAgent(); const handleShowAgentRenameModal: MouseEventHandler = useCallback( (e) => { e.stopPropagation(); showAgentRenameModal(agent); }, [agent, showAgentRenameModal], ); const handleDelete: MouseEventHandler = useCallback(() => { deleteAgent([agent.id]); }, [agent.id, deleteAgent]); return ( {children} {t('common.rename')} ), }} > { e.preventDefault(); }} onClick={(e) => { e.stopPropagation(); }} > {t('common.delete')} ); }