import type { FC } from 'react' import type { ApiBasedExtension } from '@/models/common' import { AlertDialog, AlertDialogActions, AlertDialogCancelButton, AlertDialogConfirmButton, AlertDialogContent, AlertDialogTitle, } from '@langgenius/dify-ui/alert-dialog' import { Button } from '@langgenius/dify-ui/button' import { RiDeleteBinLine, RiEditLine, } from '@remixicon/react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import { useModalContext } from '@/context/modal-context' import { deleteApiBasedExtension } from '@/service/common' type ItemProps = { data: ApiBasedExtension onUpdate: () => void } const Item: FC = ({ data, onUpdate, }) => { const { t } = useTranslation() const { setShowApiBasedExtensionModal } = useModalContext() const [showDeleteConfirm, setShowDeleteConfirm] = useState(false) const handleOpenApiBasedExtensionModal = () => { setShowApiBasedExtensionModal({ payload: data, onSaveCallback: () => onUpdate(), }) } const handleDeleteApiBasedExtension = async () => { await deleteApiBasedExtension(`/api-based-extension/${data.id}`) setShowDeleteConfirm(false) onUpdate() } return (
{data.name}
{data.api_endpoint}
!open && setShowDeleteConfirm(false)}>
{`${t('operation.delete', { ns: 'common' })} \u201C${data.name}\u201D?`}
{t('operation.cancel', { ns: 'common' })} {t('operation.delete', { ns: 'common' }) || ''}
) } export default Item