delete-confirm-modal.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import React, { type FC } from 'react'
  2. import Modal from '@/app/components/base/modal'
  3. import type { VersionHistory } from '@/types/workflow'
  4. import { useTranslation } from 'react-i18next'
  5. import Button from '@/app/components/base/button'
  6. type DeleteConfirmModalProps = {
  7. isOpen: boolean
  8. versionInfo: VersionHistory
  9. onClose: () => void
  10. onDelete: (id: string) => void
  11. }
  12. const DeleteConfirmModal: FC<DeleteConfirmModalProps> = ({
  13. isOpen,
  14. versionInfo,
  15. onClose,
  16. onDelete,
  17. }) => {
  18. const { t } = useTranslation()
  19. return <Modal className='p-0' isShow={isOpen} onClose={onClose}>
  20. <div className='flex flex-col gap-y-2 p-6 pb-4 '>
  21. <div className='text-text-primary title-2xl-semi-bold'>
  22. {`${t('common.operation.delete')} ${versionInfo.marked_name || t('workflow.versionHistory.defaultName')}`}
  23. </div>
  24. <p className='text-text-secondary system-md-regular'>
  25. {t('workflow.versionHistory.deletionTip')}
  26. </p>
  27. </div>
  28. <div className='flex items-center justify-end gap-x-2 p-6'>
  29. <Button onClick={onClose}>
  30. {t('common.operation.cancel')}
  31. </Button>
  32. <Button variant='warning' onClick={onDelete.bind(null, versionInfo.id)}>
  33. {t('common.operation.delete')}
  34. </Button>
  35. </div>
  36. </Modal>
  37. }
  38. export default DeleteConfirmModal