'use client' import { AlertDialog, AlertDialogActions, AlertDialogCancelButton, AlertDialogConfirmButton, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, } from '@langgenius/dify-ui/alert-dialog' import { toast } from '@langgenius/dify-ui/toast' import { useMutation } from '@tanstack/react-query' import { useAtom, useAtomValue, useSetAtom } from 'jotai' import { useTranslation } from 'react-i18next' import { useRouter } from '@/next/navigation' import { consoleQuery } from '@/service/client' import { deleteDeploymentDialogOpenAtom, deploymentActionAppInstanceAtom, } from './state' function DeleteDeploymentDialogContent() { const { t } = useTranslation('deployments') const router = useRouter() const appInstance = useAtomValue(deploymentActionAppInstanceAtom) const setOpen = useSetAtom(deleteDeploymentDialogOpenAtom) const deleteInstance = useMutation(consoleQuery.enterprise.appInstanceService.deleteAppInstance.mutationOptions()) const displayName = appInstance.displayName || appInstance.id function handleDelete() { deleteInstance.mutate( { params: { appInstanceId: appInstance.id, }, }, { onSuccess: () => { toast.success(t('settings.deleted')) router.push('/deployments') }, onError: () => { toast.error(t('settings.deleteFailed')) }, onSettled: () => { setOpen(false) }, }, ) } return ( <>
{t('settings.deleteConfirmTitle')} {t('settings.deleteConfirmDesc', { name: displayName })}
{t('createModal.cancel')} {t('settings.delete')} ) } export function DeleteDeploymentDialog() { const [open, setOpen] = useAtom(deleteDeploymentDialogOpenAtom) return ( ) }