import React, { useCallback } from 'react'; import { Trash2 } from 'lucide-react'; import { useDeletePrompt } from '~/data-provider'; import { Button, OGDialog, OGDialogTrigger, Label, OGDialogTemplate } from '@librechat/client'; import { useLocalize } from '~/hooks'; const DeleteConfirmDialog = ({ name, disabled, selectHandler, }: { name: string; disabled?: boolean; selectHandler: () => void; }) => { const localize = useLocalize(); return ( { e.stopPropagation(); }} > {localize('com_ui_delete_confirm_prompt_version_var', { 0: name })} > } selection={{ selectHandler, selectClasses: 'bg-surface-destructive hover:bg-surface-destructive-hover transition-colors duration-200 text-white', selectText: localize('com_ui_delete'), }} /> ); }; interface DeletePromptProps { promptId?: string; groupId: string; promptName: string; disabled: boolean; } const DeletePrompt = React.memo( ({ promptId, groupId, promptName, disabled }: DeletePromptProps) => { const deletePromptMutation = useDeletePrompt(); const handleDelete = useCallback(() => { if (!promptId) { console.warn('No prompt ID provided for deletion'); return; } deletePromptMutation.mutate({ _id: promptId, groupId, }); }, [promptId, groupId, deletePromptMutation]); if (!promptId) { return null; } return ( ); }, ); DeletePrompt.displayName = 'DeletePrompt'; export default DeletePrompt;